Bonjour tout le monde,
Voilà, ça fait 2 jours que je bute sur un truc stupide.
Dans un formulaire de gestion d'adhérents, je fais figurer 2 listbox : l'une pour les interlocuteurs de l'entreprise sélectionnée, l'autre pour ses métiers.
J'ai fait appel à une routine assez simple, qui fonctionne pour les interlocuteurs et m'affiche bien les 9 colonnes que j'ai demandées. Voici le bout de programme, qui me donne entière satisfaction, ainsi que la copie écran du résultat.
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 Dernligne = Worksheets("Interlocuteurs").Range("A65000").End(xlUp).Row Dim Tableau1_Interlocuteurs() ReDim Tableau1_Interlocuteurs(Dernligne - 1, 10) 'Je commence par remplir un premier tableau en parcourant toute la feuille des interlocuteurs Compteur = 0 For i = 2 To Dernligne If Worksheets("Interlocuteurs").Cells(i, "B") = Numero_Adhérent_Recherché Then Tableau1_Interlocuteurs(Compteur, 0) = Worksheets("Interlocuteurs").Cells(i, "A") Tableau1_Interlocuteurs(Compteur, 1) = Worksheets("Interlocuteurs").Cells(i, "D") Tableau1_Interlocuteurs(Compteur, 2) = Worksheets("Interlocuteurs").Cells(i, "E") Tableau1_Interlocuteurs(Compteur, 3) = Worksheets("Interlocuteurs").Cells(i, "F") Tableau1_Interlocuteurs(Compteur, 4) = Worksheets("Interlocuteurs").Cells(i, "G") Tableau1_Interlocuteurs(Compteur, 5) = Worksheets("Interlocuteurs").Cells(i, "H") Tableau1_Interlocuteurs(Compteur, 6) = Worksheets("Interlocuteurs").Cells(i, "I") Tableau1_Interlocuteurs(Compteur, 7) = Worksheets("Interlocuteurs").Cells(i, "J") Tableau1_Interlocuteurs(Compteur, 8) = Worksheets("Interlocuteurs").Cells(i, "C") Compteur = Compteur + 1 End If Next 'Puis je charge les éléments dans un tableau dont la taille correspond aux nombre d'éléments trouvés. Dim Tableau2_Interlocuteurs() ReDim Tableau2_Interlocuteurs(Compteur - 1, 9) For i = 0 To Compteur - 1 For j = 0 To 8 Tableau2_Interlocuteurs(i, j) = Tableau1_Interlocuteurs(i, j) Next Next 'Et pour finir, je garnis la listbox des interlocuteurs Me.LB_Interlocuteurs.List = Tableau2_Interlocuteurs
Jusque là tout va bien, j'ai planté le décors. C'est maintenant que ça se corse.
J'ai adapté cette routine pour les métiers, pour une listbox qui ne comporte que 2 colonnes (contre 9 dans la précédente).
Elle tourne apparemment correctement, et en suivant le déroulement pas à pas, je trouve bien dans "Tableau2_Métiers" l'identifiant en (i,0) et l'intitulé du métier en (i,1).
Par contre, dans la listbox "LB_Interlocuteurs.List", je ne retrouve que l'affichage de l'identifiant. L'intitulé du métier n'est pas chargé dans la listbox.
Voici le bout de code concerné, ainsi que la copie écran du résultat. Il me semble pourtant que tout est en identique au premier code, mais peut-être que je deviens aveugle ?
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 Dernligne = Worksheets("Métiers Adhérents").Range("A65000").End(xlUp).Row Dim Tableau1_Métiers() ReDim Tableau1_Métiers(Dernligne - 1, 1) 'On commence par remplir un premier tableau en parcourant toute la feuille des métierss Compteur = 0 For i = 2 To Dernligne If Worksheets("Métiers Adhérents").Cells(i, "B") = Numero_Adhérent_Recherché Then Tableau1_Métiers(Compteur, 0) = Worksheets("Métiers Adhérents").Cells(i, "A") Tableau1_Métiers(Compteur, 1) = Worksheets("Métiers Adhérents").Cells(i, "C") Compteur = Compteur + 1 End If Next 'Puis je charge les éléments dans un tableau dont la taille correspond aux nombre d'éléments trouvés. Dim Tableau2_Métiers() ReDim Tableau2_Métiers(Compteur - 1, 1) For i = 0 To Compteur - 1 For j = 0 To 1 Tableau2_Métiers(i, j) = Tableau1_Métiers(i, j) Next Next 'Et pour finir, je garnis la listbox des métiers Me.LB_Métiers.List = Tableau2_Métiers
Quelqu'un aurait-il une idée pour m'indiquer dans quelle direction chercher ? Qu'il en soit remercié par avance.
Partager