Bonsoir Mytå, Nono
Tu es un Chef Mytå !! tu as bien sondé et trouvé la solution, juste une petite erreur de déclaration de Variable Object, ce n'est pas nécessaire et sur-proportionné, vu que Control existe, par conséquent je propose :
Dim CTRL As Control.
Sinon j'ai essayé d'accélérer l'ouverture de ce UserForm, mais Nono nous à mis le paquet !! 35 Frames, 38 TextBoxes, 105 CheckBoxes !!, chez moi çà met un certain temps !! lol
Sinon pour éviter de boucler sur tous les autres Controls pour lire les trois digits dans le name, on peut d'abord filtrer uniquement les TextBoxes en rajoutant çà :
Private Sub UserForm_initialize()
Dim CTRL As Control
For Each CTRL In Ecout.Controls
If TypeOf CTRL Is MSForms.TextBox Then
If Left(CTRL.Name, 3) = "Nom" Then
CTRL.Value = Cells(1 + Right(CTRL.Name, Len(CTRL.Name) - 3), 1)
End If
End If
Next CTRL
End Sub
Mais c'est pratiquement aussi long...
Bon Courage
@+Thierry