Atteindre une feuille spécifique

Bonsoir le Forum,

Je souhaiterais votre aide pour une macro que je n'arrive pas effectuer.

Explications :

La macro permet d'atteindre n'importe quelle feuille du classeur en saisissant son nom dans une fenêtre.

Une fois lancée, des boutons sont créés dans toutes les feuilles pour justement atteindre une autre feuille à partir de la feuille active.

La macro pour créer les boutons fonctionne ainsi que celle pour atteindre n'importe quelle feuille.

Cependant je souhaite assigner au bouton de chaque feuille la macro pour atteindre n'importe quelle feuille.

Sub assignMacro()

Dim oSheet As Worksheet

Dim oShape As Shape

Set oSheet = ThisWorkbook.Worksheets(1)

Set oShape = oSheet.Shapes 'Le blocage se trouve ici

oShape.OnAction = "GoToSheet"

End Sub

D'avance MERCI pour votre aide.

bonjour nazee,

cette macro adaptée essaie d'atteindre le bouton (plutôt un forme) "atteindre..." dans chaque feuille. S'il n'existe pas, elle le crée. Puis elle change quelque propriétés.

Sub CreationBouton()                         'Affichage du bouton dans toutes les feuilles

     Dim i As Integer, SHP As Shape, sH As Worksheet, c As Range

     For i = 1 To ThisWorkbook.Worksheets.Count
          Set sH = ThisWorkbook.Worksheets(i)
          On Error Resume Next
          Set SHP = Nothing: Set SHP = sH.Shapes("Atteindre...") 'essayer d'atteindre le forme avec ce nom
          On Error GoTo 0
          If SHP Is Nothing Then Set SHP = sH.Shapes.AddShape(msoShapeRectangle, 200, 10, 80, 40)     's'il n'existe pas, créer le
          Set c = sH.Range("D2")             'position bouton déterminé par cette cellule

          With SHP 'ce forme
               .ShapeStyle = msoShapeStylePreset15
               .TextFrame2.TextRange.Characters.Text = "Atteindre une autre feuille"
               .Name = "Atteindre..."
               .OnAction = "GoToSheet"
               .Left = c.Left + 5
               .Top = c.Top + 5
          End With
     Next

     Application.Goto ThisWorkbook.Sheets(1).Range("A1")

End Sub

Bonjour

Bonjour à tous

Un essai à tester

Bye !

Bonsoir BaAlv, gmb et le Forum,

Les deux solutions me conviennent parfaitement.

Merci infiniment à vous deux.

Cordialement,

Nazée

Rechercher des sujets similaires à "atteindre feuille specifique"