Excel VBA
msjad
-
lermite222 Messages postés 8724 Date d'inscription Statut Contributeur Dernière intervention -
lermite222 Messages postés 8724 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
je suis entrain de programmer une interface graphique sur VBA.
cette interface possède des boutans et des menus déroulants (combobox).
J'ai dans une feuille excel1 les noms des clients avec des numéros associers à chaque client.
dans la 2éme feuille excel j'ai tout les noms des clients sur la première ligne et en dessous de chaque y avait les différentes adresses correspondes aux différents lieux de livraison possibles pour ce client.
J'aimerais savoir comme je peux alimenter mon combobox par les différentes adresse sachant que ses adresses sont conditionnées par le nom de client choisit.
voila un bout de mon code qui donne le nom de client en fonction de n°OF saisie
et moi je veux qu'il me donne les adresses en fonction de ce nom de client.
Private Sub n°OF_Change()
Dim i As Integer
Dim j as integer
For i = 1 To 5000
If Worksheets("OF_Ouvert").Cells(i, 1) = n°OF.Value Then
nom_client.Value = Worksheets("OF_Ouvert").Cells(i, 3)
titre.Value = Worksheets("OF_Ouvert").Cells(i, 2)
Do
adresse.AddItem Worksheets("BdD_Adresse").Cells(i, j + 1)
j = j + 1
Loop Until Worksheets("BdD_Adresse").Cells(1, j) = nom_client.Value
End If
Next i
End Sub
je suis entrain de programmer une interface graphique sur VBA.
cette interface possède des boutans et des menus déroulants (combobox).
J'ai dans une feuille excel1 les noms des clients avec des numéros associers à chaque client.
dans la 2éme feuille excel j'ai tout les noms des clients sur la première ligne et en dessous de chaque y avait les différentes adresses correspondes aux différents lieux de livraison possibles pour ce client.
J'aimerais savoir comme je peux alimenter mon combobox par les différentes adresse sachant que ses adresses sont conditionnées par le nom de client choisit.
voila un bout de mon code qui donne le nom de client en fonction de n°OF saisie
et moi je veux qu'il me donne les adresses en fonction de ce nom de client.
Private Sub n°OF_Change()
Dim i As Integer
Dim j as integer
For i = 1 To 5000
If Worksheets("OF_Ouvert").Cells(i, 1) = n°OF.Value Then
nom_client.Value = Worksheets("OF_Ouvert").Cells(i, 3)
titre.Value = Worksheets("OF_Ouvert").Cells(i, 2)
Do
adresse.AddItem Worksheets("BdD_Adresse").Cells(i, j + 1)
j = j + 1
Loop Until Worksheets("BdD_Adresse").Cells(1, j) = nom_client.Value
End If
Next i
End Sub
A voir également:
- Excel VBA
- Liste déroulante excel - Guide
- Word et excel gratuit - Guide
- Déplacer colonne excel - Guide
- Si ou excel - Guide
- Excel compter cellule couleur sans vba - Guide
5 réponses
Bonjour,
Déjà.. Quand le N°OF est trouver faudrait faire un exit For
Tu à alors le N° de la ligne où se trouve les données relative au client dans la variable i
Je ne comprend pas ce que fait ton Do..Loop
A+
Déjà.. Quand le N°OF est trouver faudrait faire un exit For
Tu à alors le N° de la ligne où se trouve les données relative au client dans la variable i
Je ne comprend pas ce que fait ton Do..Loop
A+
Merci, ça me convient mieux.
Tes explications ne sont pas suffisamment clairs
Peut-tu mettre un exemple de ton classeur (sans donnée confidentielle) avec une page de ce que tu à et des explications sur ce que tu voudrais avoir comme résultat.
Tu peu déposé ton exemple sur Cjoint.com et mettre le lien sur un poste suivant.
A+
Tes explications ne sont pas suffisamment clairs
Peut-tu mettre un exemple de ton classeur (sans donnée confidentielle) avec une page de ce que tu à et des explications sur ce que tu voudrais avoir comme résultat.
Tu peu déposé ton exemple sur Cjoint.com et mettre le lien sur un poste suivant.
A+
OK ton explication est clair.. mais où veux-tu afficher les données ?
Autre remarque -> Quel est l'intérêt d'une tel manip, serait pas plus simple de mettre un filtre automatique sur la feuille 2 ?
Tu dis.
A+
Autre remarque -> Quel est l'intérêt d'une tel manip, serait pas plus simple de mettre un filtre automatique sur la feuille 2 ?
Tu dis.
A+
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question