Lancer une macro a partir d'un menu deroulant?

  • Initiateur de la discussion BoSo
  • Date de début
B

BoSo

Guest
Bonjour tout le monde, est il possible de lancer une macro via un menu deroulant? Si oui, pourriez vous m'expliquer la demarche a suivre?
 

ChTi160

XLDnaute Barbatruc
Re:DEMO Xmacros par ListBox => Testeurs Demandés !

Re Papy Novice (Jean)
en pièce jointe ta version modifiée
bonne Soirée
Amicalement
Jean Marie [file name=XLD-PAPY-Combobox-Run-Macro_20050404204435.zip size=18523]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/XLD-PAPY-Combobox-Run-Macro_20050404204435.zip[/file]
 
Dernière édition:

_Thierry

XLDnaute Barbatruc
Repose en paix
Re:DEMO Xmacros par ListBox => OK c'est Bon Merci!

Bonsoir Jean, Pascal, @Xtof@, Didier, Jean-marie

Tout d'abord et en premier lieu et avant de commencer et en prime abord et avant toute chose et en préface et en hors d'oeuvre et en préliminaire et maintenant !!! (mort de rire en écrivant)

Merci à vous Quatre d'avoir si vite répondu à mon appel !

Pour le présent problème, ou le problème présent donc ce n'est pas la version d'Excel, ni ma démo, c'est une Schmilblic que j'ai mis dans ma démo qui doit dérouter notre ami Jean.

En fait pour indiquer 'Liste de Validation Excel' dans les message de ma démo, je suis passé par un passage (arf passer par un passage !!! faut le faire) en bref je suis passé par un passage d'argument qui est concrétisé par une Constante (Const) de Type String (pas celui auquel vous pensez à chaque fois lol)

Enfin Bref ce String peut être enlevé immédiatement !!! (Re Mdr)

En Fête Jean, non pas encore (quoique) !, en fait jean c'est inutile et c'est ceci qui doit pertuber le fonctionnement...

Voici à quoi devrait ressembler le Private Module de la Feuille où se trouve la Cellule 'M14' sans Constante String
(heuresement que c'est pas la Celulle 'Q69') arf !
Option Compare Text
Private Sub Worksheet_Change(ByVal Target As Range)
   
If Not Target.Address(0, 0) = 'M14' Then Exit Sub
       
Select Case Target.Value
           
Case 'JANVIER': Janvier
           
Case 'FEVRIER': Fevrier
           
Case 'MARS': Mars
           
Case 'AVRIL': Avril
           
Case 'MAI': Mai
           
Case 'JUIN': Juin
           
Case 'JUILLET': Juillet
           
Case 'AOUT': Aout
           
Case 'SEPTEMBRE': Septembre
           
Case 'OCTOBRE': Octobre
           
Case 'NOVEMBRE': Novembre
           
Case 'DECEMBRE': Decembre
       
End Select
End Sub

N'oublies pas non plus en Top de Module 'Option Compare Text' qui t'évitera des souci de Casse, ('Casse' pour MAJ / min, mais pas de casse du PC !! mes macros sont 'CCC' Certifiées Contre la Casse)

Ensuite tes macros :
Sub Janvier()
    MsgBox 'Vous avez cliqué sur Janvier '
End Sub

Etc... doivent se trouver dans un Module Standard (module1 par Exemple)

Ce sera idem pour les autres Listes de Validations, plus de source, dans le Private Module de La Feuille et les Sub : 'B' , 'J5_Mixte', 'Mini_bus_9pl ' etc etc dans un Module Standard ...

Voilà, je pense que c'est un peu ma faute car je ne peux m'empécher de rajouter des trucs et sur une Démo, çà peut porter à confusion...

Conclusion, il ne vaut mieux pas en toute cirConstante porter de String

Bonne Soirée
@+Thierry

Sorry Jean Marie je viens de voir ton Post d'un autre IE, mais celui ci avec la mise en Page HTML m'a rendu Fou et en plus avec les fourre de rires !!! pas évident !!! lol
 

ChTi160

XLDnaute Barbatruc
Re:DEMO Xmacros par ListBox => OK c'est Bon Merci!

re à tous
Thierry quand tu dit
ton Post d'un autre IE, mais celui ci avec la mise en Page HTML
j'explique depuis un bout de temps j'ai des problèmes d'affichage dans IE j'utilise Mozilla
peux tu me dire si c'est normal que lorsque j'ouvre un message du forum je n'ai pas de mise en forme
mais même quand j'ouvre le forum dans IE c'est pareil
as tu une réponse a ma question 'Y a t il un remède
Merci d'avance
je t'aurais bien fait C....r Aujourd'hui mais je te promet que je recommencerai MdR LOooooooooooooooL
Jean Marie
j'ai pas tout compris
En fait pour indiquer \\'Liste de Validation Excel\\' dans les message de ma démo, je suis passé par
un passage (arf passer par un passage !!! faut le faire) en bref je suis passé par un passage d'argument qui est concrétisé par une Constante (Const) de Type String (pas celui auquel vous pensez à chaque fois lol)
c'est bon j'ai compri

ça je retiens
N'oublies pas non plus en Top de Module 'Option Compare Text' qui t'évitera des souci de Casse, ('Casse' pour MAJ / min, mais pas de casse du PC !! mes macros sont 'CCC' Certifiées Contre la Casse)

Message édité par: ChTi160, à: 04/04/2005 22:34
 

_Thierry

XLDnaute Barbatruc
Repose en paix
Re:DEMO Xmacros par ListBox => OK c'est Bon Merci!

Re Jean Marie, le Fil

Donc c'est bon pour le String 'Source' qui est une Constante pour le passage d'arguments vers les Macros 'Sub Lundi (Source As String)...etc

Bon sinon pour Mozilla, je ne l'ai utilsé que sous des machines de tests que je formattent régulièrement, et par conséquent c'est pas du bureau ni de chez moi. Donc je ne peux pas dire... Moi ici (et partout) IE 6 avec les derniers S/P je n'ai pas de problème d'affichage.... As tu essayé 'FireFox', j'ai entendu dire qu'il bouzillait parfois un peu IE ... mais ce n'est pas vérifié... Juste une piste... Ré-installe IE... pour voir...

Désolé sur ce coup là je ne peux me mettre dans ton contexte et ne peux par conséquent être vraiment d'une grande utilité.

Bonne Nuit
@+Thierry
 

ChTi160

XLDnaute Barbatruc
Re:DEMO Xmacros par ListBox => OK c'est Bon Merci!

Re thierry
je verrai demain pour réinstaller Oui c'est Mozilla Firefox
bon je te remercie je pense que tu peux aller au Dodo car tu l'a pas volé
Merci encore
ps lorsques j'avais vu le code je mettais posé la question a quoi ca sert Ce Const Source maintenant je le sait
je suis aller sur le site de J-Walk c'est pas mal et y a des démos
les explications ne sont pas trop compliquées[ pour l'instant Lol)
merci encore
Jean Marie
 

Papy Novice

Nous a quitté
Repose en paix
Re:DEMO Xmacros par ListBox => OK c'est Bon Merci!

Bonsoir ou bonjour à vous
Merci pour l'attention que vous me portez, surtout en ce moment difficile pour moi, mais je sais qu'avec vous ca ira.
J'ai bien noté vos différentes remarques (mais au sujet du string... en ce moment et à mon âge...)
Revenons au prob, voici fichier zippé (il se peut que quelques macros ne fonctionnnent plus vu le vidage que j'ai fait pour atteindre 48 Kg) soit 12 de moins que moi actuel au lieu de 75 Bah !
En vous souhaitant une bonne et douce nuit à chacun de vous.
Merci, merci, merci (police taille 72 en maj)
Jean [file name=Copie de Pool_20050405044042.zip size=47079]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/Copie de Pool_20050405044042.zip[/file]
 

Pièces jointes

  • Copie de Pool_20050405044042.zip
    46 KB · Affichages: 31

_Thierry

XLDnaute Barbatruc
Repose en paix
Re:DEMO Xmacros par ListBox => OK c'est Bon Merci!

Bonjour Jean, le Fil, le Forum

En fait hier soir ça ne m'a pas sauté aux yaux, mais ce matin avec mon cagé oui... C'est évident mon cher Watson !!!

Tu ne peux pas mettre plusieurs évènementielles identiques pour la même feuille !

Il ne peut y avoir qu'une 'Worksheet_Change(ByVal Target As Range)' et pas de 'Worksheet-Res_Change'

Voici ce qu'il faut faire :

Option Compare Text

Private Sub Worksheet_Change(ByVal Target As Range)
Const Source As String = 'Liste de Validation Excel'
   
If Target.Address(0, 0) = 'M14' Then
       
Select Case Target.Value
           
Case 'JANVIER':  Janvier Source
           
Case 'FEVRIER':  Fevrier Source
           
Case 'MARS':      Mars Source
           
Case 'AVRIL':    Avril Source
           
Case 'MAI':      Mai Source
           
Case 'JUIN':      Juin Source
           
Case 'JUILLET':  Juillet Source
           
Case 'AOUT':      Aout Source
           
Case 'SEPTEMBRE': Septembre Source
           
Case 'OCTOBRE':  Octobre Source
           
Case 'NOVEMBRE':  Novembre Source
           
Case 'DECEMBRE':  Decembre Source
       
End Select
   
ElseIf Target.Address(0, 0) = 'M16' Then
       
Select Case Target.Value
           
Case 'B':            B Source
           
Case 'J5_Mixte':    J5_Mixte Source
           
Case 'Mini_Bus_9pl': Mini_Bus_9pl Source
           
Case 'MONO':        MONO Source
           
Case 'VGL_M1':      VGL_M1 Source
           
Case 'VGL_M1_Break': VGL_M1_Break Source
           
Case 'VGL_M2':      VGL_M2 Source
           
Case 'VGL_M2 Break': VGL_M2_Break Source
           
Case 'VU_1G':        VU_1G Source
           
Case 'VU_1M':        VU_1M Source
           
Case 'VU_2M':        VU_2M Source
           
Case 'VU_3G':        VU_3G Source
           
Case 'VU_3M':        VU_3M Source
       
End Select
   
'ElseIf Target.Address(0, 0) = 'Z1' Then Exit Sub
     
'Select Case Target.Value
       
'etc
       
'etc
   
   
End If
End Sub

Ce devrait aller ce coup-ci.

Bonne Journée (enfin vu l'heure où tu as posté tu dois pas encore être debout)
@+Thierry
 

Papy Novice

Nous a quitté
Repose en paix
Re:DEMO Xmacros par ListBox => OK c'est Bon Merci!

Bonjour _Thierry, le forum,
Merci pour tes explications, comme tu as pu le constater, je debuté en macro et je deviens accro.
JE te tiens au courant dès ce soir, mais je suis déjà certain que ''c'est'' l'explication.
Merci encore et bon après midi
Jean
 

Papy Novice

Nous a quitté
Repose en paix
Re:DEMO Xmacros par ListBox => OK c'est Bon Merci!

Bonjour _Thierry, le forum,
Je viens te remercier Thierry pour tes explications et le code fourni.
Ca fonctionne impeccable.
Merci pour ta disponibilité et ta grande patience. Vive le forum.
Bonne soirée à toi.
Jean
 

Discussions similaires

Statistiques des forums

Discussions
312 238
Messages
2 086 492
Membres
103 234
dernier inscrit
matteo75654548