Problème de variable et userform
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:
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:
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:
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
Citation:
Public Sub Worksheet_BeforeDoubleClick
mais comment l'envoyer dans
Citation:
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.