Lien hypertexe dans cellule

jeromeN95

XLDnaute Impliqué
Bonjour,
je souhaite mettre dans une cellule un lien vers une autre feuille si elle n'est pas vide, et bien sur lorsque je clique dessus, le lien me renvoie sur la page.

onglet source : "Page de garde" cellule E14
Si <>"" then lien hypertexte vers feuille "Votre Buanderie" cellule B2.
Merci
 

jeromeN95

XLDnaute Impliqué
Re : Lien hypertexe dans cellule

Bonjour,
ci-tard dit-ci-tôt fait.

Voici mon fichier en Pj avec un exemple, trés simple.

Merci beaucoup pour votre implication.
Bonne jounrée.
 

Pièces jointes

  • AuditV5 FORUM LIEN.xls
    289.5 KB · Affichages: 109
  • AuditV5 FORUM LIEN.xls
    289.5 KB · Affichages: 118
  • AuditV5 FORUM LIEN.xls
    289.5 KB · Affichages: 120

Hippolite

XLDnaute Accro
Re : Lien hypertexe dans cellule

Bonjour,
Apprès réflexion, une simple formule suffit :
Code:
=SI('Votre Buanderie'!B2<>""; LIEN_HYPERTEXTE("[Classeur1.xls]'Votre Buanderie'!B2"; "Votre Buanderie" ); "")
A+

Ajout : Si on reste dans la même cellule, la formule ne convient pas, voir macro ci-dessous
 
Dernière édition:

Hippolite

XLDnaute Accro
Re : Lien hypertexe dans cellule

Re,
Avec macro adaptée à ton fichier :
VB:
Private Sub Worksheet_Change(ByVal target As Range)
    If Not Intersect(target, Range("E14")) Is Nothing Then
        Application.EnableEvents = False
        Select Case Range("E14")
        Case ""
            Sheets("Page de garde").Range("E14") = ""
        Case Else
            With Sheets("Page de garde")
                Temp = .Range("E14")
                Lien = "'[" & ThisWorkbook.Name & "]Votre Buanderie'!B2"
                .Hyperlinks.Add Anchor:=.Range("E14"), Address:="", _
                    SubAddress:=Lien, TextToDisplay:=Temp
            End With
        End Select
        Application.EnableEvents = True
    End If
End Sub
A+
 

jeromeN95

XLDnaute Impliqué
Re : Lien hypertexe dans cellule

bonsoir,*j'ai donc ce code :

Code:
    If Not Intersect(target, Range("E14")) Is Nothing Then
        Application.EnableEvents = False
        Select Case Range("E14")
        Case ""
            Sheets("Page de garde").Range("E14") = ""
        Case Else
            Sheets("Votre Buanderie").Visible = True
            With Sheets("Page de garde")
                Temp = .Range("E14")
                Lien = "'[" & ThisWorkbook.Name & "]Votre Buanderie'!B2"
                .Hyperlinks.Add Anchor:=.Range("E14"), Address:="", _
                    SubAddress:=Lien, TextToDisplay:=Temp
            End With
        End Select
        Application.EnableEvents = True
            Sheets("Votre Buanderie").Select
    End If

ca fonctionne parfaitement avec la cellule E14 mais j'aimerai avoir la même fonctionnalité pour different cellule//onglet sans faire 5 fois le même code. Est-ce possible?

Régles :

E14 = Accés "Votre Buanderie"
E16 = "Votre Cuisine"
E18 = "Hebergement"
E20 = "Adoucisseur"
Merci.
 

jeromeN95

XLDnaute Impliqué
Re : Lien hypertexe dans cellule

Bonjour,
peut on modifier ce code pour :
--> Lorsque la cellule est vide, l'onglet "votre Buanderie" ce masque.
--> Lorsque l'on selectionne la cellule, rien ne se passe.
--> Lorsque l'on a rentrer un nom dans la cellule, et que l'on clique sur la cellule, rien ne ce passe mais l'onglet est afficher.
--> Lorsque l'on a rentrer un nom et que l'on clique sur le lien, on est projeter vers l'onglet "Votre Buanderie" et on selectionne la cellule B2.

Code:
    If Not Intersect(Target, Range("E14")) Is Nothing Then
        Application.EnableEvents = False
        Select Case Range("E14")
        Case ""
            Sheets("Page de garde").Range("E14") = ""
        Case Else
            Sheets("Votre Buanderie").Visible = True
            With Sheets("Page de garde")
                Temp = .Range("E14")
                Lien = "'[" & ThisWorkbook.Name & "]Votre Buanderie'!B2"
                .Hyperlinks.Add Anchor:=.Range("E14"), Address:="", _
                    SubAddress:=Lien, TextToDisplay:=Temp
            End With
        End Select
        Application.EnableEvents = True
            Sheets("Votre Buanderie").Select
    End If

Merci beaucoup.
 

Hippolite

XLDnaute Accro
Re : Lien hypertexe dans cellule

Bonjour,
--> Lorsque la cellule est vide, l'onglet "votre Buanderie" se masque.
VB:
Case ""
            Sheets("Page de garde").Range("E14") = ""  'vide la cellule et détruit le lien
             Sheets("Votre Buanderie").Visible = False  'masque l'onglet


Supprimer Sheets("Votre Buanderie").Select pour rester dans la page de garde.
--> Lorsque l'on sélectionne la cellule, rien ne se passe.
--> Lorsque l'on a rentré un nom dans la cellule, et que l'on clique sur la cellule, rien ne se passe mais l'onglet est affiché.
--> Lorsque l'on a rentré un nom et que l'on clique sur le lien, on est projeté vers l'onglet "Votre Buanderie" et on sélectionne la cellule B2.
Si la cellule est vide, il n'y a pas de lien, il ne se passe rien
Si la cellule est pleine, il y a un lien, en cliquant le lien est activé et la cellule B2 de l'onglet "Votre Buanderie" est sélectionné.
A+
 

Hippolite

XLDnaute Accro
Re : Lien hypertexe dans cellule

Re,
VB:
Private Sub Worksheet_Change(ByVal target As Range)
    If Not Intersect(target, Range("E14")) Is Nothing Then
        Application.EnableEvents = False
        Select Case Range("E14")
        Case ""
            Sheets("Page de garde").Range("E14") = ""
            Sheets("Votre Buanderie").Visible = False
        Case Else
            Sheets("Votre Buanderie").Visible = True
            With Sheets("Page de garde")
                Temp = .Range("E14")
                Lien = "'[" & ThisWorkbook.Name & "]Votre Buanderie'!B2"
                .Hyperlinks.Add Anchor:=.Range("E14"), Address:="", _
                    SubAddress:=Lien, TextToDisplay:=Temp
            End With
        End Select
        Application.EnableEvents = True
    End If
End Sub
A+
 

Discussions similaires

Statistiques des forums

Discussions
312 760
Messages
2 091 794
Membres
105 074
dernier inscrit
JPATOUNE