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

Affecter macro à chaque valeur d'une liste déroulante.

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 !

Relien33

XLDnaute Nouveau
Bonjour à tous,

Je viens à vous au sujet d'un problème que je rencontre sur un fichier "professionnel".
En effet,je souhaite simplifier l'utilisation de mon programme en listant mes macros sous forme de menu déroulant.Etant donné que je ne suis pas un adepte de VBA,pouvez vous me donner la marche à suivre pour effectuer la tache suivante?

Sur la page "BILAN SEMAINE COMMERCIAUX" je souhaite utiliser la liste déroulante vierge située au dessus du tableau pour filtrer les agences.Ainsi la liste proposera le nom de chaque agence et en cliquant sur l'une d'entre elles la macro "tri agence" que definirai ultérieurement sera activée.

Je suis conscient que je me complique la tâche pour rien car un simple click sur le filtre me permettrai d'avoir l'effet escompté mais le but et de peaufiner mon savoir faire.😉

Cordialement
 

Pièces jointes

Dernière édition:
Re : Affecter macro à chaque valeur d'une liste déroulante.


Je pense que n'ai pas cerné le concepte de macro affecté a une cellule.Comment avez vous fait pour attribuer une macro aux cellules h8 et h9?

Cdt
 
Re : Affecter macro à chaque valeur d'une liste déroulante.




J'ai cité dans premier message que VBA ne me parlait pas plus que ca pour le moment.Je travaille sur ce programme depuis près de 3 mois donc ce ne sont pas mes recherches qui ont manqué.Si je fais appel à votre aide c'est pour avoir une réponse adaptée à mon programme et non une simple piste de réflexion.Votre exemple correspond très certainement à mon problème mais rien n'est très concret.Ainsi,pour m'épargner de nouvelles heures de recherches et d'énervement,n'est il pas plus simple de me faire parvenir mon fichier corrigé?

Je ne rechigne pas devant la recherche mais là j'ai du mal.

Cdt
 
Re : Affecter macro à chaque valeur d'une liste déroulante.


Bonsoir,

C'est bien pour cela que je demande quelle est la marche à suivre pour alimenter le déroulant avec des macros!
Pas besoin d'avoir toutes les références su tableau!Le principal y est.

Ce que je veux est un menu déroulant avec les données suivantes:

LE BOUSCAT
RION DES LANDES
LE TEICH
LIBOURNE
LA ROCHELLE
LANGON
PERIGUEUX
NANTES
TOULOUSE
CAEN
RENNES
BOURGES

Lorsque je click sur l'une des agences (Par exemple LE BOUSCAT) dans le menu déroulant,je veux que le filtre de la colonne Agences ne garde que les lignes où l'agence est LE BOUSCAT.

Je vais refaire les macros car j'ai supprimé des pages parce que le fichier était trop lourd pour être envoyé.
Pour en revenir à votre fichier, comment avez vous fait pour obtenir les cases h8 et h9?

Vous avez inséré une liste déroulante via l'onglet développeur
Vous avez réglé le format de contrôle

et après?
 
Re : Affecter macro à chaque valeur d'une liste déroulante.


Et pour la troisième fois,je vous demande comment vous avez procédé!
Certes vous n'avez pas les macros sur mon fichier mais est ce que ca vous empêche de m'expliquer comment vous avez fait?
Si vous m'aviez demandé de rajouter les macros dès le début je l'aurais fait volontier.Si le but de ce forum est de régler le problème sans en expliquer la solution je me suis trompé d'endroit et je m'en excuse.
Enfin,dans le charte de ce forum il est stipulé que la politesse est de rigueur,pour moi le tutoiement n'est pas une forme de politesse.
A bon entendeur
 
Re : Affecter macro à chaque valeur d'une liste déroulante.

Je crois que tu est bien parti pour figurer sur la black list
les us et coutumes du forum sont le tutoiement.

Je ne pense cependant pas être intime avec vous.Bref.Ci joint se trouve le fichier avec 3 macros qui correspondent au filtre de 3 agences.Le fichier est il conforme à vos attentes?

cdt
 

Pièces jointes

Re : Affecter macro à chaque valeur d'une liste déroulante.

Bonjour à tous,
Salut Jean-Marcel,

Bienvenue à Relien33 sur XLD... Bien que cela semble mal engagé...

Peux-tu essayer le fichier joint ?

Utilisation de :
Private Sub ComboBox1_Change()
Application.Run Macro:=Feuil1.Range("B10").Text
End Sub

Dans les Propriétés de la ComboBox : renseigner le nom de la liste ou l'adresse de cette liste


Ici je l'ai nommée par le Gestionnaire de Noms :



A + à tous
 

Pièces jointes

Dernière édition:
Re : Affecter macro à chaque valeur d'une liste déroulante.

Bonsoir,

Oh Rellien ! Les explications de Jean-Marcel étaient suffisantes pour la méthode qu'il proposait.

Pour se contenter de filtrer, une seule macro devrait suffire comme décrit dans le premier fichier joint.
A noter que la liste est initialisée, ici, à partir de la colonne C (préoccupation première de tout un chacun).
Code:
Dim Ouvre As Boolean 
Private Sub ComboBox1_DropButtonClick()
  Dim C As Range
  If Ouvre = True Then Range("$A$14:$N$134").AutoFilter Field:=3, Criteria1:=ComboBox1.Text
  ComboBox1.Clear 
  For Each C In Range("C15:C134")
    ComboBox1 = C 
    If ComboBox1.ListIndex = -1 Then ComboBox1.AddItem C
  Next
  Combobox1="" 
  Ouvre = True
End Sub
Pour éviter une réinitialisation à chaque coup, on peut le faire à l'ouverture du fichier comme dans le second exemple mais avec l'inconvénient d'avoir une liste non réactualisable ainsi.

Il n'empêche que l'exactitude de la réponse est fonction de la demande et, si je passe à côté de la problématique, il faudra faire avec !
 

Pièces jointes

Re : Affecter macro à chaque valeur d'une liste déroulante.


Bonjour JCGL

Merci pour vos explications.Je ne connaissais pas les systèmes de combobox...
Le tout semble convenir et je vous en remercie.
Ne voyez aucune forme de snobisme dans mes précédents messages.J'estime que le débat est clos et ne vois pas l'intérêt d'épiloguer sur le sujet.Ainsi je ne répondrai pas au dernier message de Jean Marcel qui pour moi est vide de sens et inutile.

Merci encore et bonne fêtes à vous.

Bonne fin de journée.
 
Re : Affecter macro à chaque valeur d'une liste déroulante.


Bonjour,

Vos fichiers sont parfait.Je suis tout à fait d'accord avec les fait que l'exactitude de la réponse est fonction de la demande.Ayant expliqué dans mon premier message que souhaitais faire évoluer le fichier que j'ai joint,j'ai pensé que l'on m'aurais guidé directement sur les modifications à apporter pour que l'on puisse répondre à ma demande.On m'a directement répondu "ton fichier est incompréhensible".Certes mais comment le savoir si on ne m'explique pas!Merci à vous pour votre aide et Mea Culpa si j'ai dérogé aux régles de ce forum.

Cdt
 
Re : Affecter macro à chaque valeur d'une liste déroulante.


bonjour,

je viens de découvrir votre forum et j'ai déroulé la procédure ci dessus.
tout est correct, sauf pour le point 5 car je ne sais pas quoi indiquer dans la fenêtre de code (je ne maîtrise pas le VBA). Je suppose que l'écriture doit être du type "quand l'index = n, alors éxécuter la macro correspondante", mais je ne sais pas l'écrire. quelqu'un porrait-il m'éclairer?

merci d'avance

stephanie
 
- 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

Discussions similaires

Réponses
4
Affichages
2 K
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…