masquer des lignes en fonction de 3 conditions

Y compris Power BI, Power Query et toute autre question en lien avec Excel
Avatar du membre
labartho
Jeune membre
Jeune membre
Messages : 10
Inscrit le : 22 février 2018
Version d'Excel : 2007

Message par labartho » 18 avril 2018, 16:51

Bonjour,

voila j'aimerai dans un tableau cacher les lignes si ce qui est inscrit dans la colonne E ne corresponds pas à "e" , "a" ou "o".

Pour le moment ca marche tres bien si je ne mets qu'une condition mais je ne sais pas comment mettre les trois .

Sub CacheEAU()
Dim I As Integer 'déclare la variable I (Incrément)
For I = 5 To 310 'boucle des ligne 5 à 310
If Left(Range("E" & I).Value, 3) <> "eau" Then 'condition : si les trois caractères a gauche de la cellule ligne E, sont differents de "Eau"
Rows(I).Hidden = True ' je cache la ligne
End If
Next I
End Sub

il me faudrait un truc du genre not in [a,e,o]

Sub CacheASECNSEUR()
Dim I As Integer 'déclare la variable I (Incrément)
For I = 5 To 310 'boucle des ligne 5 à 310
If Left(Range("E" & I).Value, 1) <> "e" or "a" or "o" Then 'condition : si une des trois conditions de la cellule ligne E, sont différents de "E"; "a" ou "o"
Rows(I).Hidden = True ' je cache la ligne
End If
Next I
End Sub
Avatar du membre
Jean-Eric
Fanatique d'Excel
Fanatique d'Excel
Messages : 15'752
Appréciations reçues : 577
Inscrit le : 27 août 2012
Version d'Excel : 365 Insider

Message par Jean-Eric » 18 avril 2018, 20:28

Bonjour,
Pour le principe avec les données en tableau ::
ActiveSheet.ListObjects("Tableau1").Range.AutoFilter Field:=1, Criteria1:= _
        Array("a", "e", "o"), Operator:=xlFilterValues
Jean-Eric

Je ne réponds pas aux M.P. non sollicités.
Avatar du membre
labartho
Jeune membre
Jeune membre
Messages : 10
Inscrit le : 22 février 2018
Version d'Excel : 2007

Message par labartho » 18 avril 2018, 22:28

euh je suis nulle mais je mets ca ou dans ma macro ?

ActiveSheet.ListObjects("Tableau1").Range.AutoFilter Field:=1, Criteria1:= _
Array("a", "e", "o"), Operator:=xlFilterValues



Sub CacheASECNSEUR()
Dim I As Integer '
For I = 5 To 310
If Left(Range("E" & I).Value, 1) <> "e" or "a" or "o" Then
Rows(I).Hidden = True
End If
Next I
End Sub
Répondre Sujet précédentSujet suivant
  • Sujets similaires
    Réponses
    Vues
    Dernier message