|
|
|
|
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
Configuration: Windows XP Firefox 3.0.6
Mettre ce code dans un module général. (Module1 par exemple)
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... L'expérience instruit plus sûrement que le conseil. (André Gide) Si tu te cogne à un pot et que ça sonne creux, c'est pas forcément le pot qui est vide. ;-)(Confucius) |