Userform + combobox + textbox - Cellules excel fusionnees

cs_marou76 Messages postés 13 Date d'inscription mercredi 1 décembre 2010 Statut Membre Dernière intervention 30 décembre 2010 - 9 déc. 2010 à 15:53
marion8316 Messages postés 75 Date d'inscription mercredi 17 août 2011 Statut Membre Dernière intervention 27 septembre 2011 - 10 déc. 2010 à 18:24
--------------------------------------------------------------------------------

Bonjour à vous,

Je souhaite faciliter l'utilisation d'une feuille excel de devis par l'utilisation d'une userform. Celle-ci est composée de combobox permettant de selectionner les prestations, et de textbox permettant d'afficher les prix.
Cependant je me retrouve confronter à un probléme qui me bloque depuis un moment, celui des cellules fusionnées.
Je vous joint un fichier exemple qui est plus parlant. C'est ici
J'éspére obtenir de l'aide de votre part.

Merci Beaucoup.

Cordialement.

4 réponses

marion8316 Messages postés 75 Date d'inscription mercredi 17 août 2011 Statut Membre Dernière intervention 27 septembre 2011 1
9 déc. 2010 à 19:45
Bonsoir,

Que met on dans le premier combobox ? (valeur des colonnes)
Que met on dans le deuxième combobox ? (valeur des colonnes)

Lorsque l'on sélectionne un libelle que doit on avoir dans le second combobox ?

Un petit exemple s'il vous plait.

Merci
0
marion8316 Messages postés 75 Date d'inscription mercredi 17 août 2011 Statut Membre Dernière intervention 27 septembre 2011 1
9 déc. 2010 à 20:29
Bonsoir,

J'ai téléchargé votre fichier excel, ci-dessous un petit bout de code qui permet de :

- Charger dans le combobox les cellules de B4 à B7
- Libelle
- Prix
- Visite par an

Lors d'un changement de valeur (sélection) dans le combobox, les 2 textbox sont alimentés.

Manque le deuxième combobox, il faut plus d'explication.

Didier

__________________________________________________


'Code lors d'une sélection de la première Combobox
'
Private Sub ComboBox1_Change()

Dim k23 As Integer
k23 = Me.ComboBox1.ListIndex

Me.TextBox2.Text = Me.ComboBox1.List(k23, 1)
Me.TextBox1.Text = Me.ComboBox1.List(k23, 2)

End Sub

'Code lors de l'ouverture de la feuille
Private Sub UserForm_Activate()

'Premier combobox
'
'B4

Dim Ilibelle(3, 0 To 2) As String
Dim I As Integer, rwindex As Integer

rwindex = 4

For I = 0 To 3

Ilibelle(I, 0) = Application.Worksheets("Feuil1").Cells(rwindex, 2).Value
Ilibelle(I, 1) = Application.Worksheets("Feuil1").Cells(rwindex, 5).Value
Ilibelle(I, 2) = Application.Worksheets("Feuil1").Cells(rwindex, 7).Value

rwindex = rwindex + 1

Next I

Me.ComboBox1.List = Ilibelle


End Sub
0
cs_marou76 Messages postés 13 Date d'inscription mercredi 1 décembre 2010 Statut Membre Dernière intervention 30 décembre 2010
10 déc. 2010 à 08:56
Bonjour Marion,

Je te remercie pour ce bout de code.
Concernant le deuxieme combobox, je souhaite qu'il contienne les differentes hauteurs lorsque je choisi dans le premier "Portes ou Portails".
Cependant la je ne t'ai envoyé qu'une toute petite partie de mon fichier. Je souhaite une solution qui pourra s'étendre à un long fichier de ce type.

Merciii Beaucoup!
0
marion8316 Messages postés 75 Date d'inscription mercredi 17 août 2011 Statut Membre Dernière intervention 27 septembre 2011 1
10 déc. 2010 à 18:24
Bonsoir,

Ci-dessous le code modifié (en rouge).

On clique dans le premier combobox1 et dans le deuxième combobox2 la valeur est affichée en relation avec le premier combobox.

Un autre variante , on peut charger seulement le combobox2 en fonction du premier.

Didier

'
Private Sub ComboBox1_Change()

Dim k23 As Integer
k23 = Me.ComboBox1.ListIndex

Me.TextBox2.Text = Me.ComboBox1.List(k23, 1)
Me.TextBox1.Text = Me.ComboBox1.List(k23, 2)

Me.ComboBox2.ListIndex = k23
End Sub

Private Sub UserForm_Activate()

'Premier combobox
'
'B4

Dim Ilibelle(3, 0 To 3) As String
Dim Ilibelle1(3) As String
Dim I As Integer, rwindex As Integer

rwindex = 4

For I = 0 To 3

Ilibelle(I, 0) = Application.Worksheets("Feuil1").Cells(rwindex, 2).Value
Ilibelle(I, 1) = Application.Worksheets("Feuil1").Cells(rwindex, 5).Value
Ilibelle(I, 2) = Application.Worksheets("Feuil1").Cells(rwindex, 7).Value

If I > 0 Then

Ilibelle1(I) = Application.Worksheets("Feuil1").Cells(rwindex, 4).Value
Else
Ilibelle1(I) = ""
End If
rwindex = rwindex + 1

Next I

Me.ComboBox1.List = Ilibelle
Me.ComboBox2.List = Ilibelle1
End Sub
0
Rejoignez-nous