Lier 2 ComboBox avec des données variables [Résolu]

Signaler
Messages postés
2
Date d'inscription
dimanche 19 novembre 2006
Statut
Membre
Dernière intervention
17 janvier 2007
-
elbarthou
Messages postés
2
Date d'inscription
dimanche 19 novembre 2006
Statut
Membre
Dernière intervention
17 janvier 2007
-
Bonjour à toutes et à tous.
Je suis en train de faire un outil sur excel et vba en gestion de stock, sans grande prétention ^^, et je débute.

J'ai fait un Userform dans lequel j'ai inclu deux ComboBox.
la ComboBox1 fait très bien son travail en recuperant des variables dans des cellules données en utilisant la propriété RowSource ("Listing_produit!C15:C42") et en archivant ensuite.

Mon souci arrive ici : je souhaite que ma ComboBox2 se serve du choix fait dans la ComboBox1 pour mettre par défaut une donnée qui sera dans la même ligne excel mais dans la colonne juste après.
("Listing_produit!D15:D42"). Le problème étant que les données des cellules sont modifiées tout le temps, et ne sont donc pas fixes il faut que je me base sur les coordonnées des cellules seulement.

Comment puis-je faire ? J'ai recherché dans ce forum mais ne suis tombé que sur des ComboBox avec des données fixes, ce qui, vous l'avez compris, ne marchera pas.

3 réponses

Messages postés
7741
Date d'inscription
mercredi 1 septembre 2004
Statut
Membre
Dernière intervention
24 septembre 2014
32
J'ai pas bien tout compris. Tu souhaite que lorsque un item est choisit dans la liste de la combo1, l'item correspondant de la liste de la combo2 soit automatiquement choisit ?

Si c'est cela, il te faut, dans l'évènement change de la combo1, sélectionner l'item dans la combo2 ayant le même index que celui sélectionné dans la combo1 :

Private Sub ComboBox1_Change()
    ComboBox2.ListIndex = ComboBox1.ListIndex
End Sub

---- Sevyc64  (alias Casy) ----<hr size="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #
Messages postés
266
Date d'inscription
mardi 7 septembre 2004
Statut
Membre
Dernière intervention
30 avril 2009

En fait, le numéro d'index de ta valeur de combobox1 te permet de savoir à quel cellule la valeur fait référence


exemples

on choisit la première valeur de la liste on a donc combobox.listindex = 0 et comme ta selection demarre en D15, c'est D15

on choisit la quatrième valeur => listindex = 3, cellule D18 etc...


tu donc procéder ainsi:

    ActiveSheet.Range("D15").Activate

    Combobox2.Additem    ActiveCell.Offset(0, ComboBox1.Listindex)


Voilà!!!!


(merci de valider les réponses exacte)


Toujours + d'APi et de VB

____________________________________

API @ la Loupe http://xav.prog.power.free.fr
Messages postés
2
Date d'inscription
dimanche 19 novembre 2006
Statut
Membre
Dernière intervention
17 janvier 2007

Super, ça marche ! Un grand merci à tous les deux pour avoir trouvé et avoir été super rapides !