Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Macros création de boutons selon valeurs filtrables... l'espoir fait vivre !

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 !

djodjodjo

XLDnaute Occasionnel
Bonjour à tous 🙂

Aujourd'hui I have a dream that one day... qu'un jour une macro puisse réaliser miraculeusement (ou pas) ceci :

1) Récupérer la liste des valeurs uniques dans une colonne (récupérer la liste des valeurs du filtre?)
2) Créer des boutons portant le nom de chaque valeur unique récupérée
3) Aligner les boutons les uns après les autres
4) Affecter une macro (qui aura le nom de la valeur récupérée) à chaque bouton

... mais peut-être que je rêve un peu trop...

Je vous ai mis un beau petit exemple avec de jolis boutons de ma création (pas sûr qu'ils soient faisables par macro...)

Bien sûr j'adapterai le code en fonction de mes besoins, et même si vous n'avez envie de vous intéresser qu'à une seule étape ça m'aiderait déjà énormément! Même les petits bouts de pistes seront appréciés !

Par avance, merci 🙂
 

Pièces jointes

Dernière édition:
Re : Macros création de boutons selon valeurs filtrables... l'espoir fait vivre !

Oui.. enfin je suis un débutant en VBA ! Mais oui j'aurais pu/dû y penser 🙂

Ta solution semble meilleure, au moins en termes de lisibilité / propreté.. après je sais pas

Merci
 
Re : Macros création de boutons selon valeurs filtrables... l'espoir fait vivre !

Bonsoir JB,

Très intéressant ! Je ne sais plus quoi choisir... ComboBox ou Boutons.. telle est la question !

Je vais méditer là-dessus, vous êtes au top les gars !

Bonne soirée 🙂
 
Re : Macros création de boutons selon valeurs filtrables... l'espoir fait vivre !

Bonjour à tous,

j'aimerais modifier le code suivant (celui de JB proposé par JNP) :

Code:
Private Sub UserForm_Initialize()
'Dico par JB
Set f = Sheets("AIFN")
Set MonDico = CreateObject("Scripting.Dictionary")
With CreateObject("vbscript.regexp")
For Each c In f.Range("H42:H" & f.[H65000].End(xlUp).Row)
    .Global = False
    .Pattern = "[A-Za-zéèëê]+[- ]?[A-Za-zéèëê]+"
    If .Test(c.Value) Then MonDico(c.Value) = ""
Next c
End With
temp = MonDico.keys
Call tri(temp, LBound(temp), UBound(temp))
Me.ComboBox1.List = temp
ComboBox1.AddItem "Autre"
End Sub

pour qu'il crée la liste non pas de toutes les valeurs uniques de la colonne H mais uniquement les valeurs uniques visibles dans la colonne H (un filtre a été appliqué et seules les valeurs restantes doivent apparaitre dans la liste).

Par avance, merci !
 
Re : Macros création de boutons selon valeurs filtrables... l'espoir fait vivre !

Re 🙂,
Tu as de la chance, tu as eu JB himself 😛...
Code:
If .Test(c.Value) And c.EntireRow.Hidden = False Then MonDico(c.Value) = ""
devrait fonctionner 🙄 !
Bonne suite 😎
 
Re : Macros création de boutons selon valeurs filtrables... l'espoir fait vivre !

Tip Top as usual 🙂

Pour info je pense que je vais garder la solution des Userform non modaux c'est + pratique et ça prendra moins de place !
 
Re : Macros création de boutons selon valeurs filtrables... l'espoir fait vivre !

Bonjour à tous 🙂,

ce message est adressé à tous et en particulier à JNP ou toute autre personne qui pourra m'aider !

J'utilise le Pattern suivant : .Pattern = "[A-Za-z1-9éèëê]+"
mais j'aimerais qu'il autorise aussi les "vides" : quand il n'y a pas de caractère du tout.. je ne vois pas du tout comment faire :| pourtant j'ai bien lu ton tuto JNP ^^

Peut-être un Pattern "par exclusion" qui autorise tout sauf les "0" (j'ai bien mis 1-9 dans le Pattern 🙂)

Merci d'avance !

Edit: Solution trouvée: J'ai viré le Pattern et j'ai modifié la ligne suivante:

If .Test(c.Value) And c.EntireRow.Hidden = False And c.Value <> 0 Then MonDico(c.Value) = ""
 
Dernière édition:
Re : Macros création de boutons selon valeurs filtrables... l'espoir fait vivre !

Re 🙂,
Peut-être un Pattern "par exclusion" qui autorise tout sauf les "0" (j'ai bien mis 1-9 dans le Pattern 🙂)
Le pattern par exclusion, c'est [^0], mais techniquement, il ne faut pas oublier qu'un Pattern est un motif de texte, pas une valeur numérique, et je ne vois pas trop ce que tu veux faire des cellules vides 😕...
M'enfin, si ça marche 😀
 
Re : Macros création de boutons selon valeurs filtrables... l'espoir fait vivre !

Les cellules vides correspondent à des projets sans statut (certains sont "en cours", d'autres "terminés" etc.. et certains n'ont pas d'info donc ca génère des cellules vides...). Mes graphiques doivent prendre en compte tous les projets par statut, y compris les projets sans statut 🙂
 
- 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
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…