Lien hypertexte vers feuille cachée

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 !

matthieu2701

XLDnaute Occasionnel
Bonjour,

Je suis entrain de faire un fichier excel dans lequel je souhaite faire des liens hypertextes vers des fichiers words (procédures de mon boulot) mais aussi vers differentes feuilles excel.

Par exemple, dans la feuille OMEGA j'ai plusieurs procèdures. Comme je vais en avoir beaucoup, je veux qu'en cliquant sur MES (lien hypertexte) cela me renvoi vers la feuille MES. Jusqu'ici j'y arrive.

Par contre, je souhaite que la feuille MES soit cachée. Le lien hypertexte MES dans la feuille OMEGA servira à renvoyer vers la feuille cachée MES.

J'espère que j'ai été assez clair.

Merci par avance pour votre aide.
 

Pièces jointes

Re : Lien hypertexte vers feuille cachée

Bonsoir.
Dans "Feuil1 (OMEGA)":
VB:
Option Explicit

Private Sub Worksheet_FollowHyperlink(ByVal Target As Hyperlink)
If Target.SubAddress = "MES!A1" Then Feuil2.Visible = xlSheetVisible: Feuil2.Activate
End Sub
Dans "Feuil2 (MES)":
VB:
Option Explicit

Private Sub Worksheet_Deactivate()
Me.Visible = xlSheetHidden
End Sub
Remarque: personnellement je ne mettrait pas de lien hypertexte pour accéder aux feuilles du même classeur dont le nom apparaît dans la cellule.
Une Worksheet_SelectionChange peut activer la feuille tout aussi bien.
À +
 
Re : Lien hypertexte vers feuille cachée

Comment faire une "Worksheet_SelectionChange" ? Désolé je m'y connais pas en VBA.

J'aimerais aussi faire une section "RECHERCHE". On tape la procèdure recherchée sur la 1ere feuille et cela nous emmène directement sur la feuille qui contient le mot recherché.
 
Re : Lien hypertexte vers feuille cachée

Aller dans un module de feuille (et non un module standard).
Regardez les deux listes déroulantes qui surmontent la fenêtre de code
Dans celle de gauche (infobulle "Objet"), où "(Général)" est souvent sélectionné au départ, sélectionnez Worksheet, ça suffit.
Sinon, ou s'il vous en faut une autre, allez la sélectionner dans la liste de droite (infobulle "Procédure").
Cordialement.
 
Dernière édition:
Re : Lien hypertexte vers feuille cachée

Aller dans un module de feuille (et non un module standard).
Regardez les deux listes déroulantes qui surmontent la fenêtre de code
Dans celle de gauche (infobulle "Objet"), où "(Général)" est souvent sélectionné au départ, sélectionnez Worksheet, ça suffit.
Sinon, ou s'il vous en faut une autre, allez la sélectionner dans la liste de droite (infobulle "Procédure").
Cordialement.

Ensuite comment faire pour me rendre sur la feuille MES lorsque je clique sur MES sur la feuille OMEGA ?

Avez-vous vu ma question pour la fonction "RECHERCHE" ?
 
Re : Lien hypertexte vers feuille cachée

Ensuite comment faire pour me rendre sur la feuille MES lorsque je clique sur MES sur la feuille OMEGA ?
Je vous laisse chercher un peu pour apprendre. Vous avez les 3/4 de la solution en main, dont l'instruction qui le fait et que je vous ai indiquée. Target représente la plage (on dit l'objet Range) qui a été sélectionné. Trois instructions suivantes pourront vous être utiles:
VB:
On Error Resume Next
...
If Err Then
   ...
   End If
Oui j'ai vu pour RECHERCHE sauf Rien dans votre fourniture à quoi le raccrocher.

P.S. Vous pouvez utiliser la touche F1 quand le curseur texte est sur un mot clé du langage, voire une propriété ou une méthode de l'application hôte.
À +
 
Dernière édition:
Re : Lien hypertexte vers feuille cachée

Voilà le fichier avec une feuille Accueil. Je souhaite que la recherche se fasse à partir de cette feuille.
 

Pièces jointes

Re : Lien hypertexte vers feuille cachée

Ca a l'air pas mal tout ça:
VB:
Option Explicit

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Count <> 1 Then Exit Sub
Rechercher Target.Value, "Modification d'une cellule"
End Sub

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Count <> 1 Then Exit Sub
Rechercher Target.Value, "Sélection d'une cellule"
End Sub

Private Sub Rechercher(ByVal Z As String, ByVal Titre As String)
Dim F As Long, Rés As Range
If Z = "" Then Exit Sub
If MsgBox("Voulez vous chercher """ & Z & """ ?", vbQuestion + vbYesNo, Titre) = vbNo Then Exit Sub
For F = 2 To Worksheets.Count
   Set Rés = Worksheets(F).Cells.Find(What:=Z, LookIn:=xlValues, LookAt:=xlPart, SearchOrder:=xlByRows, _
      SearchDirection:=xlNext, MatchCase:=False, SearchFormat:=False)
   If Not Rés Is Nothing Then Exit For
   Next F
If Rés Is Nothing Then MsgBox "Ipossible de trouver """ & Z & """ dans le reste du classeur", vbInformation, "Recherche": Exit Sub
Application.Goto Rés
End Sub
Avec ça vous pouvez taper n'importe quoi n'importe où dans votre feuille accueil, voire sélectionner un texte préexistant.
À +
 
Re : Lien hypertexte vers feuille cachée

Ca a l'air pas mal tout ça:
VB:
Option Explicit

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Count <> 1 Then Exit Sub
Rechercher Target.Value, "Modification d'une cellule"
End Sub

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Count <> 1 Then Exit Sub
Rechercher Target.Value, "Sélection d'une cellule"
End Sub

Private Sub Rechercher(ByVal Z As String, ByVal Titre As String)
Dim F As Long, Rés As Range
If Z = "" Then Exit Sub
If MsgBox("Voulez vous chercher """ & Z & """ ?", vbQuestion + vbYesNo, Titre) = vbNo Then Exit Sub
For F = 2 To Worksheets.Count
   Set Rés = Worksheets(F).Cells.Find(What:=Z, LookIn:=xlValues, LookAt:=xlPart, SearchOrder:=xlByRows, _
      SearchDirection:=xlNext, MatchCase:=False, SearchFormat:=False)
   If Not Rés Is Nothing Then Exit For
   Next F
If Rés Is Nothing Then MsgBox "Ipossible de trouver """ & Z & """ dans le reste du classeur", vbInformation, "Recherche": Exit Sub
Application.Goto Rés
End Sub
Avec ça vous pouvez taper n'importe quoi n'importe où dans votre feuille accueil, voire sélectionner un texte préexistant.
À +

Après avoir cliquer sur OUI pour répondre à la question "Voulez vous rechercher "MES" ?" j'ai ce message "Erreur d'éxécution "448". Argument nommé introuvable.
 
Re : Lien hypertexte vers feuille cachée

Curieux, chez moi ça marche avec un range comme référence. Question de version d'Excel sans doute...
Si c'est bien Application.Goto qui pose problème ça peut se remplacer par:
VB:
Rés.Worksheet.Activate
Rés.Select
Avec une nuance infime dans les conséquences dont je ne parlerai pas.


À part ça, atteindre la feuille en sélectionnant une cellule contenant son nom. Hmmmm ! C'est une peau de banane vos cellules fusionnées ! Voici la procédure qui s'en accomode :
VB:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim Feui As Worksheet
On Error Resume Next
Set Feui = ThisWorkbook.Worksheets(Target(1, 1).Value)
If Feui Is Nothing Then Exit Sub
Feui.Visible = xlSheetVisible: Feui.Activate
End Sub
Le Target(1, 1) évidemment vous ne pouviez pas le deviner !

P.S. Il est à remarquer que si le groupe fusionné valant "MES" n'est pas déjà sélectionnée dans la feuille OMEGA (auquel cas il ne se passe rien), le fait de chercher "MES" dans Acceuil aboutit, à cause de cette dernière procédure, à activer la feuille MES ! Faut-il empêcher cela ?
À +
 
Dernière édition:
- 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
5
Affichages
579
Réponses
7
Affichages
890
Retour