Userform avec multiple combobox

nicos3390

XLDnaute Junior
Bonjour,
lorsque je clique et j'ouvre mon userform, 2 combobox apparaissent, je clique sur la première, puis la seconde et enfin un prix devrait apparaître en dessous.

si je sélectionne Foot, le prix sera le bon à chaque fois, mais dès que je sélectionne un autre sport, le prix ne correspond pas à l'objet.

Je ne parviens par à récupérer le bon montant en face du produit, ça me paraît simple mais je bloque.

Qqun pourrait m'éclairer?


Amitié,

Nicolas
 

Pièces jointes

  • Copie de Nicolas_v130108BB (1).xls
    61.5 KB · Affichages: 45

BOISGONTIER

XLDnaute Barbatruc
Repose en paix
Re : Userform avec multiple combobox

Bonjour,


Voir PJ

Code:
Dim f
Private Sub UserForm_Initialize()
  Set f = Sheets("sport")
  For Each c In f.Range("C3:C" & f.[C65000].End(xlUp).Row)
    If c <> "" Then Me.ComboBox1.AddItem c
  Next
End Sub

Private Sub ComboBox1_click()
  Set début = f.Range("C2:C" & f.[C65000].End(xlUp).Row).Find(what:=Me.ComboBox1.Value)
  Me.ComboBox2.List = début.Offset(, 1).Resize(début.MergeArea.Count, 2).Value
End Sub

Private Sub combobox2_click()
  Me.TextBox1.Value = Me.ComboBox2.List(Me.ComboBox2.ListIndex, 1)
End Sub

JB
 

Pièces jointes

  • FormCascadeCelFusionnees2.xls
    42.5 KB · Affichages: 54
  • FormCascadeCelFusionnees2.xls
    42.5 KB · Affichages: 59
  • FormCascadeCelFusionnees2.xls
    42.5 KB · Affichages: 56
Dernière édition:

nicos3390

XLDnaute Junior
Re : Userform avec multiple combobox

Merci,
en effet, cela fonctionne, mais dans mon cas, je vais avoir plusieurs infos qui vont être reportées en même temps que prix, comme montant ht, tva, montant ttc ....
donc je ne veux pas que mon montant n'apparaisse dans la combobox2, est-il possible d'avoir une seconde solution?
 

BOISGONTIER

XLDnaute Barbatruc
Repose en paix
Re : Userform avec multiple combobox

IL suffit de cacher les colonnes dans ComboBox2

Voir PJ

Code:
Dim f
Private Sub UserForm_Initialize()
  Set f = Sheets("sport")
  For Each c In f.Range("C3:C" & f.[C65000].End(xlUp).Row)
    If c <> "" Then Me.ComboBox1.AddItem c
  Next
End Sub

Private Sub ComboBox1_click()
  Set début = f.Range("C2:C" & f.[C65000].End(xlUp).Row).Find(what:=Me.ComboBox1.Value)
  Me.ComboBox2.List = début.Offset(, 1).Resize(début.MergeArea.Count, 2).Value
End Sub

Private Sub combobox2_click()
  Set result = f.Range("D2:D" & f.[D65000].End(xlUp).Row).Find(what:=Me.ComboBox2.Value)
  Me.TextBox1.Value = result.Offset(, 1)
End Sub

JB
 

Pièces jointes

  • FormCascadeCelFusionnees2.xls
    42 KB · Affichages: 57
  • FormCascadeCelFusionnees2.xls
    42 KB · Affichages: 58
  • FormCascadeCelFusionnees2.xls
    42 KB · Affichages: 59
Dernière édition:

nicos3390

XLDnaute Junior
Re : Userform avec multiple combobox

Merci, ça me semble assez compliqué.
surtout qu'en ajoutant les colonnes dont je vous ai parlé, c'est très difficile de récupérer les autres infos.

je ne peux pas faire autrement que de laisser la fusion sur le choix du marché, enfin je pense ..
 

Pièces jointes

  • FormCascadeCelFusionnees2 (3).xls
    56 KB · Affichages: 47

BOISGONTIER

XLDnaute Barbatruc
Repose en paix
Re : Userform avec multiple combobox

Bonjour,

Set début = f.Range("C2:C" & f.[C65000].End(xlUp).Row).Find(what:=Me.ComboBox1.Value)

Donne l'adresse de la cellule où est située la valeur du 1er niveau (Foot e.g.)

début.Offset(, 1)

Donne l'adresse de la cellule à droite de début

début.MergeArea.Count

Donne le nombre de cellules fusionnées (6 pour Foot)

début.Offset(, 1).Resize(début.MergeArea.Count, 2).Value

Donne le champ contenant les codes et les prix pour Foot (6 lignes x 2 colonnes)

JB
 

nicos3390

XLDnaute Junior
Re : Userform avec multiple combobox

Parfait, merci, mais si j'ajoute une ligne de plus, une nouvelle gamme, comme le basket dans mon cas, et que je mets 3 produits sur cette référence, ça me sort une erreur!
 

Pièces jointes

  • Copie de FormCascadeCelFusionnees2 (3) (3).xls
    44.5 KB · Affichages: 45
  • Copie de FormCascadeCelFusionnees2 (3) (3).xls
    44.5 KB · Affichages: 46
  • Copie de FormCascadeCelFusionnees2 (3) (3).xls
    44.5 KB · Affichages: 46

Discussions similaires

Membres actuellement en ligne

Statistiques des forums

Discussions
312 489
Messages
2 088 853
Membres
103 975
dernier inscrit
denry