XL 2013 Des Noms de MACROS dans une liste déroulante ??!!

Dicas

XLDnaute Junior
Bonjour à toutes et tous !!
J'ai créé un classeur Excel qui est commandé par divers Macros qui sont engagées par des clics de 12 boutons....
Je veux regrouper ces macros en 3 listes déroulantes :
  1. Liste déroulante 1 pour choisir entre une ou deux semaines de portée "habituelles" de calculs précis de besoins (2 lignes).
  2. Liste déroulante 2 pour choisir, pour des cas exceptionnels des durées qui porteraient au delà de ces deux semaines de 0 à 9 semaines supplémentaires... pour des calculs d'estimations de besoins (10 lignes)
  3. Liste déroulante 3 pour déterminer le type de traitement qui peuvent s'imposer aux critères précédents (calculs de simulations de besoins; Elaborations de commandes mais aussi des actions indépendantes (Corrections d'inventaire; Livraisons; Ajout de lignes produit; Mise à jour de consommation ptrévisionnelle etc..)
Mon problème est donc, à chaque fois, de produire une liste déroulante dont chaque ligne est une macro qui démarre au clic de sélection.
Comment fait-on çà ???
 

Dicas

XLDnaute Junior
Bonjour Pierre Jean !
Oui, j'ai bien là ,une liste déroulante mais qui ne répond pas à mon Pb qui dit, lui que ton 1 comme ton 2 ou ton 3 est le nom d'une macro. Si je remplace ces 1, 2 ou 3 par des noms de macros, celles-ci ne fonctionnent pas...
 

Dicas

XLDnaute Junior
Merci pierrejean ! Merci Gégé 45550
J'ai enfin vu la seconde fenêtre...!! Ça doit être un des effets du confinement ! D'ailleurs, vous connaissez sans aucun doute l'expression : quant on est confiné on est confiné...
Pour tout dire, ta réponse pierrejean me convient très bien !! Merci Gégé de m'avoir mis le nez dessus !!
Il me reste pourtant à creuser ce que patricktoulon vient de me glisser .... et qu'il me convient de documenter...
 

Pièces jointes

  • ClasseurTest1.xlsx
    19.9 KB · Affichages: 7

Gégé-45550

XLDnaute Accro
re-bonjour,
petite précision qui semble évidente mais qui n'est pas forcément inutile : pour éviter que le code plante ou fasse n'importe quoi si un changement intervient sur une autre cellule que celle ou figure la liste de validation (en l'occurrence la cellule A1), il convient de modifier la macro dans feuil1 comme ceci :
VB:
Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Intersect(Target, Range("A1")) Is Nothing Then
        Application.Run Target.Text   'pour obéir à la dernère recommandation une fois de plus hyper pertinente de patricktoulon
    End If
End Sub

Bien cordialement,
 

Dicas

XLDnaute Junior
Merci à patricktoulon !! J'avais fait ça comme ça et pour une raison qui m'est encore inconnue ça n'acceptait pas l'intitulé comme "macro". En reprenant les B A BA comme tu me l'a suggéré et en étant , cette fois plus attentif... ça marche ! MERCI à vous trois !!!
 

Discussions similaires

Statistiques des forums

Discussions
314 486
Messages
2 110 107
Membres
110 667
dernier inscrit
andco