[Excel/VBA] Problème List Box vide
Yohann P
-
lermite222 Messages postés 8724 Date d'inscription Statut Contributeur Dernière intervention -
lermite222 Messages postés 8724 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
je souhaite créer un classeur excel contenant plusieurs feuilles contenant elles-mêmes plusieurs listbox (activex) ou combobox.
Je pourrais ensuite programmer des actions/évènements en fonction des choix faits.
Mon problème est qu'à l'ouverture du ficher excel, les listes déroulantes sont vides, et je ne vois pas le problème de programmation (je suis très débutant en vb)
j'ai mis dans vb le code suivant (dans Feuil1) :
Private Sub Worksheet_Initialize()
PhysicalStateBox.Clear
ParticleSizeUnitBox.Clear
HandledSubstanceUnitBox.Clear
PhysicalStateBox.AddItem "Gaz"
PhysicalStateBox.AddItem "Liquid"
PhysicalStateBox.AddItem "Solid"
ParticleSizeUnitBox.AddItem "cm"
ParticleSizeUnitBox.AddItem "mm"
ParticleSizeUnitBox.AddItem "µm"
ParticleSizeUnitBox.AddItem "nm"
HandledSubstanceUnitBox.AddItem "mg"
HandledSubstanceUnitBox.AddItem "g"
HandledSubstanceUnitBox.AddItem "kg"
HandledSubstanceUnitBox.AddItem "tons"
End Sub
J'ai bien nommé les list box comme il le fallait bien sûr.
Merci de votre aide.
Yohan
je souhaite créer un classeur excel contenant plusieurs feuilles contenant elles-mêmes plusieurs listbox (activex) ou combobox.
Je pourrais ensuite programmer des actions/évènements en fonction des choix faits.
Mon problème est qu'à l'ouverture du ficher excel, les listes déroulantes sont vides, et je ne vois pas le problème de programmation (je suis très débutant en vb)
j'ai mis dans vb le code suivant (dans Feuil1) :
Private Sub Worksheet_Initialize()
PhysicalStateBox.Clear
ParticleSizeUnitBox.Clear
HandledSubstanceUnitBox.Clear
PhysicalStateBox.AddItem "Gaz"
PhysicalStateBox.AddItem "Liquid"
PhysicalStateBox.AddItem "Solid"
ParticleSizeUnitBox.AddItem "cm"
ParticleSizeUnitBox.AddItem "mm"
ParticleSizeUnitBox.AddItem "µm"
ParticleSizeUnitBox.AddItem "nm"
HandledSubstanceUnitBox.AddItem "mg"
HandledSubstanceUnitBox.AddItem "g"
HandledSubstanceUnitBox.AddItem "kg"
HandledSubstanceUnitBox.AddItem "tons"
End Sub
J'ai bien nommé les list box comme il le fallait bien sûr.
Merci de votre aide.
Yohan
A voir également:
- [Excel/VBA] Problème List Box vide
- Liste déroulante excel - Guide
- Word et excel gratuit - Guide
- Supprimer page word vide - Guide
- List disk - Guide
- Déplacer colonne excel - Guide
5 réponses
Bonjour,
Dans excel, que ce soit le 2007 ou précédant il n'y à pas de fonction Initialize
Tu peu le mettre dans Activate.
A+
Dans excel, que ce soit le 2007 ou précédant il n'y à pas de fonction Initialize
Tu peu le mettre dans Activate.
A+
Ok merci ça fonctionne quand on change de feuille.
Mais là ça ne me convient pas car quand je quitte et reviens sur la feuille, les choix sélectionnés sont partis !
Je ne peux donc pas exploiter les infos...
une solution?
Mais là ça ne me convient pas car quand je quitte et reviens sur la feuille, les choix sélectionnés sont partis !
Je ne peux donc pas exploiter les infos...
une solution?
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Mettre ce code dans un module général. (Module1 par exemple)
et dans ThisWorkBook
Tu sauve et ré ouvre le classeur...
Public Sub Combo_Initialize() Dim TB, i As Integer TB = Array("cm", "mm", "µm", "nm", "mg", "g", "kg", "tons") With Sheets("Feuil1") .PhysicalStateBox.Clear .ParticleSizeUnitBox.Clear .HandledSubstanceUnitBox.Clear .PhysicalStateBox.AddItem "Gaz" .PhysicalStateBox.AddItem "Liquid" .PhysicalStateBox.AddItem "Solid" For i = 0 To 3: .ParticleSizeUnitBox.AddItem TB(i): Next For i = 4 To 7: .HandledSubstanceUnitBox.AddItem TB(i): Next End With End Sub
et dans ThisWorkBook
Private Sub Workbook_Open() Call Combo_Initialize End Sub
Tu sauve et ré ouvre le classeur...