lien vers page suivante et précédente

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

maval

XLDnaute Barbatruc
Bonjour

J'ai un code pour me rendre en page d'accueil qui fonctionne très bien j'aimerai lui apporter une modification. Mon code:
Code:
Sub inser_liens_hypertext()
Dim sh As Worksheet
For Each sh In Worksheets
If sh.Name <> "Accueil" Then
    sh.Activate
    sh.Range("A1").Select
    ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:="", SubAddress:= _
        "Accueil!A1", TextToDisplay:="Retour page d'Accueil"
End If
Next sh
Sheets("Accueil").Activate
End Sub

J'aimerai ajouter à ce code la mention suivant précédent.

je vous remercie d'avance

Max
 

Pièces jointes

Re,

Voyez le fichier joint et cette macro dans ThisWorkbook :
Code:
Private Sub Workbook_SheetActivate(ByVal Sh As Object)
If TypeName(Sh) <> "Worksheet" Then Exit Sub
Application.ScreenUpdating = False
Sh.[A1:A3].Clear 'RAZ (au cas où l'on modifie l'ordre des feuilles)
If Sh.Name <> "Accueil" Then Sh.Hyperlinks.Add Sh.[A1], "", "Accueil!A1", TextToDisplay:="Accueil"
If Sh.Index > 1 Then Sh.Hyperlinks.Add Sh.[A2], "", Sheets(Sh.Index - 1).Name & "!A1", TextToDisplay:="Précédent"
If Sh.Index < Sheets.Count Then Sh.Hyperlinks.Add Sh.[A3], "", Sheets(Sh.Index + 1).Name & "!A1", TextToDisplay:="Suivant"
Sh.[A1:A3].Sort Sh.[A1], Header:=xlNo 'tri pour supprimer les vides
End Sub
Elle se déclenche quand on active une feuille quelconque.

A+
 

Pièces jointes

Re,

C'est bon j'ai modifier,
Code:
Private Sub Workbook_SheetActivate(ByVal Sh As Object)
If TypeName(Sh) <> "Worksheet" Then Exit Sub
Application.ScreenUpdating = False
Sh.[E1:G1].Hyperlinks.Delete 'RAZ (au cas où l'on modifie l'ordre des feuilles)
If Sh.Name <> "Accueil" Then Sh.Hyperlinks.Add Sh.[E1], "", "Accueil!E1", TextToDisplay:="Accueil"
If Sh.Index > 1 Then Sh.Hyperlinks.Add Sh.[F1], "", Sheets(Sh.Index - 1).Name & "!E1", TextToDisplay:="Précédent"
If Sh.Index < Sheets.Count Then Sh.Hyperlinks.Add Sh.[G1], "", Sheets(Sh.Index + 1).Name & "!E1", TextToDisplay:="Suivant"
Sh.[E1:G1].Sort Sh.[E1], Header:=xlNo 'tri pour supprimer les vides
End Sub

Je vous remercie Nickel
 
Re,

Je me disais aussi...

Mais pour le tri à la fin il faut un tri horizontal :
Code:
Private Sub Workbook_SheetActivate(ByVal Sh As Object)
If TypeName(Sh) <> "Worksheet" Then Exit Sub
Application.ScreenUpdating = False
Sh.[E1:G1].Clear 'RAZ (au cas où l'on modifie l'ordre des feuilles)
If Sh.Name <> "Accueil" Then Sh.Hyperlinks.Add Sh.[E1], "", "Accueil!E1", TextToDisplay:="Accueil"
If Sh.Index > 1 Then Sh.Hyperlinks.Add Sh.[F1], "", Sheets(Sh.Index - 1).Name & "!E1", TextToDisplay:="Précédent"
If Sh.Index < Sheets.Count Then Sh.Hyperlinks.Add Sh.[G1], "", Sheets(Sh.Index + 1).Name & "!E1", TextToDisplay:="Suivant"
Sh.[E1:G1].Sort Sh.[E1], Orientation:=xlByColumns 'facultatif, tri horizontal pour supprimer les vides
End Sub
A+
 
- 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
7
Affichages
620
Réponses
10
Affichages
836
Réponses
21
Affichages
2 K
  • Question Question
Microsoft 365 Lien hypertexte
Réponses
5
Affichages
703
Retour