VBA Supprimer ligne selon 2 conditions rapidement

julien91080

XLDnaute Occasionnel
Bonjour a la communauté,

J'ai un tableau de 7 colonnes et environ 80000 lignes (pouvant varié).
Je cherche une macro : Si cellule D2 <> "toto" ou "tata" alors suppression de la ligne. Le tout sur chaque ligne.
Pour le moment, j'utilise le code suivant:



Sub SupLigneOui()
Application.ScreenUpdating = False
For i = [A65000].End(xlUp).Row To 1 Step -1
If Left(Cells(i, 4), 14) <> "tata" Or Left(Cells(i, 4), 14) <> "toto" Then Rows(i).Delete
Next i
End Sub



Le problème est que du fait du nombre très important de ligne, la macro s'exécute en 10 minutes bloquant l'utilisation d'Excel en prime.

N'existe-t-il pas une autre macro pouvant aller plus vite?
Je précise également qu'il peut y avoir près de 200 autres mots que "tata" ou "toto" en colonne D.

Merci par avance pour votre aide.

Cordialement,

Julien
 

Paritec

XLDnaute Barbatruc
Re : VBA Supprimer ligne selon 2 conditions rapidement

re julien le forum
Oui je sais exactement pourquoi et je ferai la modification quand j'aurai le temps
(Encore une chose qui aurait pu être évité si j'avais eu le vrai fichier !!!!)
mais bon !!!!
a+
Papou:)
 
Dernière édition:

julien91080

XLDnaute Occasionnel
Re : VBA Supprimer ligne selon 2 conditions rapidement

Bonjour Papou, le forum,

Oui désolé mais comme le fichier de base contient des données confidentielles...

C'est toujours difficile de faire un fichier exemple qui reprend le principe de base. Je ferai mieux la prochaine fois.

Dans tous les cas, merci pour ton aide et ta patience.

Julien
 

Discussions similaires

Réponses
0
Affichages
176

Statistiques des forums

Discussions
312 488
Messages
2 088 862
Membres
103 979
dernier inscrit
imed