Salut,
Merci pour l'aide. Le problème c'est que le nombre de lignes concernées pour chaque critère est variable. Or dans ma macro, j'élimine un nombre fixé et invariable de lignes. Genre : supprimer les lignes 120 à 135. Mais si demain, le nb est plus grand, seules celles de 120 à 135 seront éliminées.
Que ferais-tu ?
Maintenant il faut l'adapter :
- Virer les Activate, Select et autre Selection, à bon escient.
- Utiliser des If pour vérifier si les conditions sont respectées.
Merci pour tes encouragements.
si je souhaite faire un test sur le premier caractère du contenu d'un cellule, comment je dois procéder ?
Exemple de ce que je souhaite implémenter :
If left(Cells(i, 4);1) < "3" Then Rows(i).Delete
Mais la fonction left n'existe pas apparemment.
Merci pour tes lumières !
Au temps pour moi Zeb, je viens de trouver mon erreur. Elle provient du fait, que cela fonctionne parfaitement, seulement, cela prend bcp de temps.
Je pense que la longueur du traitement m'a fait pensé que cela boguait.
Problème résolu.
Rhoo... Problème de référence. --> Outils/Références/[x] VisualBasic Pour Application
Quelque chose ne va pas dans ton code :
Code :
If Truc1 Then Rows(i).Delete
If Truc2 Then Rows(i).Delete
Et si Truc1 est vrai et que Truc2 l'est aussi ?
Et bien tu supprimes légitimement la ligne i puis illégitimement la ligne i+1 qui entre temps et devenue la ligne i.
Que faire ? Une variable Boolean ou une belle et grosse condition, pleine de parenthèses et de Or. Au choix :