Bonjour,
Les instructions "Select" sont à proscrire, étant parfaitement inutiles tant que les objets sur lesquels tu travailles sont systématiquement précisés. Par exemple :
Range("A3:T3").Select
Selection.AutoFilter
'S'écrit :
Range("A3:T3").AutoFilter
L'utilisation d'une instruction "With" est très utile, encore faudrait-il qu'elle soit utilisée (mettre un "." devant les objets en question) ! Cela t'évite de répéter un nom d'objet plusieurs fois, par exemple :
Worksheets("Feuil5").Range("A3:T3").Machin
Worksheets("Feuil5").Range("A3").Truc
Worksheets("Feuil5").Range("$A$3:$T$15").Bidule
'Devient :
With Worksheets("Feuil5")
.Range("A3:T3").Machin
.Range("A3").Truc
.Range("$A$3:$T$15").Bidule
End With
Next s'utilise principalement dans le cadre d'une structure en boucle, comme :
For i = Bidule To Machin
'Série d'instructions
Next i
Mais il ne doit apparaître qu'une seule fois par boucle, et pas au hasard de la progression dans le code. Si tu ne souhaites rien faire quand A4 est vide, il faut plutôt écrire :
If Not Range("A4") = "" Then
'Instructions
End If
Ou encore :
If Not IsEmpty(Range("A4")) Then
'Instructions
End If