J'ai une instruction If qui s'exécute lors du changement d'une cellule. Cette partie fonctionne bien. Cependant, quand il exécute la macro, pour une raison quelconque, il ajoute environ 40 lignes supplémentaires. J'ai utilisé le point d'arrêt et j'ai découvert que les lignes sont ajoutées après le collage spécial. Quelqu'un peut-il me dire pourquoi?Exécution d'une macro sur le changement d'adresse cible
Merci d'avance.
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$AG$4" Then
Call CapEx_Copy_Paste_Delete
End If
End Sub
Sub CapEx_Copy_Paste_Delete()
'
' CapEx_Copy_Paste_Delete Macro
'
'
Rows("11:11").Select
Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
Range("B4:AG4").Select
Selection.Copy
Range("B11").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Range("AG4").Select
Selection.ClearContents
Range("B4:E4").Select
Selection.ClearContents
Range("H4:I4").Select
Selection.ClearContents
Range("L4:M4").Select
Selection.ClearContents
Range("P4:Q4").Select
Selection.ClearContents
Range("T4:U4").Select
Selection.ClearContents
Range("X4:Y4").Select
Selection.ClearContents
Range("Z4").Select
Selection.ClearContents
Range("AA4").Select
Selection.ClearContents
Range("AC4").Select
Selection.ClearContents
Range("AD4").Select
Selection.ClearContents
Range("B4").Select
End Sub
non apparentés , mais n'utilisez pas 'Select' pour ce genre de chose. Appelez 'Range (" AG4 "). ClearContents'. – jsheeran
Également sans rapport, mais vous pouvez combiner des plages telles que 'Range (" AG4 "," B4: E4 "," H4: I4 "). ClearContents' ect –
@TimWilkinson, je ne pouvais pas faire fonctionner ça ...' Wrong nombre d'arguments ou affectation de propriété non valide – CallumDA