Créer un lien vers une feuille Excel avec un bouton VBA
Bonjour à tous,
Pour un travail je crée plusieurs boutons sur une feuille Excel et mon but serait de rediriger l'utilisateur vers d'autres feuilles Excel grâce à ces boutons.
Voici comment sont créés les boutons:
Sub Creation_Etappe()
Dim PosG As Integer
Dim PosH As Integer
Dim Hauteur As Integer
Dim Longueur As Integer
ActiveSheet.Buttons.Delete
ActiveSheet.Shapes.SelectAll
Selection.Delete
Dim Nb
Dim Caption
Dim Name
Dim Col
Dim k
Dim Lin
Sheets("Timeline").Select
Name = Range("C30") 'C'est une chaîne de caractères qui est le nom de la feuille à ouvrir'
Nb = Range("D31")
Col = Chr(Nb + 65)
Caption = Range("C31") & " " & Range("D31")
For k = 0 To 10 'I have chosen a number of 10 cars but it is possible to increase this number'
If Name = Range("A" & 30 + k) Then
Lin = Range("B" & 30 + k)
End If
Next
Lin = Lin + 1
With ActiveSheet.Buttons.Add(Range(Col & Lin).Left, Range(Col & Lin).Top, Range(Col & Lin).Width, Range(Col & Lin).Height)
.OnAction = ""
.Text = Caption
.Name = Name & " " & Range("C31") & " " & Range("D31")
End With
End SubJ'aimerais beaucoup écrire Sheets("Name").Select dans .OnAction mais ca ne marche pas, j'ai l'impression qu'on ne peut écrire que le nom des fonctions dans .OnAction?
Auriez-vous une solution s'il vous plaît?
Ci-joint mon code.
Merci par avance,
Valentin
Bonjour Valentin3427 et
Une petite présentation ICI serait la bienvenue
Je vous invite à lire la charte du forum [A LIRE AVANT DE POSTER]
qui vous aidera dans vos demandes et réponses sur ce forum et notamment :
- Pour plus de lisibilité, utilisez la fonctionnalité (bouton) </> pour insérer vos codes VBA (et si possible aussi pour vos formules Excel).
Ainsi que sur les fonctionnalités du nouveau forum
Sinon, sujet déjà traité sur ce forum, avec une petite recherche on peut trouver
https://forum.excel-pratique.com/excel/programmer-l-affectation-d-une-macro-a-un-bouton-t101905.html
Merci de votre participation
Cordialement
Bonjour Bruno, merci beaucoup pour votre réponse, je ne savais pas du tout comment fonctionnait le forum mais ça y est je me suis présenté!
Cependant, j'ai essayé d'affecter la macro au bouton de manière à ce qu'il me redirige vers la bonne feuille Excel mais cela ne fonctionne toujours pas, j'obtiens cette erreur:
Voici mon code modifié:
With ActiveSheet.Buttons.Add(Range(Col & Lin).Left, Range(Col & Lin).Top, Range(Col & Lin).Width, Range(Col & Lin).Height)
.OnAction = "GAS_Status.xlsm!" & "NA5_Etappe_1" 'GAS_Status.xlsm le nom du fichier excel et NA5_Etappe_1 le nom de la feuille Excel à ouvrir'
.Text = Caption
.Name = Name & " " & Range("C31") & " " & Range("D31")
End WithAuriez-vous une explication s'il vous plaît? Merci par avance.
Bien cordialement,
Valentin
Re,
Peut-être essayer
.OnAction = ThisWorkBook.Name & "!NA5_Etape_1"ATTENTION au nom de la sub dans votre classeur
A+