Bonjour,
J'ai créé une macro qui permet à mes utilisateurs d'afficher leur feuille de saisie au fur et à mesure qu'ils ont besoin d'une nouvelle. Les feuilles de saisie existent mais sont masquées et un bouton permet d'afficher une nouvelle feuille à compléter.
Je souhaite utiliser le codename de la feuille car le nom de la feuille évoluera en fonction d'une donnée saisie.
Pour commencer j'ai fait la macro suivante qui fonctionne avec 2 feuilles.
Cette macro fonctionne mais uniquement sur 2 feuilles alors que j'aurais jusqu'à 20 feuilles possibles.
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 Sub NouvelleFO() Dim Cl As Workbook Set Cl = ActiveWorkbook If Cl.Worksheets(Feuil16.Name).Visible = False Then Cl.Worksheets(Feuil16.Name).Visible = True Else Cl.Worksheets(Feuil17.Name).Visible = True End If End Sub
Du coup, j'ai essayé de la transformer en boucle et là ça ne marche pas car je n'arrive pas à mettre la variable sur le codename de la feuille
Pouvez-vous m'aider car il bloque sur Cl.Worksheets(codeNameFeuille.Name).Visible
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 Sub NouvelleFO() Dim Cl As Workbook Set Cl = ActiveWorkbook Dim i As Integer Dim codeNameFeuille As String For i = 1 To 20 codeNameFeuille = "Feuil" & i If Cl.Worksheets(codeNameFeuille.Name).Visible = False Then Exit For 'Si condition vraie, on quitte la boucle For ! End If Cl.Worksheets(codeNameFeuille.Name).Visible = true End Sub
Merci d'avance
Partager