Salut,
J'ai besoin de quelqu'un qui peut m'aider à optimiser ce code qui est trop lent...
Dim mat As Range
Dim types As Range
Set mat = Range("AE2041:AE100000")
Set types = Range("AF2041:AF100000")
Dim mat_ag, mat_ah, mat_ai, mat_aj, mat_ak, mat_al As Range
Dim typ_ag, typ_ah, typ_ai, typ_aj, typ_ak, typ_al As Range
Set mat_ag = Target.Offset(0, 2)
Set mat_ah = Target.Offset(0, 3)
Set mat_ai = Target.Offset(0, 4)
Set mat_aj = Target.Offset(0, 5)
Set mat_ak = Target.Offset(0, 6)
Set mat_al = Target.Offset(0, 7)
Set typ_ag = Target.Offset(0, 1)
Set typ_ah = Target.Offset(0, 2)
Set typ_ai = Target.Offset(0, 3)
Set typ_aj = Target.Offset(0, 4)
Set typ_ak = Target.Offset(0, 5)
Set typ_al = Target.Offset(0, 6)
If Not Application.Intersect(Target, mat) Is Nothing Then ' MsgBox (Target.Address & " " & ag & " " & Target.Column)
mat_ag.ClearContents
mat_ah.ClearContents
mat_ai.ClearContents
mat_aj.ClearContents
mat_ak.ClearContents
mat_al.ClearContents
End If
If Not Application.Intersect(Target, types) Is Nothing Then
typ_ag.ClearContents
typ_ah.ClearContents
typ_ai.ClearContents
typ_aj.ClearContents
typ_ak.ClearContents
typ_al.ClearContents
End If
J'aimerais que le code -> efface (.ClearContents) de Target.Offset(0, 2) à Target.Offset(0, 7) en une seul fois.
J'ai fouillé un peu partout mais je n'ai pas trouvé.
Si quelqu'un peut m'aider svp.
Merci.