'/////////// ajout pmo ///////////
Private Sub CommandButton3_Click()
Dim C As Control
Dim T()
Dim dummy
Dim cpt&
'---
On Error Resume Next
cpt& = 0
For Each C In Me.Controls
dummy = C.Value
If Err = 0 Then
ReDim Preserve T(0 To cpt&)
T(cpt&) = C.Value
Else
Err.Clear
End If
cpt& = cpt& + 1
Next C
ThisWorkbook.Names.Add Name:="___pmo", RefersTo:=T, Visible:=True 'mettre à False pour rendre le Name invisible
End Sub
'/////////////////////////////////
Private Sub UserForm_Activate()
If Nouveau = True Then TextBox1 = WorksheetFunction.Max(Feuil1.Range("A2:A1000")) + 1
'/////////// ajout pmo ///////////
Dim N As Name
Dim cpt&
Dim var
Dim dummy
Dim C As Control
'---
On Error Resume Next
Set N = ThisWorkbook.Names("___pmo")
If Err <> 0 Then Exit Sub
var = N.RefersTo
var = Mid(var, 3, Len(var) - 3)
var = Split(var, ",")
'---
For Each C In Me.Controls
dummy = C.Value
If Err = 0 Then C.Value = Mid(var(cpt&), 2, Len(var(cpt&)) - 2)
Err.Clear
cpt& = cpt& + 1
Next C
End Sub
'/////////////////////////////////
Private Sub CommandButton1_Click()
'/////////// ajout pmo ///////////
On Error Resume Next
ThisWorkbook.Names("___pmo").Delete
On Error GoTo 0
'/////////////////////////////////
'suite de votre code