Bonjour

je pêche sur ce cas malgré mes recherches.

Je souhaite ouvrir ou modifier, ou les 2 toute une série de userform car il contienne tous certains éléments commun.
J'appelle donc mes formulaires : formperm1, formperm2, formperm3,.... formperm12.

j'ai fait ce code à titre de test mais cela ne fonctionne pas :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
 
Option Explicit
Dim a As Single
Dim nform As UserForm
Dim nume As String
 
Sub testform()
 
 
For a = 1 To 12
    nume = "formperm" & a
    Set nform = nume
    nform.Show
    nform.Label1.Caption = "essai"
    nform.Hide
    Set nform = Nothing
Next
 
End Sub
j'ai essayé cela sans succes :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
 
Option Explicit
Dim a As Single
Dim nform As UserForm
Dim nume As String
 
For a = 1 To 12
    Set nform = "formperm" & a
    nform.Show
    nform.Label1.Caption = "essai"
    nform.Hide
    Set nform = Nothing
Next
 
 
End Sub
il plante sur la ligne du set car "nume" est incompatible. Se que je comprends car nume est une variable de type string et je veux rentrer un objet.
Comment faire pour pouvoir faire fonctionner ce bout de programme ?

Petite précision, j'ai pensé à boucler sur l'ensemble des forms mais j'ai peur que se soit trop long car j'ai d'autres formulaires dans mon projet

j'ai écrit cela :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
 
Sub testform1()
 
For Each nform In ThisWorkbook.VBProject.VBComponents
    If nform.Type = 3 Then
        If Left(nform.Name, 8) = "formperm" Then
            nform.Show
            nform.Label1.Caption = "essai"
            MsgBox "reussi"
        End If
    End If
    MsgBox "suite"
Next
End Sub
J'ai l'erreur : "la méthode 'vbproject' de l'objet '_workbook' a échoué !!!"

Avez vous des pistes à me donner ?

Merci pour votre aide