Bonjour à tous,

Merci pour votre aide et les différents tutos ça m'a bien aidé à avancer.
Mon form fonctionne très bien j'ai juste un petit problème lorsque je charge ma listbox j'ai 2 lignes selectionnées, toujours les mêmes si je les supprime de la base il m'en selectionne toujours 2. Je n'ai pourtant pas l'impression de selectionner des lignes. J'ai tenté le code suivant sans succès :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
For i = 0 To Me.ListBox1.ListCount - 1
 If Me.ListBox1.Selected(i) = True Then Me.ListBox1.Selected(i) = False
Next i:
je l'avais mis dans mon UserForm_Activate() et il y avait déjà dans mon code un " ListBox1.Clear" bref je sais plus trop quoi faire

Je vous mets le code de mon userform_activate


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
 
Private Sub UserForm_Activate()
    Dim i As Long
    Dim x As Integer, DerniereLigne As Integer
 
Sheets("data_global").Select
 'On récupère la dernière ligne de la source de données
    If Cells(Rows.Count, 1).End(xlUp).Row = 1 Then
        DerniereLigne = 2
    Else
        DerniereLigne = Cells(Rows.Count, 1).End(xlUp).Row
    End If
 
        ListBox1.Clear
 'On définit la dimension de nos colonnes
         With Me.ListBox1
            .ColumnHeads = True
            .ColumnWidths = "15;30;100;100;100;100;100;0"
            .ColumnCount = 7
            .ListStyle = 1
            .MultiSelect = 1
        End With
 'On alimente la list box avec les données qui nous intéressent
        For x = 1 To DerniereLigne
        If Left(Cells(x, 2), 7) = "Demande" Then
        Me.ListBox1.AddItem Cells(x, 1)
        Me.ListBox1.List(Me.ListBox1.ListCount - 1, 1) = Cells(x, 4)
            Me.ListBox1.List(Me.ListBox1.ListCount - 1, 2) = Cells(x, 10)
            Me.ListBox1.List(Me.ListBox1.ListCount - 1, 3) = Cells(x, 11)
            Me.ListBox1.List(Me.ListBox1.ListCount - 1, 4) = Cells(x, 7)
            Me.ListBox1.List(Me.ListBox1.ListCount - 1, 5) = Cells(x, 6)
            Me.ListBox1.List(Me.ListBox1.ListCount - 1, 6) = Cells(x, 8)
            Me.ListBox1.List(Me.ListBox1.ListCount - 1, 7) = Cells(x, 9)
            Me.ListBox1.List(Me.ListBox1.ListCount - 1, 8) = Cells(x, 3)
     '       Me.ListBox1.List(Me.ListBox1.ListCount - 1, 9) = Cells(x, 10)
        End If
    Next x
          For i = 0 To Me.ListBox1.ListCount - 1
 If Me.ListBox1.Selected(i) = True Then Me.ListBox1.Selected(i) = False
Next i:
End Sub
Enfin le fait d'utiliser la méthode additem m'a fait sauter les entêtes. Y a t'il une manière de les définir même manuellement. En regardant sur internet j'ai vu que certains positionnaient des labels mais j'aimerai une solution un peu plus "propre" si possible.
Désolé pour la pavé ^^