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

Liste déroulante et macro

benoa

XLDnaute Junior
Bonjour,

Je souhaiterais créer une liste déroulante qui lance différentes macros suivant la sélection de l'utilisateur. Pour cela, je créer ma liste déroulante "à la main" à l'aide de la commande suivante :

Données => Validation => Option => Liste puis je rentre ma liste : NomMacro1; NomMacro2; NomMacro3...

ensuite, je souhaiterais qu'a la saisie de l'un des éléments de la liste, la macro s’exécute, ainsi je crée une macro Menu qui redirige ces Macros :

Public Sub Menu()

Dim choix As Byte
choix = Range("H5").Value

Select Case choix
Case 1
Call Macro1
Case 2
Call Macro2
Case 3
Call Macro3​

End Select
End Sub


Non seulement, je n'arrive pas à affecter cette macro à la liste déroulante, mais j'ai aussi une erreur '13' : Incompatibilité de type à la ligne rouge.

Quelqu'un pourrait-il m'éclairer sur ces deux problèmes.
Merci à tous pour vos suggestions.
 

Paf

XLDnaute Barbatruc
Re : Liste déroulante et macro

bonjour
Range(...).Value est du type string et n'est donc pas directement exploitable en numérique; il faudrait utiliser quelque chose du style :
Val(Range(...).Value)

Bonne suite
 

benoa

XLDnaute Junior
Re : Liste déroulante et macro

Merci pour vos réponses, c'est vraiment génial, juste une dernière question, comment avez vous affecté les trois macro à la liste déroulante, quelle est la marche à suivre?

Cordialement
 

john

XLDnaute Impliqué
Re : Liste déroulante et macro

Il faut se servir du Private "Sub Worksheet_Change(ByVal Target As Range)" ==> donc ça détecte si il y a un changement sur la feuille. Là on test si c'est la cellule "B1" (uniquement celle-là dans mon exemple) qui est modifiée.

Ensuite selon le choix dans la liste on exécute telle ou telle macro...

BàT.

John
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…