liste de choix

  • Initiateur de la discussion lba
  • Date de début
L

lba

Guest
bonjour à toutes et à tous,
je souhaite créer un menu déroulant (liste de choix) dans excel , j'ai donc crée une useform ou jai inséré une zone de liste , mais je sais pas quel code inscrire pour rendre actif mon menu déroulant.
Pourriez vous m'aider?
Merci
 
R

Ronan

Guest
Bonsoir,

Il faut initialiser la liste déroulante en fonction des valeurs que tu veux y inscrire.

Si par hasard, tes valeurs se trouvent dans une plage A1:A10, il faut inscrire dans le module "Private Sub UserForm_Initialize()" la ligne suivante :

Me.ComboBox1.RowSource = "=Feuil1!A1:A10"

Pour lui dire que les valeurs se trouvent sur la Feuille "Feuil1" dans la plage "A1:A10"

Sinon, si les valeurs ne se trouvent dans aucune des feuilles du classeur, il faut inscrire la ou les lignes suivantes :

Me.ComboBox1.AddItem "Bonjour"
Me.ComboBox1.AddItem "Coucou"
Me.ComboBox1.AddItem "Hello"

@+

Ronan
 
L

lba

Guest
bonjour ronan , merci.

en fait, ma liste de données se trouve dans la feuille 4, ligne A17 à A30.
j'ai donc insrcit :


Private Sub UserForm_Initialize()
Me.ComboBox1.RowSource = "=Feuil4!A17:A30"
End Sub


Ensuite j'ai cliqué sur "Executer Sub/User Form" (bouton play).
Et il y a une erreur : "impossible d'executer la propriété Rowsource. Valeur de propriété non valable".

avec "erreur de compilation" pour "Private Sub UserForm_Initialize()".

je sais pas quoi faire!!! Quelles sont les étapes à suivre ??

Pour la suite, en fait je souhaiterais tout simplement que cette case "menu déroulant" se trouve dans la cellule J6, onglet 5 .

Comment faire???

Merci beaucoup.
Ton aide m'est précieuse!
 
E

Eric C

Guest
Bonjour le forum
Bonjour Ronan & lba

Sans vouloir te vexer il semblerait que tes données ne se trouvent pas dans la feuille 4 ou que celle ci soit mal nommée dans le code de ta procédure. Il faut nommer ta feuille avec le nom qui lui est donné dans ton VBAPROJECT (Fenêtre de droite Feuil1 2 ....). Regarde bien comment ta feuille est nommée puis respecte la casse lorsque tu l'appelles dans ta procédure.
@++ Eric C
 
L

lba

Guest
non biensur que je ne me vexe pas, au contraire merci pour votre aide !!

effectivement ma liste de données se trouve dans la "Feuil7" , et non la feuille 4, comme indiquée dans la VBAProject.

et l'onglet dans lequel je souhaiterais qu'il y ait le menu déroulant est 'Feuil1'.

j'ai donc écrit :

Private Sub UserForm_Initialize()
Me.ComboBox1.RowSource = "=Feuil7"!A17:A30"
End Sub

et il y a tjr erreur de compilation.

HELP !
 
R

Ronan

Guest
Bonjour,

la fonction suivante :

Private Sub UserForm_Initialize()
Me.ComboBox1.RowSource = "=Feuil7!A17:A30"
End Sub

Ne fonctionne que si tu as dans ton userform un combobox nommé combobox1 (propriété "name" de l'objet combobox

Si ton combobox est nommé combobox2 il faut inscrire :

Private Sub UserForm_Initialize()
Me.ComboBox2.RowSource = "=Feuil7!A17:A30"
End Sub

Si ton combobox porte un nom complètement différent, CAD par exemple "MaListe", il faut mettre :

Private Sub UserForm_Initialize()
Me.MaListe.RowSource = "=Feuil7!A17:A30"
End Sub

Tout dépend donc du nom de l'objet

Si problème persistant, joindre fichier pour étude approfondie

@+

Ronan
 
L

lba

Guest
rebonjour ronan,

ca marche ! jai finalemnt réussi à activer l'obet..

Private Sub UserForm_Initialize()
Me.ComboBox1.RowSource = "=Feuil2!A2:A13"
End Sub

je tenvoie en piece jointe mon doc excel , avec en feuille 2 la liste de choix.

mais comment faire pour que l'obet soit dans la feuille 1 (exemple cellule B2), autrment dit pour que pour chaque question , on puisse choisir parmi la liste des risques.

et comment faire pour que en fermant la fenetre visual basic, l'obet reste !!!

désolée je sais que ce sont des questions betes mais je suis vraiment novice !! :)

MERCI ENCORE
 

Pièces jointes

  • listederisques.zip
    0 bytes · Affichages: 20
  • listederisques.zip
    0 bytes · Affichages: 17
  • listederisques.zip
    0 bytes · Affichages: 19
E

Eric C

Guest
Re le forum
Re lba, bonjour Ronan

Lba tu ne peux dans l'immédiat poster de fichiers zippés car David rencontre des problèmes avec son hébergeur et ceux ci seront solutionnés ce W.End. Si ton problème urge (Céléda, Thierry & les autre, milles excuses) tu me le postes à charge pour moi si j'y parvient de remettre le fichier sous le présent post car je ne situes pas trop ton problème de vouloir mettre un USF sur une feuille déterminée ??
Si tu n'es pas pressé, tu patientes ...
@ ++ Eric C
 

Discussions similaires

Réponses
15
Affichages
634

Membres actuellement en ligne

Aucun membre en ligne actuellement.

Statistiques des forums

Discussions
312 699
Messages
2 091 109
Membres
104 764
dernier inscrit
lelefoot