Bonjour,
Un exemple avec les valeurs de 3 TextBox et 1 CheckBox stockées dans des noms cachés de cette façon, même si l'utilisateur va dans la boite (Insertion->Nom->Définir...), les noms sont invisibles :
Private Sub UserForm_Initialize()
Dim Nom As Name
'si le nom n'existe pas
On Error Resume Next
Set Nom = ThisWorkbook.Names("TextBox1")
If Err.Number = 0 Then
TextBox1.Text = Split(Nom, """")(1)
End If
Set Nom = ThisWorkbook.Names("TextBox2")
If Err.Number = 0 Then
TextBox2.Text = Split(Nom, """")(1)
End If
Set Nom = ThisWorkbook.Names("TextBox3")
If Err.Number = 0 Then
TextBox3.Text = Split(Nom, """")(1)
End If
Set Nom = ThisWorkbook.Names("CheckBox1")
If Err.Number = 0 Then
CheckBox1.Value = CBool(Split(Nom, """")(1))
End If
End Sub
Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
'inscrit les valeurs dans des Noms cachés
ThisWorkbook.Names.Add "TextBox1", TextBox1.Text, False
ThisWorkbook.Names.Add "TextBox2", TextBox2.Text, False
ThisWorkbook.Names.Add "TextBox3", TextBox3.Text, False
ThisWorkbook.Names.Add "CheckBox1", CStr(CheckBox1.Value), False
End Sub
Hervé.