Problème pour remplir une ComboBox créée ds formulaire
cs_elodie01
Messages postés2Date d'inscriptionjeudi 11 novembre 2004StatutMembreDernière intervention13 novembre 2004
-
11 nov. 2004 à 22:10
valtrase
Messages postés937Date d'inscriptionlundi 19 janvier 2004StatutMembreDerniè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.
A voir également:
Problème pour remplir une ComboBox créée ds formulaire
cboulas
Messages postés2641Date d'inscriptionmercredi 2 juin 2004StatutMembreDernière intervention 8 janvier 201416 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]
valtrase
Messages postés937Date d'inscriptionlundi 19 janvier 2004StatutMembreDernière intervention 9 mai 20223 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
FFkiller
Messages postés72Date d'inscriptionlundi 28 juin 2004StatutMembreDernière intervention12 mai 20051 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
valtrase
Messages postés937Date d'inscriptionlundi 19 janvier 2004StatutMembreDernière intervention 9 mai 20223 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