Excel/VBA - Remplir ComboBox avec valeurs
Résolu
RussellD
Messages postés
60
Statut
Membre
-
RussellD Messages postés 60 Statut Membre -
RussellD Messages postés 60 Statut Membre -
Bonjour à tous,
J'ai sur ma feuille Excel2003 un ComboBox (créé via le mode Création, et pas une liste déroulante créée par Données/Validation). Je souhaiterais que lorsque j'ouvre ma feuille Excel, elle se "charge" avec les valeurs d'une plage de cellules (exemple plage (Q1:Q4)).
Je n'arrive pas à cela, j'ai essayé (sur VBA) :
cela ne fonctionne pas.. J'ai essayé en enlevant les "", en enlevant le .Value, bref j'ai bidouillé cette syntaxe sans parvenir à mes fins. Suite à une suggestion sur un autre forum j'ai essayé ceci :
Mais cela ne fonctionne pas, il m'affiche l'erreur "Objet Requis". Quelqu'un a-t-il une idée pour résoudre ce problème?
Merci d'avance pour vos réponses,
Cordialement
J'ai sur ma feuille Excel2003 un ComboBox (créé via le mode Création, et pas une liste déroulante créée par Données/Validation). Je souhaiterais que lorsque j'ouvre ma feuille Excel, elle se "charge" avec les valeurs d'une plage de cellules (exemple plage (Q1:Q4)).
Je n'arrive pas à cela, j'ai essayé (sur VBA) :
Private Sub WorkBook_Open()
ComboBox1.RowSource = Sheets("Feuil1").Range("Q1:Q4").Value
End sub
cela ne fonctionne pas.. J'ai essayé en enlevant les "", en enlevant le .Value, bref j'ai bidouillé cette syntaxe sans parvenir à mes fins. Suite à une suggestion sur un autre forum j'ai essayé ceci :
Private Sub WorkBook_Open()
ComboBox1.List = Sheets("Déperditions").Range("Q1:Q4").Value
End Sub
Mais cela ne fonctionne pas, il m'affiche l'erreur "Objet Requis". Quelqu'un a-t-il une idée pour résoudre ce problème?
Merci d'avance pour vos réponses,
Cordialement
6 réponses
-
Bonjour pijaku,
merci beaucoup, ton astuce fonctionne parfaitement. Néanmoins j'ai un nouveau problème : les valeurs se stockent bien dans la ComboBox, mais lorsque je clique dessus elles ne s'affichent pas dans celle-ci... Est-ce lié à l'évenement utilisé?-
Oui c'est normal. Autant pour moi. Utilise l'évènement : BeforeDropOrPaste
Private Sub ComboBox1_BeforeDropOrPaste(ByVal Cancel As MSForms.ReturnBoolean, ByVal Action As MSForms.fmAction, ByVal Data As MSForms.DataObject, ByVal X As Single, ByVal Y As Single, ByVal Effect As MSForms.ReturnEffect, ByVal Shift As Integer) ComboBox1.Clear Dim i As Integer For i = 1 To 6 ComboBox1.AddItem Cells(i, 8) Next i End Sub
-
-