Dospace
Messages postés11Date d'inscriptionmardi 4 juillet 2006StatutMembreDernière intervention14 décembre 2006
-
13 déc. 2006 à 16:12
drikce06
Messages postés2236Date d'inscriptionlundi 29 mai 2006StatutMembreDernière intervention29 mai 2008
-
14 déc. 2006 à 17:25
Bonjour,
débutante en vba excel j'utilise beaucoup le système D mais là je sèche... Donc si quelqu'un d'un peu plus compétent pouvait m'aider ce serait génial :)
J'ai un userform = userform3
2 combobox dessus
La première combobox (combobox1) se remplit "normalement" ("site1", "site2", "site3")
la seconde (combobox2) à partir de cellules sur excel en fonction du choix de la combobox1 (chaque choix de la combobox 1 correspond à une page sur excel).
Le problème : le nombre de cellules permettant de remplir le combobox2 peut être modifié (sur la page "site1" à partir de la cellule "F8" jusqu'à la cellule "F?", idem pour la page "site2" et pour la page "site3")
Mon code:
Private Sub userform_Initialize()
'liste déroulante comobox2 projet userform3
If UserForm3.ComboBox1.Value = "site1" Then
Sheets("site1").Select
Range("f8").Select
Do while ActiveCell<>""
For Each c In Selection.Cells
ComboBox2.AddItem (c.Value)
Next
Loop
End if
End sub
Je n'ai pas encore fait pour le site2 et le site3 vu que la combox2 ne fonctionne pas...
La combobox1 elle fonctionne bien...la combobox2 ne fait rien :s
Quelqu'un voit-il mon erreur de débutante? J'espère avoir été assez claire
Merci beaucoup
A voir également:
Combobox à partir de cellules variables sous excel
drikce06
Messages postés2236Date d'inscriptionlundi 29 mai 2006StatutMembreDernière intervention29 mai 200810 14 déc. 2006 à 16:43
Private Sub ComboBox1_Change()
'liste déroulante combobox2 projet userform3
If UserForm3.ComboBox1.Value = "Site1" Then
Dim tableau()
Dim j As Integer
Sheets("Site1").Select
j = 8
Do
ReDim Preserve tableau(1 To j)
tableau(j) = Range("F" & j).Value
ComboBox2.AddItem tableau(j)
j = j + 1
Loop Until (Range(("F" & j)).Value) = "" Or IsEmpty(Range(("F" & j)).Value)
et effectivement il n'y a pas d'espace entre Else et IF
ElseIf UserForm3.ComboBox1.Value = "Site2" Then
Sheets("Site2").Select
j = 8
Do
ReDim Preserve tableau(1 To j)
tableau(j) = Range("F" & j).Value
ComboBox2.AddItem tableau(j)
j = j + 1
Loop Until (Range(("F" & j)).Value) = "" Or IsEmpty(Range(("F" & j)).Value)
End If
End Sub
à mettre dans l'évenement initialize du userform, parce que listeindex=0, mais le 1er élément de la liste en valeur par défaut dans la combo, donc à chaque fois que tu changeais la valeur, site1 se remettai par défaut!
Dospace
Messages postés11Date d'inscriptionmardi 4 juillet 2006StatutMembreDernière intervention14 décembre 2006 14 déc. 2006 à 17:00
Erf que ferais-je sans toi???
Un dernier détail toutefois...et après promis j'arrête de t'embêter
Tout fonctionne bien à présent
Mais quand je sélectionne "site1" sur combobox1, j'ai différents choix sur la combobox2: A B C D
Quand je sélectionne "site2" sur combobox1, la combobox2 devraient me donner E F G H et là elle me donne A B C D E F G H
C'est rien par rapport au reste mais promis après je te laisse tranquille