Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Combobox à 3 colonnes non contigues et sans doublons

3 réponses
Avatar
micky
Bonjour,

J'ai un peu honte de poser cette question qui est déjà traitée sur excelabo
mais sous d'autres formes, et je n'arrive pas à faire un code simple pour
regrouper ces fonctions. Je demande votre aide pour avoir à partir d'une
combobox (CBO1) sur mon userfomr1, les données de colonne A (nommé "cola"
en DECALER) sans doublon et ensuite à partir du nom du client sélectionné
avoir dans une autre combobox (CBO2) les numéros de fact et montants
correspondant.

Soit:

Dans ma feuille "FICHIER" :
A B E
Durand Facture n°1 1230.23?
Dupont Facture n°2 40123.56?
Durand Facture n°3 15632.59?
Dupont Facture n°4 23568.50?


Dans le code de mon userform 1, j'ai noté:
Private Sub UserForm_Initialize()

cbo1RowSource = ("fichier!cola")
cbo1ListIndex = -1

End sub

Après je voulais mettre un Private Sub CBO1_change() mais je ne pense pas
que ce soit la bonne solution pour filtrer les facture correspondantes à un
nom et avoir en plus les montants.

En vous remerciant par avance pour votre aide
Micky

3 réponses

Avatar
Pounet95
Bonjour,

Vite fait, sur le gaz :
A mettre dans le module du userform contenant les combobox
A adapter bien sûr


Private Sub ComboBox1_Change()
ComboBox2.Clear
Sheets("Feuil1").Select
Range("A2").Select
Do While ActiveCell.Value <> ""
If ActiveCell.Value = ComboBox1.Value Then
ComboBox2.AddItem
ndx = ComboBox2.ListCount - 1
ComboBox2.List(ndx, 0) = ActiveCell.Offset(0, 1).Value
ComboBox2.List(ndx, 1) = ActiveCell.Offset(0, 4).Value
End If
ActiveCell.Offset(1, 0).Select
Loop
End Sub

Private Sub UserForm_Initialize()
ComboBox1.Clear
ComboBox2.Clear
Sheets("Feuil1").Select
Range("A2").Select
Do While ActiveCell.Value <> ""
ComboBox1.AddItem ActiveCell.Value
ActiveCell.Offset(1, 0).Select
Loop
End Sub

--
Pounet95
on trouve tout ( ou presque ) http://www.excelabo.net/
Conseillé :
http://dj.joss.free.fr/netiquet.htm
(charte, nétiquette, conseils, abréviations, souriettes...)
http://www.excelabo.net/mpfe/connexion.php
(connexion, conseils...)

"micky" a écrit dans le message de news:

Bonjour,

J'ai un peu honte de poser cette question qui est déjà traitée sur
excelabo mais sous d'autres formes, et je n'arrive pas à faire un code
simple pour regrouper ces fonctions. Je demande votre aide pour avoir à
partir d'une combobox (CBO1) sur mon userfomr1, les données de colonne A
(nommé "cola" en DECALER) sans doublon et ensuite à partir du nom du
client sélectionné avoir dans une autre combobox (CBO2) les numéros de
fact et montants correspondant.

Soit:

Dans ma feuille "FICHIER" :
A B E
Durand Facture n°1 1230.23?
Dupont Facture n°2 40123.56?
Durand Facture n°3 15632.59?
Dupont Facture n°4 23568.50?


Dans le code de mon userform 1, j'ai noté:
Private Sub UserForm_Initialize()

cbo1RowSource = ("fichier!cola")
cbo1ListIndex = -1

End sub

Après je voulais mettre un Private Sub CBO1_change() mais je ne pense pas
que ce soit la bonne solution pour filtrer les facture correspondantes à
un nom et avoir en plus les montants.

En vous remerciant par avance pour votre aide
Micky



Avatar
micky
Bonjour, Pounet 95,

J'aime bien ton vite fait, sur le gaz car cela fonctionne!

Bonne Année
Micky


"Pounet95" a écrit dans le message de news:

Bonjour,

Vite fait, sur le gaz :
A mettre dans le module du userform contenant les combobox
A adapter bien sûr


Private Sub ComboBox1_Change()
ComboBox2.Clear
Sheets("Feuil1").Select
Range("A2").Select
Do While ActiveCell.Value <> ""
If ActiveCell.Value = ComboBox1.Value Then
ComboBox2.AddItem
ndx = ComboBox2.ListCount - 1
ComboBox2.List(ndx, 0) = ActiveCell.Offset(0, 1).Value
ComboBox2.List(ndx, 1) = ActiveCell.Offset(0, 4).Value
End If
ActiveCell.Offset(1, 0).Select
Loop
End Sub

Private Sub UserForm_Initialize()
ComboBox1.Clear
ComboBox2.Clear
Sheets("Feuil1").Select
Range("A2").Select
Do While ActiveCell.Value <> ""
ComboBox1.AddItem ActiveCell.Value
ActiveCell.Offset(1, 0).Select
Loop
End Sub

--
Pounet95
on trouve tout ( ou presque ) http://www.excelabo.net/
Conseillé :
http://dj.joss.free.fr/netiquet.htm
(charte, nétiquette, conseils, abréviations, souriettes...)
http://www.excelabo.net/mpfe/connexion.php
(connexion, conseils...)

"micky" a écrit dans le message de news:

Bonjour,

J'ai un peu honte de poser cette question qui est déjà traitée sur
excelabo mais sous d'autres formes, et je n'arrive pas à faire un code
simple pour regrouper ces fonctions. Je demande votre aide pour avoir à
partir d'une combobox (CBO1) sur mon userfomr1, les données de colonne A
(nommé "cola" en DECALER) sans doublon et ensuite à partir du nom du
client sélectionné avoir dans une autre combobox (CBO2) les numéros de
fact et montants correspondant.

Soit:

Dans ma feuille "FICHIER" :
A B E
Durand Facture n°1 1230.23?
Dupont Facture n°2 40123.56?
Durand Facture n°3 15632.59?
Dupont Facture n°4 23568.50?


Dans le code de mon userform 1, j'ai noté:
Private Sub UserForm_Initialize()

cbo1RowSource = ("fichier!cola")
cbo1ListIndex = -1

End sub

Après je voulais mettre un Private Sub CBO1_change() mais je ne pense pas
que ce soit la bonne solution pour filtrer les facture correspondantes à
un nom et avoir en plus les montants.

En vous remerciant par avance pour votre aide
Micky






Avatar
micky
Oups, j'ai mal fait mes tests car cela fonctionne mais il n'élimime pas mes
doublons.

Micky

"Pounet95" a écrit dans le message de news:

Bonjour,

Vite fait, sur le gaz :
A mettre dans le module du userform contenant les combobox
A adapter bien sûr


Private Sub ComboBox1_Change()
ComboBox2.Clear
Sheets("Feuil1").Select
Range("A2").Select
Do While ActiveCell.Value <> ""
If ActiveCell.Value = ComboBox1.Value Then
ComboBox2.AddItem
ndx = ComboBox2.ListCount - 1
ComboBox2.List(ndx, 0) = ActiveCell.Offset(0, 1).Value
ComboBox2.List(ndx, 1) = ActiveCell.Offset(0, 4).Value
End If
ActiveCell.Offset(1, 0).Select
Loop
End Sub

Private Sub UserForm_Initialize()
ComboBox1.Clear
ComboBox2.Clear
Sheets("Feuil1").Select
Range("A2").Select
Do While ActiveCell.Value <> ""
ComboBox1.AddItem ActiveCell.Value
ActiveCell.Offset(1, 0).Select
Loop
End Sub

--
Pounet95
on trouve tout ( ou presque ) http://www.excelabo.net/
Conseillé :
http://dj.joss.free.fr/netiquet.htm
(charte, nétiquette, conseils, abréviations, souriettes...)
http://www.excelabo.net/mpfe/connexion.php
(connexion, conseils...)

"micky" a écrit dans le message de news:

Bonjour,

J'ai un peu honte de poser cette question qui est déjà traitée sur
excelabo mais sous d'autres formes, et je n'arrive pas à faire un code
simple pour regrouper ces fonctions. Je demande votre aide pour avoir à
partir d'une combobox (CBO1) sur mon userfomr1, les données de colonne A
(nommé "cola" en DECALER) sans doublon et ensuite à partir du nom du
client sélectionné avoir dans une autre combobox (CBO2) les numéros de
fact et montants correspondant.

Soit:

Dans ma feuille "FICHIER" :
A B E
Durand Facture n°1 1230.23?
Dupont Facture n°2 40123.56?
Durand Facture n°3 15632.59?
Dupont Facture n°4 23568.50?


Dans le code de mon userform 1, j'ai noté:
Private Sub UserForm_Initialize()

cbo1RowSource = ("fichier!cola")
cbo1ListIndex = -1

End sub

Après je voulais mettre un Private Sub CBO1_change() mais je ne pense pas
que ce soit la bonne solution pour filtrer les facture correspondantes à
un nom et avoir en plus les montants.

En vous remerciant par avance pour votre aide
Micky