Liste modifiable combobox
Résolu
loupti
Messages postés
30
Date d'inscription
Statut
Membre
Dernière intervention
-
pijaku Messages postés 12263 Date d'inscription Statut Modérateur Dernière intervention -
pijaku Messages postés 12263 Date d'inscription Statut Modérateur Dernière intervention -
Bonjour,
Je suis étudiante en troisième année de génie civil et dans le cadre d'un projet, je dois établir un programme informatique. Malheureusement je suis novice en la matière, je m'aide de livres et des forum, mais je ne trouve pas réponse à toutes mes questions...
Je rencontre un problème avec le code qu'il faut affecter à un combobox.
Voici comment se présente la boite déroulante qui contient ce menu déroulant

j'aimerais que le code permette :
-de choisir des valeurs déjà enregistrer dans le menu déroulant
-que l'utilisateur puisse créer de nouvelles valeur en cliquant sur ajouter
j'ai déjà essayer plusieurs codes mais aucun je ne suis pas arrivée à faire ce dont je souhaitais...
voici mon code actuel

merci par avance :)
Je suis étudiante en troisième année de génie civil et dans le cadre d'un projet, je dois établir un programme informatique. Malheureusement je suis novice en la matière, je m'aide de livres et des forum, mais je ne trouve pas réponse à toutes mes questions...
Je rencontre un problème avec le code qu'il faut affecter à un combobox.
Voici comment se présente la boite déroulante qui contient ce menu déroulant

j'aimerais que le code permette :
-de choisir des valeurs déjà enregistrer dans le menu déroulant
-que l'utilisateur puisse créer de nouvelles valeur en cliquant sur ajouter
j'ai déjà essayer plusieurs codes mais aucun je ne suis pas arrivée à faire ce dont je souhaitais...
voici mon code actuel

merci par avance :)
A voir également:
- Liste déroulante combobox vba
- Liste déroulante excel - Guide
- Liste déroulante en cascade - Guide
- Supprimer liste déroulante excel ✓ - Forum Excel
- Liste déroulante google sheet - Accueil - Guide bureautique
- Supprimer liste déroulante Excel ✓ - Forum Excel
1 réponse
Bonjour,
Puisque tu es sous Excel, utilise une feuille pour stocker les infos à afficher.
Exemple, dans une feuille nommée Data, en colonne A, à partir de A2, saisi tes infos.
Créer une fonction Alim_Combo, comme ceci :
A l'initialisation de ton Userform, Appelle la fonction créée ci-dessus comme ceci :
Au clic sur ton bouton de commande, enregistre le contenu de la combobox dans la feuille Data, en première ligne vide colonne A et relance ta fonction Alim_Combo. Comme ceci :
Puisque tu es sous Excel, utilise une feuille pour stocker les infos à afficher.
Exemple, dans une feuille nommée Data, en colonne A, à partir de A2, saisi tes infos.
Créer une fonction Alim_Combo, comme ceci :
Sub Alim_Combo() Dim Lig As Long Lig = 2 ComboBox1.Clear Do While Sheets("Data").Cells(Lig, 1) <> "" ComboBox1.AddItem Sheets("Data").Cells(Lig, 1) Lig = Lig + 1 Loop End Sub
A l'initialisation de ton Userform, Appelle la fonction créée ci-dessus comme ceci :
Private Sub UserForm_Initialize() Call Alim_Combo End Sub
Au clic sur ton bouton de commande, enregistre le contenu de la combobox dans la feuille Data, en première ligne vide colonne A et relance ta fonction Alim_Combo. Comme ceci :
Private Sub CommandButton1_Click() Sheets("Data").Range("A" & Rows.Count).End(xlUp).Offset(1, 0) = ComboBox1 Call Alim_Combo End Sub
Ce tableur excel à déjà une mise en forme au niveau des colonnes et au niveau des lignes en fait ce que j'aimerais faire c'est que en fonction du type de document, mes informations soient retranscrites dans le bon endroit.
De plus en fonction des projets, le type de plan utilisé peut varié.
j'ai réussi à initialisé mon tableau avec le type de plan qu'on retrouve très souvent mais j'aimerais qu'on puisse agrémenter la liste si besoin...
Ta méthode est faisable, en mémoire, mais à chaque ouverture / fermeture de classeur, tu annules tout...
Donc, il faut que tes données soient enregistrées, en "dur", quelque part. Soit dans ton classeur...
Après, si tu veux que cela soit invisible, tu peux toujours enregistrer ça dans les noms de ton classeur, mais ça risque de l'alourdir inutilement...