Bonsoir à tous,
Je me permet de venir demander un petit coup de main. Bien que je sois débutant en vba (je suis en mode auto-apprentissage grâce au net), je me suis lancé dans la création d'un fichier excel de facturation pour mon entreprise.
Ce fichier comprend une feuille pour faire les factures, une feuille de listing des clients, une feuille de listing des factures et une feuille de détails de facture, le tout me permettant de garder une trace de chaque facture (je préfère décrire le projet on ne sait jamais).
Pour pouvoir rechercher et insérer les coordonnées du client sur la facture, après plusieurs essais partant dans différentes directions mais aucun n'aboutissant à un résultat utilisable, j'ai trouvé un code sur http://boisgontierjacques.free.fr/pa...s2colonnes.htm qui pouvait tout à fait convenir.
J'ai changer les infos pour indiquer les bonnes feuilles, combobox et textbox mais je n'ai aucune liste qui apparaît dans la combobox.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 Dim f, choix(), Rng, Ncol Private Sub Recherche_Client_Initialize() Set f = Sheets("Listing clients") Set Rng = f.Range("B2:I" & f.[a65000].End(xlUp).Row) TblTmp = Rng.Value Ncol = Rng.Columns.Count For i = LBound(TblTmp) To UBound(TblTmp) ReDim Preserve choix(1 To i) For k = LBound(TblTmp) To UBound(TblTmp, 2) choix(i) = choix(i) & TblTmp(i, k) & " * " Next k Next i Me.Zone_recherche.List = Rng.Value End Sub Private Sub Zone_recherche_Change() If Me.Zone_recherche <> "" Then If Me.Zone_recherche.ListIndex = -1 Then mots = Split(Trim(Me.Zone_recherche), " ") Tbl = choix For i = LBound(mots) To UBound(mots) Tbl = Filter(Tbl, mots(i), True, vbTextCompare) Next i n = 0: Dim b() For i = LBound(Tbl) To UBound(Tbl) a = Split(Tbl(i), "*") n = n + 1: ReDim Preserve b(1 To Ncol, 1 To n) For k = 1 To Ncol b(k, i + 1) = a(k - 1) Next k Next i If n > 0 Then ReDim Preserve b(1 To Ncol, 1 To n + 1) Me.Zone_recherche.List = Application.Transpose(b) Me.Zone_recherche.RemoveItem n End If Me.Zone_recherche.DropDown Else For k = 0 To Ncol - 1 Me("textBox" & k + 2) = Me.Zone_recherche.Column(k) Next k End If End If End Sub
Pour tester j'ai simplifier, simplifier et simplifier pour voir si j'arrivais a faire apparaître les données de mes clients dans la combobox.
Si je mets le range 'Listing client'!B2:I100 dans le champ RowSource de la fenêtre Propriétés de ma combobox, les infos apparaissent.
Si je mets:
ou encore:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 Private Sub Recherche_Client_Initialize() Zone_recherche.RowSource = "'Listing client'!B2:I100" End Sub
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 Private Sub Recherche_Client_Initialize() Zone_recherche.List() = Sheets("Listing clients").Range("B2:I100").Value End Sub
Rien n’apparaît. Et je ne comprends pas pourquoi.
J'ai remplis les champs ColumnCount et ColumnWidths de base mais même en les vidant rien ne change.
Voila, si l'un de vous pouvais m’aiguiller, ça serait vraiment génial.






Répondre avec citation
Partager