Liste Deroulante

  • Initiateur de la discussion STEPHANE
  • Date de début
S

STEPHANE

Guest
Bonsoir,

Etant débutant je souhaiterais savoir comment s'il est possible d'affecter une macro qui sera différente à chaque élément d'une liste déroulante.
Si oui, pouvez vous m'indiquez comment faire svp ?
Autrement, j'ai vu dans l'aide qu'il était possible de créer un objet de type combobox ou listbox mais je dois avouer que je suis perdu.

Je me suis basé sur cet exemple mais je n'arrive pas à le reproduire (j'ai une erreur de variable ComboBox1 qui n'est pas reconnu)

Private Sub ComboBox1_Change()

If ComboBox1.Value = "1" Then Range("A20").Select
If ComboBox1.Value = "2" Then Range("A40").Select
If ComboBox1.Value = "3" Then Range("A60").Select
If ComboBox1.Value = "4" Then Range("A80").Select
If ComboBox1.Value = "5" Then Range("A100").Select
End Sub

Private Sub UserForm_Initialize()
With ComboBox1
.AddItem "Start"
.AddItem "1"
.AddItem "2"
.AddItem "3"
.AddItem "4"
.AddItem "5"
End With
End Sub

J'espère avoir été assez claires dans mes explications.
Merci à tous pour tout aide.
 
V

Valérie

Guest
Salut Stéphane et le forum,

Si j'ai bien tout compris la liste dont tu parrles est une liste de validation. Tu veux faire en sorte qu'en fonction de la sélection une macro se lance. Tu peux le faire de la façon suivante :

en allant avec Alt F11 dans l'éditeur, 2 clics sur la feuille concernée tu choisis Worksheet à la place de Général et Change pour l'évènement, ensuite place le code suivant :

If Target.Address = "Adresse de ta liste" Then
Select Case Target
Case "PremiereValeur":
Actions à réaliser
Case "DeuxièmeValeur":
Actions à réaliser
Case "TrosièmeValeur":
Actions à réaliser
End Select

J'espère avoir cerné ton soucis
@ bientôt
Valérie
 
S

STEPHANE

Guest
Salut Valérie et le forum,

Merci Valérie pour ta réponse.
Je sais pas si c'est une liste de validation que j'ai.
J'ai créé une "Zone de liste déroulante" à partir du menu "Formulaires" est ce que c'est la meme chose qu'une liste de validation ?
Si non,est il plus approprié dans mon cas dans créer une ?
Comment faire ?
Vu que je me perd dans les explications je t'envoie un exemple de mon fichier.
Merci encore pour ta réponse.
 

Pièces jointes

  • Classeur1.xls
    21.5 KB · Affichages: 34
  • Classeur1.xls
    21.5 KB · Affichages: 43
  • Classeur1.xls
    21.5 KB · Affichages: 40
@

@+Thierry

Guest
Bonjour BipBipCoyote, Valérie, Stéphane


Juste pour faire remarquer que ton site est très bien BipBip, mais toutefois veillons à ne pas trop multiplier les Post avec des liens vers d'autres sites...

Pour mettre un lien actif dans ce Forum BipBip, par contre, je te conseille de voir cette page FAQ du Forum

Bon Appétit
@+Thierry
 
V

Valérie

Guest
Salut Stéphane,

J'ai fait simple,

J'ai sélectionné la cellule F6 que j'ai nommée Lien, ensuite je me sert de cette cellule afin de déterminer la colonne de tri de la façon suivante:

Range("B5:V25").Sort Key1:=Cells(6, Range("Lien")), Order1:=xlDescending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, DataOption1:=xlSortNormal

J'espère que c'est ce que tu cherché à faire
@+ tard
Valérie
 

Pièces jointes

  • PenseAZipper.zip
    7.4 KB · Affichages: 20
S

STEPHANE

Guest
Merci beaucoup Valérie c'est exactement ce que je souhaite faire.
J'ai regardé le code j'ai bien compris comment tu as fait mais il y a quelque chose que je n'ai pas saisi:
1) Je vois que ce code y a t'il un autre endroit avec du code présent ?

Sub Menu_Deroulant()
Range("B5:V25").Sort Key1:=Cells(6, Range("Lien")), Order1:=xlDescending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal

'MsgBox "Trié sur la cellule " & Cells(6, Range("Lien")).Address
End Sub

2) J'arrive bien à créer la cellule "Lien" mais je n'arrive pas à lier cette cellule à la liste.

3) Je comprends pas comment tu as fait pour que la cellule contiennent les valeurs en fonction du choix que l'on fait.

Désolé si je t'embête mais je suis vraiment perdu en tant que débutant !!!
Merci énormément en tout cas pour toutes les réponses qui ont répondu à mes (grandes) attentes.
 
B

bipbipcoyote

Guest
Si je place des liens, ce n'est pas pour faire concurrence mais pour ne pas avoir à tout réexpliquer à chaque fois (il y a des questions qui reviennent bien souvent dans les différents forums)....De plus une petite image est plus parlante qu'un long texte.... Ce site n'est d'ailleurs que mon aide mémoire... Désolé de ne pas avoir placé les balises adéquates pour rendre le lien actif
 
V

Valérie

Guest
Hello à tous,

Non il n'y a pas d'autre endroit avec du code simplement sur la liste du fait un clic droit pour accéder aux propriétés (Format de controle) et là tu peux définir ta cellule liée

Courage t'es preque au bout...
Valérie
 

Membres actuellement en ligne

Statistiques des forums

Discussions
312 206
Messages
2 086 219
Membres
103 158
dernier inscrit
laufin