Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

condition dans le champ "contient" d'un filtrage auto

2 réponses
Avatar
Ricou
Bonjour à tous
Voici ce que je voudrais faire dans 3 feuilles différentes :
à partir de la création d'un nouveau module, j'obtiens cela :

Workbooks(Fichier).Activate
For Each Sh In Worksheets
Rows("3:3").Select
Selection.AutoFilter
Selection.AutoFilter Field:=1, Criteria1:="=*V02*", Operator:=xlAnd
Sheets("RésumVol").Select

J'ai là un petit problème, j'aimerais poser une condition sur Criteria1 qui
peut prendre les valeurs V02, V03 ou V04 (choisi auparavant par l'utilisateur
via un userform). Est-il possible de faire quelque chose comme
Criteria1:="=*V0" & I & "*" afin d'éviter de faire plein de boucles if.
Merci d'avance.

2 réponses

Avatar
papou
Bonjour
Déclare une variable Publique pour ton critère et récupère sa valeur depuis
l'entrée dans ton userform.
Exemple
- dans ton module en 1ère ligne :
Public LeCritere
- dans ton Userform (tu adaptes avec peut-être un test sur le contrôle à
prendre en compte pour le critère)
LeCritere = UserForm1.TextBox1 (ou tout autre contrôle)

Dans ton module :
Selection.AutoFilter Field:=1, Criteria1:="=*" & LeCritere & "*",
Operator:=xlAnd


Cordialement
Pascal

"Ricou" a écrit dans le message de
news:
Bonjour à tous
Voici ce que je voudrais faire dans 3 feuilles différentes :
à partir de la création d'un nouveau module, j'obtiens cela :

Workbooks(Fichier).Activate
For Each Sh In Worksheets
Rows("3:3").Select
Selection.AutoFilter
Selection.AutoFilter Field:=1, Criteria1:="=*V02*",
Operator:=xlAnd

Sheets("RésumVol").Select

J'ai là un petit problème, j'aimerais poser une condition sur Criteria1
qui

peut prendre les valeurs V02, V03 ou V04 (choisi auparavant par
l'utilisateur

via un userform). Est-il possible de faire quelque chose comme
Criteria1:="=*V0" & I & "*" afin d'éviter de faire plein de boucles if.
Merci d'avance.



Avatar
Ricou
OK, merci beaucoup !


Bonjour
Déclare une variable Publique pour ton critère et récupère sa valeur depuis
l'entrée dans ton userform.
Exemple
- dans ton module en 1ère ligne :
Public LeCritere
- dans ton Userform (tu adaptes avec peut-être un test sur le contrôle à
prendre en compte pour le critère)
LeCritere = UserForm1.TextBox1 (ou tout autre contrôle)

Dans ton module :
Selection.AutoFilter Field:=1, Criteria1:="=*" & LeCritere & "*",
Operator:=xlAnd


Cordialement
Pascal

"Ricou" a écrit dans le message de
news:
Bonjour à tous
Voici ce que je voudrais faire dans 3 feuilles différentes :
à partir de la création d'un nouveau module, j'obtiens cela :

Workbooks(Fichier).Activate
For Each Sh In Worksheets
Rows("3:3").Select
Selection.AutoFilter
Selection.AutoFilter Field:=1, Criteria1:="=*V02*",
Operator:=xlAnd

Sheets("RésumVol").Select

J'ai là un petit problème, j'aimerais poser une condition sur Criteria1
qui

peut prendre les valeurs V02, V03 ou V04 (choisi auparavant par
l'utilisateur

via un userform). Est-il possible de faire quelque chose comme
Criteria1:="=*V0" & I & "*" afin d'éviter de faire plein de boucles if.
Merci d'avance.