Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

affecter un lien hypertexte à un bouton sur une feuille : vba excel

  • Initiateur de la discussion Initiateur de la discussion kuistau
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

K

kuistau

Guest
bonjour à toutes et tous
j'ai dans un classeur de gestion de stock un certain nombre de feuilles, chaque feuille, un fournisseur. j 'ai en première feuille un tableau de bord avec des boutons reliés un à un aux fournisseurs donc feuille, j'ai fait cette manip à la main. j'ai réussi via un bouton(code vba) à créer une nouvelle feuille fournisseur à modifier l'onglet qui porte le nom du fournisseur, à choisir un bouton libre sur mon tableau de bord à lui donner le nom du fournisseur et là blocage : je voudrais affecter un lien pour que, au clic sur le bouton il ouvre la feuille du fournisseur en question.
VB:
Sub copiefournisseur()

' nouveaufournisseur
Dim nomfour As String
Dim l As Integer
Dim link As String

    Sheets("fournisseur").Visible = True
    Sheets("fournisseur").Select
    Sheets("fournisseur").Copy After:=Sheets(Sheets.Count)
    Sheets("fournisseur").Visible = False
    Sheets("fournisseur (2)").Select
    nomfour = InputBox("entrez le nom du fournisseur : ")
  
  
If nomfour = "" Then
        MsgBox "sans nom, la fiche fournisseur sera éffacé"
       Sheets("fournisseur2").Delete
      
    Exit Sub
Else

    Sheets("fournisseur (2)").Name = nomfour
    Range("a1") = nomfour
    l = Sheets("bd").Range("a65536").End(xlUp).Row + 1
    Sheets("bd").Range("a" & l).Value = nomfour
    Sheets("tableau de bord").Activate
    link = "tableau de bord.xlsm - " & nomfour & "! -"
End If

    btn = InputBox("entrez le numero du bouton à utilser ?")
  
If btn = "" Then
    MsgBox " sans nombre la liaison ne pourra pas se faire"
  
    Exit Sub

End If

    If IsNumeric(btn) Then
  
With ActiveSheet.Shapes.Range(Array("btnf" & btn)).Select
    Selection.ShapeRange(1).TextFrame2.TextRange.Characters.text = nomfour
    ActiveSheet.Hyperlinks.add Anchor:=Selection.ShapeRange.Item(1), Address:=link, NewWindow:=True

End With
  
End If
  
End Sub

merci pour votre aide
kuistau
 
Dernière modification par un modérateur:
bonjour
après plusieurs recherches sur la toile, j'ai trouvé une solution que je vous partage
j'utilise un "subaddress" ds nom code
VB:
ActiveSheet.Hyperlinks.add Anchor:=Selection.ShapeRange.Item(1), Address:="", SubAddress:="'" & nomfour & "'!A1", TextToDisplay:=nomfour
merci à tous et à bientôt
kuistau
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…