Bonjour à tous,
J'ai créer un code avec autofilter pour 6 colonnes. Cependant le code s'exécute en 20 secondes !!
Sachant que l'opération va se répéter en moyenne 5 fois, ça nous fait quand même 1min40 d'attente !
J'aurais donc voulu savoir si mon code était bien taper ou s'il y avait des pistes d'améliorations ?
Voici le code :
With Sheets("Longueur Barre").Range("$A$1:$K$" & nbcode)
'Classe :
.AutoFilter field:=2, Criteria1:=Array("", Classe)
'Essence :
.AutoFilter field:=4, Criteria1:=Array("", Essence)
'Traitement :
.AutoFilter field:=5, Criteria1:=Array("", Traitement)
'Largeur :
.AutoFilter field:=6, Criteria1:=Array("", Largeur)
'Hauteur :
.AutoFilter field:=7, Criteria1:=Array("", Hauteur)
'Type de code :
If Sheets("Entrée").DropDowns("Zone combinée 2").Value = 2 Then
.AutoFilter field:=9, Criteria1:=Array("", "TAILLE")
Else
.AutoFilter field:=9, Criteria1:=Array("", "DEB")
End If
If LongueurBarre = 0 Then
Else
'Longueur :
MsgBox LongueurBarre
.AutoFilter field:=8, Criteria1:=Array("", Round(LongueurBarre, 1))
End If
End With
PS : ce code fait parti d'un code bien plus gros mais j'ai compter le temps entre deux MsgBox situé en début et fin du code ci-dessus.
Cordialement,