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 :
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
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
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.
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
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 :J'ai l'erreur : "la méthode 'vbproject' de l'objet '_workbook' a échoué !!!"
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
Avez vous des pistes à me donner ?
Merci pour votre aide
Partager