Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Afficher une valeur par défaut d'une Combo lors du chargement d'un UserForm

V

VBAMan

Guest
Salut !

Ma question doit paraître assez "bateau" pour certains mais je ne sais vraiment pas comment faire, pauvre débutant de moi.

Je souhaite faire afficher une valeur (en l'occurence la première valeur) d'une Combobox située sur un UserForm lorsque celui-ci se charge.

D'avance merci !!
 
@

@+Thierry

Guest
Bonsoir VBAMan (pas mal comme nom pour un débutant !! lol)

Je vais te copier un text que j'ai mis ici il y a pas longtemps mais le fil est tellement embrouillé !! (vous pensez avec Fab !!!)

Définition d'une ComBoBox
Utilisée dans un UserForm elle allie les caractéristiques d'un contrôle ListBox et d'un contrôle TextBox. L'utilisateur peut entrer une nouvelle valeur, comme dans un contrôle TextBox ou bien sélectionner une valeur existante comme dans un contrôle ListBox...

En VBA on peut initialiser sa valeur au démarrage du UserForm comme ceci :

Private Sub UserForm_Initialize()
ComboBox1.AddItem "Toto"
ComboBox1.AddItem "Lulu"
ComboBox1.AddItem "Zaza"
End Sub


ou encore comme ceci
Private Sub UserForm_Initialize()
ComboBox1.RowSource = "Feuil1!A1:A10"
End Sub

Mais attention les deux méthodes n'ont pas les même répercussions....
(Avec la Méthode AddItem on aura le droit à RemoveItem... Mais pas avec la Méthode RowSource) (Voir ce Fil car @Chistophe@ s'en souvient encore

Voilà pour une première approche...

Bonne découverte and Welcome to XLD Mr VBAMan !
@+Thierry
 
@

@+Thierry

Guest
Oups VBAMan

En relisant j'ai l'impression avoir zappé un truc dans le Titre "une valeur par défaut d'une Combo lors du chargement d'un UserForm"....

Parfois on fonce on fonce, et on oublie le principal !! lol

donc dans les deux soluces çi-dessus çà donnerait ça :

Private Sub UserForm_Initialize()
ComboBox1.RowSource = "Feuil1!A2:A10"
ComboBox1.ListIndex = 0
End Sub

Private Sub UserForm_Initialize()
ComboBox1.AddItem "Toto"
ComboBox1.AddItem "Lulu"
ComboBox1.AddItem "Zaza"
ComboBox1.ListIndex = 0
End Sub

Et en prime vu que j'avais oublié la valeur défaut ! voici comment faire la même chose en AddItem mais avec une boucle sur la feuil1 ...

Private Sub UserForm_Initialize()
Dim Item As String
Dim i As Byte
For i = 1 To 10
Item = Sheets("Database").Cells(i, 1).Value
ComboBox1.AddItem Item
Next i
ComboBox1.ListIndex = 0
End Sub


Voilà... je pense que cette fois ci ça répond mieux !!

@+Thierry
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…