Filtre "Ne contient pas"

Bonjour à tous sur le forum

Je suis de retour pour demander votre aide.

Etant donné qu'Excel ne permet pas de mettre plus de 2 choix dans un filtre "Ne contient pas", j'ai tenté de créer une macro qui le ferait sous forme de boucle :

With Sheets("feuil1")
     nbr_mots = .Range("A65000").End(xlUp).Row - 1
     For j = 1 To nbr_mots
         va1(j) = "=*" & .Range("A" & j + 1).Value & "*"
     Next
End With
With Sheets("feuil2")
     firstrow = .Range("C2").Row
     lastrow = .Range("C65000").End(xlUp).Row
     .Range("C" & firstrow & ":D" & lastrow).Copy
End With
With Sheets("feuil3")
     For i = 1 To nbr_mots
         .Cells.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
         .Range("B1").AutoFilter
         firstrow = .Range("A1").Row
         lastrow = .Range("A65000").End(xlUp).Row
         .Range("B" & firstrow & ":B" & lastrow).AutoFilter Field:=2, Criteria1:="<>" & va1(i), Operator:=xlAnd
         .Cells.Copy
         .Cells.Clear
     Next
End With

En gros, sur la feuil3 à la fin, il ne devrait rester que les lignes ne contenant aucune des différentes chaines de caractères présentent dans ma variable nbr_mots.

Mon seul problème est la ligne :

.Range("B" & firstrow & ":B" & lastrow).AutoFilter Field:=2, Criteria1:="<>" & va1(i), Operator:=xlAnd

Je pense que le problème se trouve à Criteria1:="<>" & va1(i), je ne sais pas comment faire en VBA pour qu'Excel comprenne ma variable.

Si quelqu'un a une réponse, je vous en remercie

Cordialement

bonjour Eldeven le forum

je pense comme cela

For i = 0 To ubound(va1)
         .Cells.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
         .Range("B1").AutoFilter
         firstrow = .Range("A1").Row
         lastrow = .Range("A"& rows.count).End(xlUp).Row
         .Range("B" & firstrow & ":B" & lastrow).AutoFilter Field:=2, Criteria1:= "<>" & va1(i), Operator:=xlAnd

car ton tableau va1 commence à 0

mais pour le

.Cells.Copy

.Cells.Clear

là tu copies OK mais juste derrière tu supprimes tout le contenu de ta feuille?????

sans aller copier le résultat de ta recherche précédente !!!

De plus copier oui mais il faut que tu copies seulement les lignes visibles de ta feuille déjà filtrée, et ensuite appliquer le nouveau mot à ton filtre

et aussi il faut que tu sois sur d'avoir bien dans ta variable * ton mot *

en clair un petit fichier et on va démêler ta demande

a+

Papou

Rechercher des sujets similaires à "filtre contient pas"