Problème pour remplir une ComboBox créée ds formulaire

cs_elodie01 Messages postés 2 Date d'inscription jeudi 11 novembre 2004 Statut Membre Dernière intervention 13 novembre 2004 - 11 nov. 2004 à 22:10
valtrase Messages postés 937 Date d'inscription lundi 19 janvier 2004 Statut Membre Dernière intervention 9 mai 2022 - 18 avril 2005 à 23:07
Bonjour,

Je suis débutante en programmation VB et j'ai besoin d'aide !

Je vous explique :
- j'ai une base de données sur une feuille Excel (nommée "base de données").
- j'ai créé une liste déroulante dans un formulaire sous VB

Je voudrais que les données figurant dans la 2ème colonne de ma feuille Excel figurent dans ma liste déroulante.

Voici ce que j'ai fait (mais ça ne marche pas !!!) :

**************
Private Sub UserForm1_Initialize()
Dim i As Integer
If ComboBox.ListCount = 0 Then
For Each cell(i) In Sheets("base de données").Range("a1:j9")
ComboBox1.AddItem (i)
Next i
End If
End Sub
***************

Si qqun peut m'aider, ça serait super sympa !!

D'avance merci.
Elo.

7 réponses

cboulas Messages postés 2641 Date d'inscription mercredi 2 juin 2004 Statut Membre Dernière intervention 8 janvier 2014 16
11 nov. 2004 à 23:22
Salut, ta méthode me parrait assez correcte
je ne connais pas trop VBA donc tout ce qui sera entièrement en majuscule devra être remplacer par le nom correct sous VB
essai avec ceci :

i=0
For Each cell(i) In Sheets("base de données").Range("a1:j9")
ComboBox1.AddItem cell(i)
Next i


Chris...
Web : Firstruner - eMail : [mailto:support@firstruner.com Support]
0
valtrase Messages postés 937 Date d'inscription lundi 19 janvier 2004 Statut Membre Dernière intervention 9 mai 2022 3
11 nov. 2004 à 23:56
lut o:)

Petit bout de code à perfectionner.
ça te donnera les bases
@+

Private Sub UserForm_Initialize()
For X = 1 To 10
If Feuil1.Cells(X, 1) <> "" Then
ListBox1.AddItem Feuil1.Cells(X, 1)

End If
Next
End Sub
0
valtrase Messages postés 937 Date d'inscription lundi 19 janvier 2004 Statut Membre Dernière intervention 9 mai 2022 3
12 nov. 2004 à 01:14
Bon je reviens sur ton code
d'office la boucle for each va parcourir tous les éléments de ta collection donc pas besoin de i
ensuite je ne comprend pas pourquoi voulant les données de la 2ème colonne tu sélectionnes une plage plus importante ?????
Range("A1:J9")
Je te conseille de donner un nom à ta plage de celulles comme je l'ai fait question de clarté dans ton code pour cela tu sélectionnes tes celulles dans ta feuille et tu affectes un nom dans la zone nom de la barre d'outils.

Bonne prog.......

Dim MyCell As Range

For Each MyCell In Worksheets("base de données").Range("maliste")
ListBox1.AddItem MyCell.Text
Next
0
cs_elodie01 Messages postés 2 Date d'inscription jeudi 11 novembre 2004 Statut Membre Dernière intervention 13 novembre 2004
13 nov. 2004 à 18:32
Bonsoir,

Merci pour vos réponses.

Je viens d'essayer et ça ne fonctionne pas, mais je vais m'en servir de base pour revoir mon truc. Il doit y avoir un autre problème !

Elo.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
FFkiller Messages postés 72 Date d'inscription lundi 28 juin 2004 Statut Membre Dernière intervention 12 mai 2005 1
18 avril 2005 à 21:57
Bonsoir,



Esayes de mettre un nom pour ton tableau (insertion "Nom") dans les
propriétés de ta combobox mets le nom de ton tableau dans rowsource et
la valeur 2 dans ColumnCount



FFkiller
0
valtrase Messages postés 937 Date d'inscription lundi 19 janvier 2004 Statut Membre Dernière intervention 9 mai 2022 3
18 avril 2005 à 23:05
Re,

tu ne dois pas utiliser de i puisque ton for each parcour toutes les cellules
Dim cell as range, Myrange as Range
set MyRange = Sheets("Base de données").Range("A1:J9")

ComboBox1.Clear
For Each cell In MyRange
ComboBox1.AddItem cell.Value
Next i

Cordialement, Jean-Paul
______________________________________________________________________

Le Savoir n'a de valeur que s'il est partagé
0
valtrase Messages postés 937 Date d'inscription lundi 19 janvier 2004 Statut Membre Dernière intervention 9 mai 2022 3
18 avril 2005 à 23:07
oups, vé trop vite dans les cup and paste
enlèves le i de next i

Cordialement, Jean-Paul
______________________________________________________________________

Le Savoir n'a de valeur que s'il est partagé
0
Rejoignez-nous