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

Macro Lien hypertexte vers dernier onglet

  • Initiateur de la discussion Initiateur de la discussion laduche81
  • 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 !

laduche81

XLDnaute Junior
Bonjour,

J'ai un bouton de macro qui me permet d'archiver l'agenda présent dans la feuille "agenda of today" dans une nouvelle feuille qui va prendre la valeur contenue dans la cellule G2.
De plus, cette date vient se renseigner dans la première cellule vide de la colonne A dans la feuille "index" qui fait office de sommaire.
Ensuite, dans la première cellule vide de la colonne B de cette même feuille "index" j'essaye de faire un lien hypertexte vers la dernière feuille du classeur. Et là... ça ne marche pas.

Voici mon code ci-dessous et merci beaucoup par avance de votre aide!

Cdlt,

Adrien



Code:
Sub Macro1()
'
' Macro1 Macro
'

'
   
    If Sheets("Agenda of today").Range("G2") = 0 Then MsgBox ("Specify a date in G2")
    If Sheets("Agenda of today").Range("G2") = 0 Then Exit Sub
   
    ActiveSheet.Range("A5:K50").Select
    Selection.Copy
    Sheets.Add After:=Sheets(Sheets.Count)
    Range("A1").Select
    ActiveSheet.Paste
    Range("A1").Value = Sheets("Agenda of today").Range("G2").Value
    Columns("A:K").Select
    Columns("A:I").EntireColumn.AutoFit
    Rows("1:50").Select
    Rows("1:50").EntireRow.AutoFit
    
    ActiveSheet.Name = Format((Sheets("Agenda of today").Range("G2")), "dd-mm-yyyy")
  
    Sheets("index").Select
    Cells(Range("A65536").End(xlUp).Row + 1, 1) = Sheets("Agenda of today").Range("G2").Value
    
    Cells(Range("A65536").End(xlUp).Row + 0, 2).Select
    ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:="", SubAddress:= _
    Sheets(Sheets.Count).Name & "!A1", TextToDisplay:="link to the agenda of that day"

    Sheets("Agenda of today").Select
    Range("G2").ClearContents
    Range("B6:K50").ClearContents
End Sub
 
Re : Macro Lien hypertexte vers dernier onglet

Bonjour,

Code:
ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:="", SubAddress:= _
    Sheets(Sheets.Count).Name & "!A1", TextToDisplay:="link to the agenda of that day"

cette instruction fonctionne très bien chez moi, ce dans un module standard du classeur en question...

bon après midi
@+
 
Re : Macro Lien hypertexte vers dernier onglet

Bonjour,

Le code semble correct en effet, cependant il ne marche pas chez moi. Je ne sais pas ce qui m'échappe, je vous joint mon fichier si cela peut aider.

Merci bien 🙂

Adrien
 

Pièces jointes

Re : Macro Lien hypertexte vers dernier onglet

bonjour à vous 2,

à essayer:
Code:
[FONT=monospace]ActiveSheet.Hyperlinks.Add _
   Anchor:=Selection, _
   Address:="", _
   SubAddress:= "'" & Sheets(Sheets.Count).Name & "'!A1", _
   TextToDisplay:="link to the agenda of that day"

[/FONT]
 
Re : Macro Lien hypertexte vers dernier onglet


Bonjour francedemo,

Merci cela marche parfaitement.
Merci aussi à vous Pierrot, effectivement les espaces dans le nom de la feuille étaient donc la source de mon erreur!

Bonne journée à vous deux 🙂

Adrien
 
Re : Macro Lien hypertexte vers dernier onglet

je me suis permis de simplifier un peu ton code, il y a surement encore mieux à faire...

Code:
Sub Macro1()

' Macro1 Macro
 
If Sheets("Agenda of today").[G2] = 0 Then MsgBox ("Specify a date in G2"): Exit Sub
   
Sheets.Add After:=Sheets(Sheets.Count)
ActiveSheet.Name = Format((Sheets("Agenda of today").[G2]), "dd-mm-yyyy")

With Sheets("Agenda of today")
    .[A5:O50].Copy
    [A1:O45].PasteSpecial
    [A1].Value = .Range("G2").Value
End With

Columns("A:O").Select
Columns("A:I").EntireColumn.AutoFit
Rows("1:50").EntireRow.AutoFit
    
With Sheets("index")
    .Activate
    .Cells([A65536].End(xlUp).Row + 1, 1) = Sheets("Agenda of today").[G2].Value
    ActiveSheet.Hyperlinks.Add _
        Anchor:=.Cells([A65536].End(xlUp).Row + 0, 2), _
        Address:="", _
        SubAddress:="'" & Sheets(Sheets.Count).Name & "'!A1", _
        TextToDisplay:="link to the agenda of that day"
End With
With Sheets("Agenda of today")
    .Activate
    .[G2].ClearContents
    .[B6:K50].ClearContents
End With

End Sub

à +
 
- 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

Discussions similaires

Réponses
2
Affichages
540
Réponses
21
Affichages
2 K
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…