1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41
| Sub CreerBoutonsEtFeuilles2(nbBoutons As Integer)
Dim wsBoutons As Worksheet
Dim nouvelleFeuille As Worksheet
Dim cb As Shape
Dim boutonNom As String
Dim feuilleNom As String
Dim topPosition As Double
Dim i As Integer
' Assurez-vous qu'il existe une feuille pour les boutons (1ère feuille)
Set wsBoutons = ThisWorkbook.Sheets(1)
wsBoutons.Activate
wsBoutons.Cells.Clear ' Nettoyer la feuille pour éviter les doublons
' Réinitialiser la position des boutons
topPosition = 10
' Créer autant de boutons et feuilles que demandé
For i = 1 To nbBoutons
' Créer une nouvelle feuille et nommer dynamiquement
Set nouvelleFeuille = ThisWorkbook.Sheets.Add(After:=ThisWorkbook.Sheets(ThisWorkbook.Sheets.Count))
feuilleNom = "Feuille_" & i
nouvelleFeuille.Name = feuilleNom
' Créer un bouton sur la première feuille
Set cb = wsBoutons.Shapes.AddShape(Type:=msoShapeRectangle, Left:=10, _
Top:=topPosition, Width:=150, Height:=30)
boutonNom = "Bouton_" & i
cb.Name = boutonNom
cb.TextFrame2.TextRange.Text = "Aller à " & feuilleNom
' Ajouter un lien à chaque bouton
wsBoutons.Hyperlinks.Add Anchor:=cb, Address:="", SubAddress:=feuilleNom & "!A1"
' Ajuster la position pour empiler les boutons verticalement
topPosition = topPosition + 40
Next i
MsgBox nbBoutons & " boutons et feuilles créés avec succès*!", vbInformation
End Sub |
Partager