2 combobox liés dans une macro excel

Fermé
yannekent Messages postés 16 Date d'inscription mardi 8 juillet 2008 Statut Membre Dernière intervention 18 mars 2009 - 22 déc. 2008 à 17:32
pilas31 Messages postés 1825 Date d'inscription vendredi 5 septembre 2008 Statut Contributeur Dernière intervention 24 avril 2020 - 7 janv. 2009 à 10:52
Bonjour,

Je viens de créer une macro afin de faire des factures , j'ai une base de plusieur tables sur une feuille excel qui renferme ref fournnisseur et nom de fournisseurs designation et autres .Combobox 1 je souhaiterais sélectionné le fournisseur et en combobox 2 je souhaiterais automatiquement que tous les references fournisseurs lié a ce fournisseur s'affiche dans ce combobox.je n'utilise pas de userform je developpe direct diretcement sur la feuille excel
je ne m'y connais pas en vba je veux juste un excemple qui me permetra de finaliser ma macro
A voir également:

3 réponses

pilas31 Messages postés 1825 Date d'inscription vendredi 5 septembre 2008 Statut Contributeur Dernière intervention 24 avril 2020 643
23 déc. 2008 à 19:21
Bonjour,

J'ai créé un petit exemple avec une feuille MENU qui contient les deux combos, une feuille FOURNISSEUR qui contient la liste des fournisseurs et une feuille ARTICLE. La 1° combo est réinitialisé lorsque l'on modifie la liste des fournisseurs ou la liste des articles. (Avant la 1° utilisation il faut aller modifier la liste des fournisseurs)

Pour télécharger cet exemple aller dans Cijoint par le lien suivant :

http://www.cijoint.fr/cjlink.php?file=cj200812/cijCBPFYlB.xls

C'est un exemple à adapter
3
yannekent Messages postés 16 Date d'inscription mardi 8 juillet 2008 Statut Membre Dernière intervention 18 mars 2009 1
29 déc. 2008 à 15:26
Excusé j ai accusé un grand retard , j ai essaye de mettre en pratique la procédure utilisé mais sans succes trouver en bas les code verfié je ne me suis pas trompé ...............


a la feuille des base donnée

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Sheets("feuille calcul client").ComboBox1.Clear
DER_FOUR = Sheets("base").Range("D65536").End(xlUp).Row
For IART = 2 To DER_FOUR
Sheets("feuille calcul client").ComboBox1.AddItem Sheets("base").Cells(IFOUR, 2)
Next IART
Sheets("feuille calcul client").ComboBox2.Clear
End Sub

a la feuille principale (2 combobox)

Private Sub ComboBox1_Change()
Dim REF_FOUR As String
Dim DER_ART As String
REF_FOUR = Sheets("base").Cells(ComboBox1.ListIndex + 2, 1)
ComboBox2.Clear
DER_ART = Sheets("base").Range("D65536").End(xlUp).Row
For IART = 2 To DER_ART
If Sheets("base").Cells(IART, 1) = REF_FOUR Then
ComboBox2.AddItem Sheets("base").Cells(IART, 4)

End If
Next IART

End Sub


erreur observé variale non definie pour IART et ossi le code sur la feuille excel ne marche pas merci d'avance faite kelke chose
0
pilas31 Messages postés 1825 Date d'inscription vendredi 5 septembre 2008 Statut Contributeur Dernière intervention 24 avril 2020 643
29 déc. 2008 à 16:20
Bonjour,

A priori dans ce code il y a plusieurs choses qui me choquent :

D'abord dans le code :
Sheets("feuille calcul client").ComboBox1.AddItem Sheets("base").Cells(IFOUR, 2)
je pense que c'est plutôt:
Sheets("feuille calcul client").ComboBox1.AddItem Sheets("base").Cells(IART, 2)

Ensuite dans la déclaration :
Dim DER_ART As String
c'est plutôt :
Dim DER_ART As Integer

Voilà sans tester ce qui me semble pas correct.

A+
0
yannekent Messages postés 16 Date d'inscription mardi 8 juillet 2008 Statut Membre Dernière intervention 18 mars 2009 1
30 déc. 2008 à 17:46
il Y A toujours des erreurs , retrouvé la macro en fichier joint je pense vous pourriez mieux m'aider merci de votre compréhension je veux juste faire marché les 2 combobox je suis pas vraiment developpeur vb

http://www.cijoint.fr/cjlink.php?file=cj200812/cijvSqpOCY.xls
0
pilas31 Messages postés 1825 Date d'inscription vendredi 5 septembre 2008 Statut Contributeur Dernière intervention 24 avril 2020 643 > yannekent Messages postés 16 Date d'inscription mardi 8 juillet 2008 Statut Membre Dernière intervention 18 mars 2009
31 déc. 2008 à 19:37
Bonsoir,

Je viens de regarder rapidement. Le problème principal vient du nom de la feuille "base". Il y a un blanc à la fin du nom de la feuille. Donc dans les formules il ne reconnait pas la feuille. Il faut renommer la feuille en faisant attention de ne pas mettre de blanc à la fin du nom.

Dans la routine liée à la feuille "base", la variable DER_FOUR n'est pas déclarée c'est REF_FOUR qui est déclarée. Je pense que c'est une faute de frappe. Il faut mettre Dim DER_FOUR As Integer.

Voilà pour l'instant ce que j'ai relevé.

En attendant Bon réveillon à tous !!!

A+
0
yannekent Messages postés 16 Date d'inscription mardi 8 juillet 2008 Statut Membre Dernière intervention 18 mars 2009 1
2 janv. 2009 à 18:47
Merci bcp je te souhaite bonne heureuse 2009 et tout mes voeux les meilleurs (santé , bonteur , et succes) ben voila c'etais exacte il yavait un espace dans ma table.Mais il ya toutours ne erreur dui est la suivante :

Private Sub ComboBox1_Change()
Dim DER_FOUR As Integer
Dim DER_ART As Integer
Dim IART As Integer

DER_FOUR = Sheets("base").Cells(ComboBox1.ListIndex + 2, 1) sur cette ligne
ComboBox2.Clear
DER_ART = Sheets("base").Range("D65536").End(xlUp).Row
For IART = 2 To DER_ART
If Sheets("base").Cells(IART, 1) = DER_FOUR Then
ComboBox2.AddItem Sheets("base").Cells(IART, 4)

End If
Next IART

End Sub

je cherche tjs en vain avec mes maigre connaissance vbe pour les formules matricielle sa devra etre un jeux enfant utilisez linkedcell property et recupere les autres valeur et les affecté au secourrrrrrrrrrrr je finalisé ces deux comboobox liés merci
0
pilas31 Messages postés 1825 Date d'inscription vendredi 5 septembre 2008 Statut Contributeur Dernière intervention 24 avril 2020 643
5 janv. 2009 à 12:44
Bonjour,

Merci pour tes voeux, je t'adresse les miens également.

J'étais en vacances (et sans ordinateur) donc j'ai tardé à répondre.

J'ai fait le tour (je crois) des pb dans ton fichier et tu trouveras sur ci-joint une version avec les corrections. J'ai gardé l'esprit de ce qui avait déjà été fait :

http://www.cijoint.fr/cjlink.php?file=cj200901/cijYSz9DJv.xls

Attention, j'ai été obligé de modifier l'ordre des colonnes dans la feuille "base".

Dis-moi si tu rencontre de nouvelles difficultés.

A+
0
yannekent Messages postés 16 Date d'inscription mardi 8 juillet 2008 Statut Membre Dernière intervention 18 mars 2009 1 > pilas31 Messages postés 1825 Date d'inscription vendredi 5 septembre 2008 Statut Contributeur Dernière intervention 24 avril 2020
7 janv. 2009 à 10:12
pilas t'es un chef sa marche impeccable merci pour toi genial manc'est pas comment te remercie en tout au plaisir thanx
0
pilas31 Messages postés 1825 Date d'inscription vendredi 5 septembre 2008 Statut Contributeur Dernière intervention 24 avril 2020 643 > yannekent Messages postés 16 Date d'inscription mardi 8 juillet 2008 Statut Membre Dernière intervention 18 mars 2009
7 janv. 2009 à 10:52
Avec plaisir Yannekent !

A+

0