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?
 
F

FyeS

Guest
J ai avance un ptit peu dans mon probleme mais maintenant quand je lance la macro de lundi j arrive a faire afficher un message qui me dit 'vous avez klike sur lundi' et un autre apres qui dit 'etes vous sur de vouloir continuez' 'OUI' 'NON', mais le probleme c est que si je klik non la macro se lance quand meme!!!! et si je met oui y a un message coucou qui se lance (ca c parceque j ai copier le code d une autre macro d un mec qui m a filer un coup de main j ai pas su l enlever)!!!! Merci pour votre aide!
 
F

FyeS

Guest
J ai oublier de mettre le lien pour prendre le fichier!
Ce lien n'existe plus

(je le met pas en piece jointe parcequ il est trop volumineux et d apres ce que j ai compris vaux mieux econimiser la place sur ce site;))
 

ChTi160

XLDnaute Barbatruc
Salut'FyeS,Boso
bonjour le FORUM
j'ai modifié le code du bouton 7 à toi de modifier les autres il te faudra aussi supprimer le Userform1 (Coucou) dans VBAProjet tu clic droit sur userform1 et tu fait Supprimer Userform1 puis non
Sub Bouton7_QuandClic()
MsgBox 'Vous avez cliqué sur LUNDI'
Dim rep As String
rep = MsgBox('Etes vous sur de vouloir continuer ?', 68, OK)

If rep = vbYes Then
Range('A1:I70').Select
Selection.Copy
Sheets('SAUVEGARDE JOURNEE').Select
ActiveWindow.SmallScroll Down:=-24
ActiveWindow.ScrollColumn = 1
Cells.Select
ActiveSheet.Paste
ActiveWindow.SmallScroll Down:=-18
Else
Exit Sub
End If
End Sub
Amicalement
Jean Marie
 

_Thierry

XLDnaute Barbatruc
Repose en paix
Bonjour Jean-Marie(Chti), BoSo, FyeS, le Forum

Moi je suis resté sur la Macro de Choix du Menu Déroulant qui était le point de départ de ce Fil, mais c'est vrai que le fichier est assez 'bazardique', en fait tu devrais prendre un exemple simple d'un fichier d'essaies tout simple et léger traîtant uniquement de ta question au lieu de nous mettre en lien sur un fichier volumineux.

Donc pour moi ça donne ceci, j'ai au passage aussi 'Débazardé' la façon de faire un copié/collé car le 'Cells.Select' avant un 'Paste' ne risque pas de bien fonctionner...

Sub Menu_Deroulant()
   
Select Case Sheets('SAISIE JOURNEE').Range('L27').Value
   
Case 1: Lundi
   
Case 2: Mardi
   
Case 3: Mercredi
   
Case 4: Jeudi
   
Case 5: Vendredi
   
End Select
End Sub

Sub Lundi()
Dim TheReply As Byte
Dim RSource As Range, RCible As Range

TheReply = MsgBox('Vous avez cliqué sur Lundi' & vbCrLf & vbCrLf & _
                          'Voulez-vous continuer ?', vbQuestion + vbOKCancel, 'Process pour Lundi')

   
If TheReply = vbOK Then
       
Set RSource = Sheets('SAISIE JOURNEE').Range('A1:I70')
       
Set RCible = Sheets('SAUVEGARDE JOURNEE').Range('A1')
           
            RSource.Copy Destination:=RCible
        MsgBox 'Operation Effectuée'
   
Else
        MsgBox 'Operation Annulée par Utilisateur'
   
End If
End Sub

A toi de faire les autres jours, mais je te conseille de dès à présent prendre des bonnes habitudes en supprimant tous les résidus de codes qui ne servent à rien dans tes modules car tu ne t'y retrouveras pas à la longue.

Bon Dimanche
@+Thierry
 
B

BoSo

Guest
C est vrai que c'est un peu le bordel sur mon fichier mais en fait j explore les deux possiblités que j ai pour ce document.
Je sais qu il doit y avoir pas mal de reisdu de code dans les modules, mais en fait hier c'etais la premiere fois ou je faisais des macros a partir du vba et ca je connais pas du toutn je ne fai que copier coller les codes que vous me filer et j essaye de les adapter sur mon fichier.
En tout cas merci bcp de vous etes pris la tete pour m aider je vais essayer de faire des modifs avec ce que vous m avez mis ds vos messages.
A plus tard et encore merci.
Je vous tiens au courrant (j espere que vous redemander conseils ne vous soulera pas!:unsure:?)
 

ChTi160

XLDnaute Barbatruc
re
je vous joint le fichier(Zip moins de 50Ko) ou j'ai modifié les boutons 7 9 10 et la liste
à voir et adapter
bon Dimanche
Jean Marie [file name=TABLEAU DE BORD HPC4_20050403120314.zip size=16757]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/TABLEAU DE BORD HPC4_20050403120314.zip[/file]
0ups j'ai pas vu Thierry
salut à toi et bon Dimanche

encore moi je pense qu'avec ça ils devraient dérouler Lol

Message édité par: ChTi160, à: 03/04/2005 12:05

Message édité par: ChTi160, à: 03/04/2005 12:08
 
Dernière édition:

Papy Novice

Nous a quitté
Repose en paix
Bonsoir _Thierry, le forum,
Voilà, j'ai mis en pratique l'utilisation de liste de validation selon les explications données dans :

XLD-Various-Combobox-Run-Macro.xls

Ca fonctionne impec sur la 1 liste, mais pas pour les listes 2 et 3
Y a-t-il une manip à effectuer ? (Listes par Données, Validation)
Merci pour les infos que vous me ferez parvenir
En vous souhaitant une bonne soirée
Jean
 

_Thierry

XLDnaute Barbatruc
Repose en paix
DEMO Xmacros par ListBox => Testeurs Demandés !!!

Bonsoir Papy Novice, le Fil, le Forum

Heureux de te re-croiser dans un fil, tous mes voeux de rétablissement, et bon retour parmis nous, car jecrois ne pas t'avoir encore croisé directement sur un Fil.

Je viens de télécharger la démo Lien supprimé et bien que je ne soies pas sur la même machine, je n'ai aucun souci...

Cette petite démo a été développée chez moi sous Excel 2000 / Win Me, et à l'instant je viens de la tester sous Excel XP 2002 / Win XP Pro, les trois Listes fonctionnent.

Quand tu dis 'Ca fonctionne impec sur la 1 liste' c'est donc la ComboBox 'ActiveX' barre d'outils Contrôles

Ce qui est étonnant c'est que c'est celle-ci qui pourraient éventuellement être un souci selon les versions (et les Macs probablement).

Mais la ComboBox barre d'outils Formulaire et la Liste de Validation sont justement les plus 'tolérées', je m'avoue un peu circonspect...pour te répondre, voyons voir ci-d'autres cas similaires se produisent...

SVP l'Equipe de Choc , test demandé !!!

Merci d'avance à tous ceux et celles qui voudront bien participer.

En attendant, Jean, je te propose aussi de redémarrer ta machine, parfois ça fait des miracles sous Windows... Et dans la foulée ce serait bien de connaître ta version d'Excel et de Windows...

Bonne Soirée
@+Thierry
 

ChTi160

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

présent
salut Jean de mieux en mieux j'espère
donc patron le test et Ok pour Win XP et Excel 2002
a votre disposition Lol
Bonne soirée
Amicalement
Jean Marie
Ps celà vient peut être des modifs que Papy a fait ????

Message édité par: ChTi160, à: 04/04/2005 18:57
 
P

Papy Novice

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

Bonsoir _Thierry, ChTi160, dg62, le forum
Merci à chacun de vous pour les voeux que vous formulez à mon égard, je suis très touché par tant de marque de sympathie qui me vont dorit au coeur.
Voilà, en feuille 1 j'ai 3 listes de validation dont chaque nom appelle une macro.
Fonctionnement impec pour ma liste 1 et rien pour les autres.
Peut-être dois-je changer quelque chose dans le code, j'avoue que je suis perdu mais rien de grave
Voici l'objet de ma demande : d'ou cela provient-il ?
Je suis sous Xp et 2003
Merci et bonne soirée
Jean
 

Papy Novice

Nous a quitté
Repose en paix
Re:DEMO Xmacros par ListBox => Testeurs Demandés !

Bonsoir _Thierry, ChTi160, dg62, le forum
Merci à chacun de vous pour les voeux que vous formulez à mon égard, je suis très touché par tant de marque de sympathie qui me vont dorit au coeur.
Voilà, en feuille 1 j'ai 3 listes de validation dont chaque nom appelle une macro.
Fonctionnement impec pour ma liste 1 et rien pour les autres.
Peut-être dois-je changer quelque chose dans le code, j'avoue que je suis perdu mais rien de grave
Voici l'objet de ma demande : d'ou cela provient-il ?
Je suis sous Xp et 2003

Zone de liste par Données, Validation, Liste - Source = Champ nommé

Dans Feuil1
Option Compare Text

Const T As String = '@+Thierry's Démo sur Excel-Downloads.com, April 2005'

Private Sub Worksheet_Change(ByVal Target As Range)
If Not Target.Address(0, 0) = 'M14' Then Exit Sub
Const Source As String = 'Liste de Validation Excel'
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
End Sub

Private Sub Worksheet_Res_Change(ByVal Target As Range)
If Not Target.Address(0, 0) = 'M16' Then Exit Sub
Const Source As String = 'Liste de Validation Excel'
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
End Sub
Merci et bonne soirée
Jean
 

Discussions similaires

Statistiques des forums

Discussions
312 234
Messages
2 086 468
Membres
103 226
dernier inscrit
smail12