Si je veux coller sans aucun formatage, je dois aller sur le bouton "Coller" du ruban et cliquer sur "Collage spécial", puis sur "texte non formaté".
Y a-t-il un raccourci comme Ctrl + V qui le fera automatiquement pour moi ?
Si je veux coller sans aucun formatage, je dois aller sur le bouton "Coller" du ruban et cliquer sur "Collage spécial", puis sur "texte non formaté".
Y a-t-il un raccourci comme Ctrl + V qui le fera automatiquement pour moi ?
Pour coller à la fois des objets et du texte dans Excel, avec une option d'annulation, utilisez la méthode suivante
' Custom data type for undoing
Type SaveRange
Val As Variant
Addr As String
End Type
' Stores info about current selection
Public OldWorkbook As Workbook
Public OldSheet As Worksheet
Public OldSelection() As SaveRange
'----------------------------------------------------------
Sub PasteValues()
' Set shortcut to Cntl+Shift+V, for example
' Works for Outlook and Chrome AND Excel
' Abort if a range isn't selected
If TypeName(Selection) <> "Range" Then Exit Sub
' The next block of statements
' save the current values for undoing
ReDim OldSelection(Selection.Count)
Set OldWorkbook = ActiveWorkbook
Set OldSheet = ActiveSheet
i = 0
For Each cell In Selection
i = i + 1
OldSelection(i).Addr = cell.Address
OldSelection(i).Val = cell.Formula
Next cell
' Start paste function
On Error GoTo ValuesFail
' Works for Excel and Outlook, but not Chrome
Selection.PasteSpecial Paste:=xlValues
' Specify the Undo Sub
Application.OnUndo "Undo the macro", "UndoMacro"
Exit Sub
ValuesFail:
On Error GoTo TextFail
' Works for Outlook and Chrome, but not Excel
ActiveSheet.PasteSpecial Format:="Text"
' Specify the Undo Sub
Application.OnUndo "Undo the macro", "UndoMacro"
Exit Sub
TextFail:
On Error GoTo PasteFail
ActiveSheet.Paste
' Specify the Undo Sub
Application.OnUndo "Undo the macro", "UndoMacro"
Exit Sub
PasteFail:
MsgBox "Complete Failure"
End Sub
'----------------------------------------------------------
Sub UndoMacro()
' Reinstates data in the selected range
' Tell user if a problem occurs
On Error GoTo Problem
Application.ScreenUpdating = False
' Make sure the correct workbook and sheet are active
OldWorkbook.Activate
OldSheet.Activate
' Restore the saved information
For i = 1 To UBound(OldSelection)
Range(OldSelection(i).Addr).Formula = OldSelection(i).Val
Next i
Exit Sub
' Error handler
Problem:
MsgBox "Can't undo macro"
End Sub
'----------------------------------------------------------
Sub RevertFile()
' From http://www.excelforum.com/showthread.php?t=491103
wkname = ActiveWorkbook.Path & "\" & ActiveWorkbook.Name
ActiveWorkbook.Close Savechanges:=False
Workbooks.Open Filename:=wkname
End Sub
SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.