EXCEL : Définir des choix de liste depuis un boutton de commande [Résolu]

Signaler
Messages postés
27
Date d'inscription
jeudi 29 janvier 2004
Statut
Membre
Dernière intervention
8 mai 2009
-
Messages postés
27
Date d'inscription
jeudi 29 janvier 2004
Statut
Membre
Dernière intervention
8 mai 2009
-
Bonjour et mes excuses d'avance si je ne poste pas dans la bonne catégorie.

Je travaile avec des listes sous Excel et je cherche à automatiser les éléments choisis dans ces listes en cliquant sur des bouttons de commandes. C'est à dire que quand je clique sur un boutton (situé sur une autre feuille), je suis automatiquement envoyé sur la feuille des listes avec les listes définies des choix précis.
Par exemple, un boutton "élements bleus - 27-9-2009" et lorsque je clique dessus je me retrouve sur la feuille des éléments, les listes définies sur "Bleu" et "27-9-2009". Le but étant de n'afficher que les éléments concernés selon le boutton sur lequel j'aurai cliqué.

Quelqu'un peut-il m'aider pour rédiger la syntaxe de ce boutton de commande? Ou optionnelement me proposer d'autres solutions si vous pensez qu'il y'a mieux ou plus propre.
Merci beaucoup.

6 réponses

Messages postés
27
Date d'inscription
jeudi 29 janvier 2004
Statut
Membre
Dernière intervention
8 mai 2009

Bon, je viens aporter la réponse à mon propre problème, quelque fois qu'elle servirait à quelqu'un dans la même galère.
Il semble en efet que les dates soient une donnée assez spéciale à  manipuler lorsqu'elle se trouve dans une cellule utilisant le format "Date". J'ai contourné le problème en définissant mon critère à des valeures de date contenue dans des cellules d'une autre feuille. Celles-ci ne provoquent pas d'erreur, contrairement en définissant la date manuelement (comme criteria1:="10-03-2009"). Puis par la suite, j'utilise directement des variables de type "Date" en VB et ca marche également.

 Je n'ai pas vraiment d'explication sur le pourquoi du comment, mais en tout cas maintenant ca fonctionne. D'ailleur j'ai même laissé tombé la macro pour directement faire en VB tout un bazard qui copie le résultat dans une autre feuille et d'autres fonctions plus avancées m'évitant de créer 500 macros pour chacun des choix possibles entre mes listes.
Messages postés
17286
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
23 décembre 2019
68
si tu sais faire la manipulation dans excel, tu peux toujours le faire en enregistrant une macro.

ca génèrera le code permettant de refaire ton action...
Messages postés
27
Date d'inscription
jeudi 29 janvier 2004
Statut
Membre
Dernière intervention
8 mai 2009

Tout d'abord, merci d'avoir répondu.

J'ai essayé d'enregistrer une macro mais malheureusement elle ne reproduit pas le même résultat. Voici ce qui se passe:
1. Je crée une nouvelle macro sur la feuille qui appel la commande.
2. Je vais sur l'autre feuille (celle des listes).
3. Je sélectionne le type d'élément dans une premiere liste (par exemple, les éléments de type "Bleu").
4. Je sélectionne le type d'élément dans une seconde colone (par exemple, les éléments à la date du "27-9-2009").
5. La feuille ne m'affiche que les éléments de type "Bleu" ET à la date du "27-9-2009". C'est le résultat que je souhaite obtenir quand j'appel la macro.
6. Je clique sur le boutton "Stop" pour arrêter l'enregistrement de la macro.

7. Et quand j'appel cette macro, il m'envoie sur la feuille des listes mais aucun élément n'apparait. Aucun champs. La feuille est grise mis-à-part les entêtes de mes listes. Comme si je lui avait donné des critères qui ne correspondent à aucun élément alors que ma feuille contient pourtant des éléments à la fois "Bleu" et "27-9-2009".

Peut-on m'expliquer ce qui cloche? Je sais que je suis nulle en macro mais bon, ca ne doit pas être sorcier ou alors il ne doit pas manquer grand chose.
Merci d'avance pour vos conseils.
Messages postés
27
Date d'inscription
jeudi 29 janvier 2004
Statut
Membre
Dernière intervention
8 mai 2009

J'ai identifié mon problème mais je ne sais pas comment le corriger:
Apparement mon Criteria pour les dates ne fonctionne pas correctement. J'ai essayé d'appliquer un filtre pour les éléments "Bleu" et les éléments "A" (parmis une autre colone), et il m'affiche effectivement tous les éléments à la fois "Bleu" et "A". Mais lorsqu'il s'agit d'une date, comme ici "27-9-2009", là il  ne trouve rien et j'ai une page vide comme résultat. Toutes  mes dates dans ma liste sont dans cellules ayant comme type de format le format "date". Je ne sais pas si ca a son importance.

Quelqu'un pourrait-il me donner une petite syntaxe de critère de date pour un filtre de liste dans une  macro en guise d'exemple?
Messages postés
17286
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
23 décembre 2019
68
quel est ton code actuel ?

prendre 2009-9-27 comme date 'passe partout' (yyyy-mm-dd)
Messages postés
27
Date d'inscription
jeudi 29 janvier 2004
Statut
Membre
Dernière intervention
8 mai 2009

Mes macros ressembles à peu près toutes à ca:
Sub Macro1()
    Sheets("Liste").Select
    Selection.AutoFilter field:=2, Criteria1:="Blue"
    Selection.AutoFilter field:=3, Criteria1:="27-9-2009"
End Sub

Je pense que c'est peut-etre lié au format des cellules des dates ou à la façon de les écrire. J'ai essayé plusieurs façons différentes mais ca n'a pas marché jusqu'à présent.