Bonjour,
j'ai un problème mais avant tout je vais vous expliquer ce que j'ai fait.

Deux pages dans mon classeur :

-Données (ce sont les données qui me permets d'alimenter mes liste déroulante)
-Suivi (colonne : DATE, Nom transporteur, Nom du salarié, type de NC, Détail de la NC).
Sur cette même feuille nous avons un bouton ajouter. Lorsque le bouton est cliquer nous ouvrons la userform 2. Sur cette userform2, nous retrouver des combobox et des textbox permettant de compléter la première ligne vide du tableau.
voici le 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
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
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
Private Sub CommandButton1_Click()
 
Dim c As Integer
 
c = 7
 
While Worksheets("Suivi NC").Cells(c, 4) <> ""
        c = 1 + c
Wend
 
 
If ComboBox1.Value <> "" Then
    If ComboBox2.Value <> "" Then
       If ComboBox3.Value <> "" Then
            If TextBox1.Value <> "" Then
                If DTPicker1 <> "" Then
                    Sheets("Suivi NC").Unprotect
                    Worksheets("Suivi NC").Cells(c, 5).Value = ComboBox1.Value
                    Worksheets("Suivi NC").Cells(c, 6).Value = ComboBox2.Value
                    Worksheets("Suivi NC").Cells(c, 4).Value = ComboBox3.Value
                    Worksheets("Suivi NC").Cells(c, 7).Value = TextBox1.Value
                    Worksheets("Suivi NC").Cells(c, 8).Value = TextBox2.Value
                    Worksheets("Suivi NC").Cells(c, 3).Value = DTPicker1.Value
                    Sheets("Suivi NC").Protect
                Else
                    MsgBox "Merci de bien vouloir écrire la date de la NC", vbOKOnly + vbInformation, "ATTENTION : Description de la NC non renseigné"
                End If
            Else
                MsgBox "Merci de bien vouloir écrire la description de la NC", vbOKOnly + vbInformation, "ATTENTION : Description de la NC non renseigné"
            End If
        Else
            MsgBox "Merci de bien vouloir indiquer le nom du Transporteur", vbOKOnly + vbInformation, "ATTENTION : Nom du Transporteur non renseigné"
        End If
    Else
        MsgBox "Merci de bien vouloir indiquer le type de NC", vbOKOnly + vbInformation, "ATTENTION : Type de NC non renseigné"
    End If
Else
    MsgBox "Merci de bien vouloir indiquer le Nom du Chef de Quai", vbOKOnly + vbInformation, "ATTENTION : Nom du Chef de Quai non renseigné"
End If
 
End Sub
 
Private Sub CommandButton2_Click()
Unload UserForm2
End Sub
 
Private Sub UserForm_Initialize()
    Dim i As Byte
 
    For i = 2 To 50
        If Worksheets("Données").Cells(i, 2) = "" Then
           Exit For
        Else
         ComboBox1.AddItem Worksheets("Données").Cells(i, 2)
        End If
    Next i
 
    For i = 2 To 50
        If Worksheets("Données").Cells(i, 1) = "" Then
           Exit For
        Else
         ComboBox2.AddItem Worksheets("Données").Cells(i, 1)
        End If
    Next i
 
    For i = 2 To 50
        If Worksheets("Données").Cells(i, 3) = "" Then
           Exit For
        Else
         ComboBox3.AddItem Worksheets("Données").Cells(i, 3)
        End If
    Next i
End Sub
Jusqu'ici tout va bien.

J'ai par la suite recréer le même userforms pour modifier. Pour appeler ce Userform3 il suffit de double cliquer sur une cellule de la ligne souhaité. Une fois double cliquer s'affiche la userform 3


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
Public Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Dim numligne, numcolonne As Integer
    If Not Intersect(Target, Range("C7:H1080")) Is Nothing Then
        numligne = Target.Row
        numcolonne = Target.Column
        If Worksheets("Suivi NC").Cells(numligne, 4) <> "" Then
            Cancel = True
            UserForm3.Show
        Else
            MsgBox "Cette ligne est vide, merci de bien vouloir cliquer une ligne renseigné pour la modifier ou la supprimer", vbOKOnly + vbInformation, "ATTENTION : Ligne vide"
            Cells(numligne, 3).Select
 
        End If
    End If
End Sub
Ici encore tout va bien. Par contre dans 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
Private Sub UserForm_Initialize()
    Dim i As Byte
 
    For i = 2 To 50
        If Worksheets("Données").Cells(i, 2) = "" Then
           Exit For
        Else
         ComboBox1.AddItem Worksheets("Données").Cells(i, 2)
        End If
    Next i
 
    For i = 2 To 50
        If Worksheets("Données").Cells(i, 1) = "" Then
           Exit For
        Else
         ComboBox2.AddItem Worksheets("Données").Cells(i, 1)
        End If
    Next i
 
    For i = 2 To 50
        If Worksheets("Données").Cells(i, 3) = "" Then
           Exit For
        Else
         ComboBox3.AddItem Worksheets("Données").Cells(i, 3)
        End If
    Next i
 
End Sub
Il faut que j'arrive à récupérer les données de mes cellules liés à la ligne double cliquer. Pour cela il me faut le numéro de ligne.
C'est ici que ça coince. Mon numéro de ligne je l'ai dans
Public Sub Worksheet_BeforeDoubleClick
mais comment l'envoyer dans
Private Sub UserForm_Initialize()
?

Je ne sais pas si je me suis fait comprendre, je reste à disposition pour plus d'information. Je remercie d'avance toute cette communauté en espérant trouver quelqu'un qui peux me retirer cette épine du pied.