2 combobox liés dans une macro excel
yannekent
Messages postés
17
Statut
Membre
-
pilas31 Messages postés 1878 Statut Contributeur -
pilas31 Messages postés 1878 Statut Contributeur -
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
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:
- 2 combobox liés dans une macro excel
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Liste déroulante excel - Guide
- Déplacer une colonne excel - Guide
- Word et excel gratuit - Guide
- Si ou excel - Guide
3 réponses
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
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
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+
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+
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+
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+
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
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
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+
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+
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