Bonjour,

Après être allée voir la page http://vb.developpez.com/faq/?page=C...s#flex_ou_data, dans le titre "Comment aligner des entrées multicolonnes dans une ListBox ?" ... Je comprends le rôle de "vbTab"
Code : Sélectionner tout - Visualiser dans une fenêtre à part
List1.Additem "champ1" & vbTab & "champ2" & vbTab & "champ3"
Dans mon cas la police est à chasse variable. Je veux adapter ce code source ci-dessous dans ma ListBox1.
(Je n'arrive pas malgré plusieurs tests à comprendre le code source)

Code source:
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
Public Declare Function SendMessage Lib "user32" Alias "SendMessageA" _
                                    (ByVal hwnd As Long, ByVal wMsg As Long, _
                                    ByVal wParam As Long, lParam As Any) As Long
 
Public Const LB_SETTABSTOPS = &H192
 
Private Sub Form_Load()
 
    'ce tableau va contenir les positions des tabulations (ce qui equivaut
    'à la largeur des colonnes
    ReDim tabstop(0 To 2) As Long
 
    'on positionne les tabulations
    tabstop(0) = 90
    tabstop(1) = 130
    tabstop(2) = 185
 
    'on efface puis on réinitialise les tabulations
    Call SendMessage(List1.hwnd, LB_SETTABSTOPS, 0&, ByVal 0&) 
    Call SendMessage(List1.hwnd, LB_SETTABSTOPS, 3, tabstop(0))
    List1.Refresh
 
End Sub
Mon code:
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
Public Sub Mettre_Scan_A_Jour()

Dim Tableaux()
Dim Cel As Variant, i As Long

Set Cel = Range("A2")
Nb_Lignes = Sheets("infos_systemes").Range("a65536").End(xlUp).Row
ReDim Tableaux(Nb_Lignes, 1 To 13)

For i = 1 To Nb_Lignes
        Tableaux(i, 1) = Cel(i, 6)
        Tableaux(i, 2) = Cel(i, 12)
        Tableaux(i, 3) = Cel(i, 13)
        Tableaux(i, 4) = Cel(i, 14)
        Tableaux(i, 5) = Cel(i, 15)
        Tableaux(i, 6) = Cel(i, 16)
        Tableaux(i, 7) = Cel(i, 17)
        Tableaux(i, 8) = Cel(i, 18)
        Tableaux(i, 9) = Cel(i, 19)
        Tableaux(i, 10) = Cel(i, 20)
        Tableaux(i, 11) = Cel(i, 21)
        Tableaux(i, 12) = Cel(i, 22)
        Tableaux(i, 13) = Cel(i, 23)

        Form1.ListBox1.AddItem (Tableaux(i, 1) & vbTab & Tableaux(i, 2) & vbTab & Tableaux(i, 3) & vbTab & Tableaux(i, 4) & vbTab & Tableaux(i, 5) & vbTab & Tableaux(i, 6) & vbTab & Tableaux(i, 7) & vbTab & Tableaux(i, 8) & vbTab & Tableaux(i, 9) & vbTab & Tableaux(i, 10) & vbTab & Tableaux(i, 11) & vbTab & Tableaux(i, 12) & vbTab & Tableaux(i, 13))Next i

End Sub
Merci de votre aide.