|
|
|
|
[VBA] mise à jour liste déroulante combobox
Dernière réponse le 4 sep 2008 à 23:14:56 assin31, le 21 mai 2008 à 10:56:13Bonjour,
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
C'est pas pratique alors de mettre à jour la combobox ...
|
Oui un truc comme ça ... mais comme ta liste va évoluer, il faut prévoir de parcourir toute la liste. Voilà comment faire.
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 «Ce que l'on conçoit bien s'énonce clairement, Et les mots pour le dire arrivent aisément.» Nicolas Boileau |
De la meme façon, avec une routine qui va vérifier si l'entrée est ou pas dans la liste.
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 «Ce que l'on conçoit bien s'énonce clairement, Et les mots pour le dire arrivent aisément.» Nicolas Boileau |
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).
|

