[Excel - UserForm] ComboBox

Résolu
Signaler
Messages postés
50
Date d'inscription
mercredi 28 mars 2007
Statut
Membre
Dernière intervention
31 août 2007
-
Messages postés
7393
Date d'inscription
mercredi 23 avril 2003
Statut
Membre
Dernière intervention
6 avril 2012
-
Bonjour a tous et a toutes,

J'ai une petite question, un petit problème qui m'embete.
Alors je suis dans Visual Basic Editor, et j'aimerais faire une ou deux choses:

- Premièrement: Ajouter des valeurs de 0 à 9 dans un combo box
- Deuxièmement: Ne pas pouvoir changer, voir, mettre autre chose que ces chiffres.

Voila c'est tout, cela ne doit pas etre très difficile, mais je ne sais pas comment faire.

Si vous pouvez, et vous avez envie de m'aider, et bien volontier!

Lucien

6 réponses

Messages postés
7393
Date d'inscription
mercredi 23 avril 2003
Statut
Membre
Dernière intervention
6 avril 2012
58
Salut,
- ajouter un Combo appelé Combo1 a un UserForm
- Mettre sa propriété Style à 2 - frmStyleDropDownList
- Coller ce code pour ajouter les valeurs.

Private Sub UserForm_Activate()
Dim i As Integer
   For i = 0 To 9
       Call ComboBox1.AddItem(CStr(i))
   Next
   ComboBox1.ListIndex = 0
End Sub , ----
[code.aspx?ID=41455 By Renfield]
Pas très compliqué... un peu de recherche et tu aurais trouvé

@+: Ju£i?n
Pensez: Réponse acceptée
Messages postés
7393
Date d'inscription
mercredi 23 avril 2003
Statut
Membre
Dernière intervention
6 avril 2012
58
re,
correction
- ajouter un Combo appelé ComboBox1 a un UserForm
@+: Ju£i?n
Pensez: Réponse acceptée
Messages postés
50
Date d'inscription
mercredi 28 mars 2007
Statut
Membre
Dernière intervention
31 août 2007

Merci beaucoup, problème résolu ;-]

PS: a quoi sert le (CStr(i)) ?

Lucien
Messages postés
7393
Date d'inscription
mercredi 23 avril 2003
Statut
Membre
Dernière intervention
6 avril 2012
58
Re,
i est un entier Cstr() le convertit en chaine de caractere.
=> Cstr est ici Optionnel mais c'est toujours "mieux" de le mettre

@+: Ju£i?n
Pensez: Réponse acceptée
Messages postés
50
Date d'inscription
mercredi 28 mars 2007
Statut
Membre
Dernière intervention
31 août 2007

Re,

Ok merci donc

Call
ComboBox1.AddItem



(i) aurait suffit?

Et le Cstr() est utile si l'on fait par exemple



For i = a To z


ou bien?

Lucien
Messages postés
7393
Date d'inscription
mercredi 23 avril 2003
Statut
Membre
Dernière intervention
6 avril 2012
58
Salut,
En règle générale VBA arrive à faire un convertion d'un entier vers un String.

Mais il est plus "propre" de lui spécifié directement par le code avec CSTR()

For i = a To z: non car ici a et z doivent etre de type Numerique et non String
@+: Ju£i?n
Pensez: Réponse acceptée