Microsoft 365 Récupérer les valeurs filtrées dans des variables

  • Initiateur de la discussion Initiateur de la discussion Fab117
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Fab117

XLDnaute Impliqué
Edit 17h15: Définition plus précise du problème dans le message #9 ci-dessous



Bonjour,

Dans mon onglet ws, en cellule "E1", j'ai un filtre.

Celui-ci peut proposer :
  • ""
  • "Continuer"
  • "Attendre"
  • "Stopper"

Dans ma routine VBA, est-il possible de créer une variable pour chaque possibilité proposée par le filtre (FiltreNull, FiltreContinuer, FiltreAttendre & FiltreStopper) et de lui attribuer la valeur "True" s'il est activé est "False" dans le cas contraire.

=> exemple de résultat :
  • FiltreNull = True
  • FiltreContinuer = False
  • FiltreAttendre = True
  • FiltreStopper = False

Bonne soirée

Fab
 
Dernière édition:
Bonjour @Fab117

Je te propose ceci à adapter à ton cas et non testé et sans garantie car j'ai pas vu ton fichier ......

VB:
Sub Action()

For Each ValFiltre In ActiveSheet.AutoFilter.Filters(1).Criteria1
    ValFiltre
Next

Select Case ValFiltre
    Case FiltreAttendre
        'Mon action attendre
    Case FiltreContinuer
        'Mon action continuer
    Case FiltreStopper
        'Mon action stop
    Case Else '==> Pas de filtre
        'Mon action pas de filtre
End Select
End Sub

Merci de ton retour

@Phil69970
 
Ce que je souhaiterais, c'est récupérer les filtres "Decision" (en "E1") appliqués par l'utilisateur (ça peut être 0, 1, 2 ou 3 valeurs textes).
Car après, je fais différentes opérations sur l'ongelt (en fait, je reconstruis l'onglet) et pour finir, je voudrais ré-appliquer les filtres que l'utlisateur avait sélectionné.

=>
Etape 1:
L'utilisateur sélectionne 0 à 3 valeurs (4 à choix)

Etape 2:
La macro est déclenchée

Etape 3:
Au début du code, les valeurs filtrées par l'utilisateur sont reprises .
Mon idée:
  • Si "" est activé, alors variable FiltreNull = True
  • Si "Continuer" est activé, alors variable FiltreContinuer = True
  • Si "Attendre" est activé, alors variable FiltreAttendre = True
  • Si "Stopper" est activé, alors variable FiltreStopper= True
Etape 4: Tous les filtres sont re,mis à zéro
With Sheets("xxxxx")
.AutoFilterMode = False
.AutoFilter.ShowAllData
End With

Etape 5: Reste du code exécuté

Etape 6:
La cellule "E1" est refiltrée selon les variables
  • FiltreNull
  • FiltreContinuer
  • FiltreAttendre
  • FiltreStopper

Voilà.

Bon après-midi

Fab
 
Pas de soucis, merci beaucoup d'avoir pris le temps de regarder.



Si quelqu'un d'autre a une proposition, je vais essayer de reformuler ma demande.

Dans mon onglet, j'ai un tableau structuré (T_Cible).

Dans la cellule "E1", j'ai un filtre.

L'utilisateur peut choisir entre :
  • ""
  • "Continuer"
  • "Attendre"
  • "Stopper"
A.png




Je souhaiterais récupérer les valeurs filtrées par l'utilisateur

Le nombre de choix possibles par l'utilisateur étant limité, je pensais définir une variable pour chacun et lui attribuer "True" si elle est sélectionnée par l'utilisateur et "False" dans le cas contraire.

Ça se résume à :

Valeur proposée dans le filtreVariable associéValeur de la variable si sélectionnée par l'utilisateur ("E1")Valeur de la variable si non sélectionnée par l'utilisateur ("E1")
""FiltreNullTrueFalse
"Continuer"FiltreContinuerTrueFalse
"Attendre"FiltreAttendreTrueFalse
"Stopper"FiltreStopperTrueFalse


J'attache un fichier exemple à ce message.



Merci d'avance.



Fab
 

Pièces jointes

- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Retour