Bonjour toutes et tous
1/ dans ton userform il n'y a pas de feuille de ton classeur qui se nomme "NNI" tu as sans doute oublier de mettre Matricules* (sans oublier le s)* donc, ton userform ne peut s'initialiser correctement
Private Sub UserForm_initialize()
mat = Range("Z5")
Range("Z5") = ""
With Sheets("NNI") ' ?????? par Matricules non ???
ln = .Range("A:A").Find(mat, lookat:=xlWhole).Row
For j = 1 To 7
Controls("TextBox_" & j) = .Cells(ln, j + 1).Value
Next j
End With
With Sheets("Destinataires")
ComboBox1.List.Range("A2:A" & .Range("A" & Rows.Count).End(xlUp).Row).Value
End With
End Sub
@ tester
Private Sub UserForm_initialize()
mat = Range("Z5")
Range("Z5") = ""
With Sheets("Matricules") ' <=============
ln = .Range("A:A").Find(mat, lookat:=xlWhole).Row
For j = 1 To 7
Controls("TextBox_" & j) = .Cells(ln, j + 1).Value
Next j
End With
With Sheets("Destinataires")
ComboBox1.List.Range("A2:A" & .Range("A" & Rows.Count).End(xlUp).Row).Value
End With
End Sub
2/ le nom de tes textbox ne correspondent plus du tout si tu mets Textbox_1 , Textbox_2 , jusqu'à 7 puisque lors de l'initialisation de tes textbox tu signales 7 et là tu as des noms de textboxs differents pour cela que ton userform ne se lance pas
exemples de ce que tu as mis sur les noms de tes textboxs :
a) Designation_materiel_1 jusqu' à 5
b) N°serie_1 jusqu' à 5 j'ai un doute avec le signe degré vaut mieux mettre les noms de tes textbox comme ceci: N_serie_1(en utilisant l'undescore)
c) Quantite_1 jusqu' à 5
je te laisses regarder si les colonnes c'est ok
Private Sub UserForm_initialize()
mat = Range("Z5")
Range("Z5") = ""
With Sheets("Matricules") ' <=============
ln = .Range("A:A").Find(mat, lookat:=xlWhole).Row ' regarder si les colonnes c'est ok
For j = 1 To 7
Controls("TextBox_" & j) = .Cells(ln, j + 1).Value
Next j
' End With à supprimer re-éditer à 22:05
'exemple a)
ln1 = .Range("B:B").Find(mat, lookat:=xlWhole).Row 'regarder si la colonne correspond
For k = 1 To 5
Controls("Designation_materiel_" & k) = .Cells(ln1, k + 1).Value
Next k
'exemple b)
ln2 = .Range("C:C").Find(mat, lookat:=xlWhole).Row 'regarder si la colonne correspond
For l = 1 To 5
Controls("N_serie_" & l) = .Cells(ln2, l + 1).Value
Next l
'exemple c)
ln3 = .Range("D:D").Find(mat, lookat:=xlWhole).Row 'regarder si la colonne correspond
For m = 1 To 5
Controls("Quantite_" & m) = .Cells(ln3, m + 1).Value
Next m
End With
With Sheets("Destinataires")
ComboBox1.List.Range("A2:A" & .Range("A" & Rows.Count).End(xlUp).Row).Value ' le nom de la combobox est incorrecte
End With
End Sub
3/ erreur sans doute aussi avec le nom de ta combobox de ton userform
Note: dans les exemples de ce forum mis par Sébastien, il y a aussi les déclarations des variables qui t'aideront énormément maintenant et par la suite
crdlt,
André