Bonjour
SVP, comment ajout listbox dans userform ayant déjà 02 listbox
programme adapter pour mes besoin (source) internet
merci d'avance pour votre aide
Version imprimable
Bonjour
SVP, comment ajout listbox dans userform ayant déjà 02 listbox
programme adapter pour mes besoin (source) internet
merci d'avance pour votre aide
Bonjour,
Un exemple à adapter :
Code:
1
2
3 Set lb = Me.Controls.Add("Forms.ListBox.1") lb.Left = Me.ListBox2.Left + Me.ListBox2.Width + 10 lb.Top = Me.ListBox2.Top
Bonjour
merci pour votre réponse
comme je suis débutant, je n'arrive pas à adapter sur l'exemple
en fait, dans l'exemple adapté il existe des données d'une colonne reliées à 1 listbox. ma question comment relier une autre colonne à une autre listbox
dans l'exemple répond, exactement, à mes besoins
merci d'avance pour votre aide
J'ai besoin de plus de précisions. Où faut-il mettre la listbox ? A partir de quelle plage de cellules faut-il la remplir ?
Bonsoir
merci pour votre réponse
c'est vrai que je m'exprime mal désolé.
a vrai dire j'aurai besoin d'afficher
une colonne sur un listbox1 (colonne e)
une colonne sur listbox2 (colonne f)
une colonne sur listbox3 (colonne g)
voila ce que je souhaiterais avoir
ci-joint un exemple que j'ai adapter pour mes besoins. (source : internet)
J'ai modifié la macro :
comme suit :Code:Private Sub UserForm_Initialize()
et j'ai ajouté les macros de remplissage des listboxes :Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24 Private Sub UserForm_Initialize() Dim i As Integer Dim Plage As Range Dim cell As Range Set Plage = Sheets("Interface").Range("e8:e" & Sheets("Interface").Range("e65534").End(xlUp).Row) ReDim Tab1(1 To Plage.Count + 1, 1 To 2) i = 0 For Each cell In Plage i = i + 1 With cell Tab1(i, 1) = .Text Tab1(i, 2) = .Offset(0, 1).Text End With Next TriLB1 Doublon LabelNB.Caption = ListBox1.ListCount - 1 'remplissage ListBox2 Set Plage = Plage.Offset(, 1) TriLB2 Plage 'remplissage ListBox3 Set Plage = Plage.Offset(, 1) TriLB3 Plage End Sub
Tu trouveras le classeur modifié en annexe. Note que la macro d'ouverture plante sur la ligne :Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54 Sub TriLB2(Plage As Range) Dim Dico As Object, c As Range Dim Coll As New Collection 'Elimination des doublons Set Dico = CreateObject("Scripting.Dictionary") For Each c In Plage If Not Dico.exists(c.Value) Then Dico.Add c.Value, c.Value Coll.Add c.Value End If Next c For i = 1 To Coll.Count - 1 For j = i + 1 To Coll.Count If Coll(i) > Coll(j) Then Swap1 = Coll(i) Swap2 = Coll(j) Coll.Add Swap1, before:=j Coll.Add Swap2, before:=i Coll.Remove i + 1 Coll.Remove j + 1 End If Next j Next i For Each Item In Coll Me.ListBox2.AddItem Item Next Item End Sub Sub TriLB3(Plage As Range) Dim Dico As Object, c As Range Dim Coll As New Collection 'Elimination des doublons Set Dico = CreateObject("Scripting.Dictionary") For Each c In Plage If Not Dico.exists(c.Value) Then Dico.Add c.Value, c.Value Coll.Add c.Value End If Next c For i = 1 To Coll.Count - 1 For j = i + 1 To Coll.Count If Coll(i) > Coll(j) Then Swap1 = Coll(i) Swap2 = Coll(j) Coll.Add Swap1, before:=j Coll.Add Swap2, before:=i Coll.Remove i + 1 Coll.Remove j + 1 End If Next j Next i For Each Item In Coll Me.ListBox3.AddItem Item Next Item End Sub
parce que la forme est introuvable. J'ai mis très peu de commentaires. N'hésite pas à poser des questions si tu ne comprends pas.Code:Worksheets("interface").Shapes("rectangle 4").Visible = True
Bonjour
je vous remercie beaucoup pour tout ce que vous faite pour moi, c'est vraiment très gentil de votre part.
s'agissant du code il ne fonctionne toujours pas.
je m'excuse je ne pouvais pas vous la nuit, je ne possède pas de pc chez moi.
le problème c'est quand je sélectionne un concessionnaire donné je souhaiterais qu'il m'affiche les marques qu'ils possède et ainsi que les observations, s'il y'a pour marques.
exemples :
concessionnaires: marques: observa:
sid ALTINORDV 2010
CAMC 2011
HVALING STAR 2012
OK KARDESLER -
RANYON -
DAYANG (M) -
ANT LADA -
voila ce que je souhaiterais avoir sur la form.
merci encore pour le tout.
Bonjour,
Pas besoin de t'excuser, chacun répond quand il peut.Citation:
je m'excuse je ne pouvais pas vous la nuit, je ne possède pas de pc chez moi.
J'ai remplacé la macro :
Regarde le classeur joint.Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 Private Sub ListBox1_Change() Dim Plage As Range, c As Range 'Range("i20") = LabelClient 'Range("A1") = TextBox1 'remplissage ListBox2 et Listbox3 Me.ListBox2.Clear Me.ListBox3.Clear Set Plage = Sheets("Interface").Range("E8:E" & Sheets("Interface").Range("e65534").End(xlUp).Row) For Each c In Plage If c.Value = Me.ListBox1.Value Then Me.ListBox2.AddItem c.Offset(, 1) Me.ListBox3.AddItem c.Offset(, 2) End If Next c End Sub Private Sub UserForm_Deactivate() 'Feuil1.CommandButton2.Visible = True Worksheets("Feuil1").Shapes("zonetexte 1").Visible = True End Sub
re Bonjour
c'est formidable ce que vous faite là, sincèrement vous être fort, on trouve pas de mots ni qualificatifs. bravo et merci tout simplement
que dieu vous assiste.