[VBA] mise à jour liste déroulante combobox
Résolu
assin31
Messages postés
6
Date d'inscription
Statut
Membre
Dernière intervention
-
madinho2002 Messages postés 2 Date d'inscription Statut Membre Dernière intervention -
madinho2002 Messages postés 2 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Sur Excel (VBA) j'ai une combobox où j'ai ajouter des item
Seulement je voudrais à présent que lorsque l'utilisateur entre une entrée qui n'est pas dans la liste de la combobox cette entrée soit automatiquement rajouter à la liste pour des usages ultérieurs.
En attendant votre aide je vous remercie d'avance
Sur Excel (VBA) j'ai une combobox où j'ai ajouter des item
Seulement je voudrais à présent que lorsque l'utilisateur entre une entrée qui n'est pas dans la liste de la combobox cette entrée soit automatiquement rajouter à la liste pour des usages ultérieurs.
En attendant votre aide je vous remercie d'avance
7 réponses
oui un truc comme ça ... mais comme ta liste va évoluer, il faut prévoir de parcourir toute la liste. Voilà comment faire.
En considère que tes items sont sur la feuille 4 et commencent dans la colonne A à la ligne 2.
voili, voilou
;o)
polux
En considère que tes items sont sur la feuille 4 et commencent dans la colonne A à la ligne 2.
Dim i As Long i = 2 While Worsheets("Feuil4").Range("A" & i).Value <> "" UserForm1.ComboBox1.Additem Worsheets("Feuil4").Range("A" & i).Value i = i + 1 Wend
voili, voilou
;o)
polux
De la meme façon, avec une routine qui va vérifier si l'entrée est ou pas dans la liste.
Une fois qu'un choix ou une saisie a été faite dans la combobox, tu dois avoir un bouton pour valider. Si c'est le cas voilà comment faire :
Voilà, tu dois avoir tout ... j'ai fait ça à la volée, sans tester, il y a peut être des beugs ...
;o)
polux
Une fois qu'un choix ou une saisie a été faite dans la combobox, tu dois avoir un bouton pour valider. Si c'est le cas voilà comment faire :
Private Sub bouton_Ok_Click() Dim i As Long i = 2 If doesExist(ComboBox1.Text) = False Then While Worsheets("Feuil4").Range("A" & i).Value <> "" i = i + 1 Wend Worsheets("Feuil4").Range("A" & i + 1).Value = ComboBox1.Text End If ComboBox1.Clear Call InitialiseComboBox End Sub Private Function doesExist(ByVal str As String) As Boolean Dim i As Long i = 2 While Worsheets("Feuil4").Range("A" & i).Value <> "" If Worsheets("Feuil4").Range("A" & i).Value = str Then doesExist = True Exit Function End If i = i + 1 Wend doesExist = False End Function Private Sub InitialiseComboBx() Dim i As Long i = 2 ComboBox.Clear While Worsheets("Feuil4").Range("A" & i).Value <> "" ComboBox1.Additem Worsheets("Feuil4").Range("A" & i).Value i = i + 1 Wend End Sub
Voilà, tu dois avoir tout ... j'ai fait ça à la volée, sans tester, il y a peut être des beugs ...
;o)
polux
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
C'est pas pratique alors de mettre à jour la combobox ...
Je te conseille de mettre les items dans une feuille (que tu la caches si besoin) et que tu charges ta combobox à partir des données de cette feuille. Ensuite lorsque qu'il y a une nouvelle entrée, il suffit de l'enregistrer dans la feuille à la suite des autres items.
Fait une procédure d'initialisation de ta combobox que tu appelles dans userform_initialize() et en fin de combobox1_change().
Si tu as besoin d'aide, reviens ici.
;o)
polux
Je te conseille de mettre les items dans une feuille (que tu la caches si besoin) et que tu charges ta combobox à partir des données de cette feuille. Ensuite lorsque qu'il y a une nouvelle entrée, il suffit de l'enregistrer dans la feuille à la suite des autres items.
Fait une procédure d'initialisation de ta combobox que tu appelles dans userform_initialize() et en fin de combobox1_change().
Si tu as besoin d'aide, reviens ici.
;o)
polux
salut la communauté! depuis 2 semaines ke je cherche en vain sur les forums la solution à mon pb. En fait j'ai un combobox ke je ve remplir avec les noms de certaines colonnes( préalablement nommés).
Ex: j'ai renommé les colonnes A, B et C en Alain, Bernard et Carlos
je veux donc voir afficher dans ma combobox les nom Alain , Bernard et Carlos
Cela m'aiderait à automatiser des données sur exCEL
MERCI
Ex: j'ai renommé les colonnes A, B et C en Alain, Bernard et Carlos
je veux donc voir afficher dans ma combobox les nom Alain , Bernard et Carlos
Cela m'aiderait à automatiser des données sur exCEL
MERCI
seulement j'ai un autre problème, je veux que l'entrée se rajoute à ma liste déroulante seulement si il n'y ait pas déjà comment faire ?