Macro pour filtrer
Bonjour à tous,
J'ai une macro ci-dessous qui me permet de filtrer deux colonnes dans un tableau :
Sub Filtre()
'Filtrer en supprimant les valeurs inutiles
'Boucle partant de la fin remontant jusqu'à la huitième ligne
For i = Range("A40000").End(xlUp).Row To 8 Step -1
'Conditions
If Cells(i, 4) <> "00" And Cells(i, 4) <> 11 And Cells(i, 4) <> 12 And Cells(i, 4) <> 21 _
And Cells(i, 4) <> 22 And Cells(i, 4) <> 23 And Cells(i, 4) <> 24 _
And Cells(i, 4) <> 81 And Cells(i, 4) <> 82 And Cells(i, 4) <> 83 And Cells(i, 4) <> 89 _
Or Cells(i, 14) <> "Meuble" And Cells(i, 14) <> "Buffet" _
And Cells(i, 14) <> "Tiroir" And Cells(i, 14) <> "Placard" Then Rows(i).Delete
Next i
End SubLe fichier change tout les jours, et le problème c'est que j'ai énormément de lignes dans ce tableau. Donc ma macro prend beaucoup de temps à s’exécuter, étant donné qu'avec des "If", la macro traite toutes les lignes.
Je pourrais filtrer manuellement, mais je ne suis pas le seul à utiliser le fichier, donc pour éviter les erreurs de manipulations, je voudrais seulement appuyer sur un bouton. Avez-vous des idées pour optimiser la macro ?
Je vous laisse le fichier en PJ. En vous remerciant.
Bonjour Avbr12,
Avec cette solution, on passe de 2minutes a 2 secondes.
Plutot que de supprimer des milliers de lignes, on conserve celles qui nous interesse , on les colle dans une nouvelle feuille et on supprime la feuille originale.
Bcp plus rapide
Cdlt