VBA-Excel Une boucle pour remplir une combobox [Résolu/Fermé]

Signaler
Messages postés
6
Date d'inscription
samedi 16 août 2008
Statut
Membre
Dernière intervention
1 mars 2016
-
Messages postés
6
Date d'inscription
samedi 16 août 2008
Statut
Membre
Dernière intervention
1 mars 2016
-
Bonjour à tous

J'ai besoin de pouvoir remplir une combobox (box_ville)dans un formulaire (form_ajout) avec une plage de cellule provenant d'une feuille de calcul(Feuil1). Voilà le code que j'ai écrit dans le UserForm:

Private Sub form_ajout_Initialize()

Dim i As Integer
i = 1
Do While Worksheets("Feuil1").Cells <> 0
box_ville.AddItem Sheets("Feuil1").Cells(i, 1)
i = i + 1
Loop
End Sub

Quand j'initialise le formulaire, rien ne se passe dans la combobox concernée.
Le problème semble venir de l'affichage puisque la boucle suivante fonctionne très bien quand je la code dans un autre module et que je l'exécute:

Private Sub testboucle()

Dim i As Integer
i = 1
Do While Worksheets("Feuil1").Cells(i, 1) <> 0
MsgBox Worksheets("Feuil1").Cells(i, 1).Value
i = i + 1
Loop
End Sub

Voilà, si quelqu'un pouvait me venir en aide, cela m'aiderait grandement. Je précise que je débute et que ceci est pour le premier système que je crée seul.
Autre chose, je travaille avec excel 2011 mac, donc inutile d'évoquer la propriété RowSource.

Merci d'avance




3 réponses

Messages postés
7101
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
30 novembre 2020
579
Bonjour,

comme ceci:

Private Sub UserForm_Initialize()
Dim i As Integer
i = 1
Do While Worksheets("Feuil1").Cells(i, 1) <> 0
box_ville.AddItem Sheets("Feuil1").Cells(i, 1)
i = i + 1
Loop
box_ville.ListIndex = 0
End Sub


@+ Le Pivert
1
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 76687 internautes nous ont dit merci ce mois-ci

Messages postés
6
Date d'inscription
samedi 16 août 2008
Statut
Membre
Dernière intervention
1 mars 2016

Merci de ton aide.
Bonjour,

Je pense que tu as juste oublié de référencer les cellules sources

Do While Worksheets("Feuil1").Cells(i,1) <> 0

:)
Messages postés
6
Date d'inscription
samedi 16 août 2008
Statut
Membre
Dernière intervention
1 mars 2016

Merci de ta réponse rapide

Effectivement, après les nombreux essais de modifications pour trouver une solution, j'avais oublié de remettre la référence aux cellules sources.
Même après avoir réparé mon oubli, toujours rien.

Autre chose, en comparant les deux sub, je me suis aperçu de ça dans le form_ajout_Initialize:
box_ville.AddItem Sheets("Feuil1").Cells(i, 1)

J'ai donc remplacé par :
box_ville.AddItem Worksheets("Feuil1").Cells(i, 1).Value
toujours sans résultat...
Messages postés
6
Date d'inscription
samedi 16 août 2008
Statut
Membre
Dernière intervention
1 mars 2016

Rebonjour.

Problème résolu.
En fait, visiblement le nom de formulaire (form_ajout) posait un souci.

Private Sub form_ajout_Initialize()

Du coup, j'ai renommé le formulaire (UserForm) et le sub est devenu ceci:

Private Sub UserForm_Initialize()

Merci à tous les deux pour votre aide.