Formule pour une mise en forme conditionnelle sur lien hypertexte

Océane

XLDnaute Impliqué
Bonjour
Dans l’exemple joint j'ai crée un lien hypertexte vers un ficher audio. Quand on clic sur le lien, le fichier audio s’exécute.
Ce que je voudrai c'est qu'en mème temps, la cellule qui contient le nom passe en vert, pour garder mémoire du passage.
je pense que cela peut se faire avec une formule de mise en forme conditionnelle, mais je ne la trouve pas ...
Il faut aussi que si je clic dessus par erreur pouvoir revenir au blanc.
Merci d'avance.
Je ne peux pas télécharger le fichier audio .
 

Pièces jointes

  • Liens.xlsx
    8.7 KB · Affichages: 66

Océane

XLDnaute Impliqué
Bonjour Double zéro
Je pense qu'il faut mettre ton code dans thisworkbook ?
J'ai fait l'essai mais çà ne fonctionne pas. Par contre le fichier audio s’exécute avec un seul clic gauche.
Ce qui serait bien c'est un double clic pour revenir en arrière.
A+
 

DoubleZero

XLDnaute Barbatruc
Re-bonjour,

La suggestion visée en #2 est une ânerie :oops:...

Placer les deux codes suivants dans le module de l'onglet où se trouvent les valeurs.
VB:
Option Explicit
Private Sub Worksheet_BeforeRightClick(ByVal c As Range, Cancel As Boolean)
' fond incolore par clic droit
    Cancel = True
    If c.Hyperlinks.Count > 0 And c.Offset(, 1).Interior.ColorIndex = 4 Then c.Offset(, 1).Interior.ColorIndex = xlNone
End Sub

Private Sub Worksheet_SelectionChange(ByVal c As Range)
' fond par clic simple
    If c.Hyperlinks.Count > 0 Then
        c.Offset(, 1).Select
        c.Offset(, 1).Interior.ColorIndex = 4
    End If
End Sub

A bientôt :)
 

DoubleZero

XLDnaute Barbatruc
Re-bonjour,

Ces versions me paraissent "plus mieux bien"...
VB:
Option Explicit
Private Sub Worksheet_BeforeRightClick(ByVal c As Range, Cancel As Boolean)
' fond incolore par clic droit
    Cancel = True
    If c.Hyperlinks.Count > 0 And c.Interior.ColorIndex = 4 Then c.Interior.ColorIndex = xlNone
End Sub

Private Sub Worksheet_SelectionChange(ByVal c As Range)
' fond par clic simple
Application.EnableEvents = False
    If c.Hyperlinks.Count > 0 Then
        c.Offset(, 1).Select
        c.Select: c.Interior.ColorIndex = 4
    End If
Application.EnableEvents = True
End Sub
A bientôt :)
 

DoubleZero

XLDnaute Barbatruc
Bonjour, Océane, le Forum,

Une ligne de code supplémentaire devrait régler le problème.
VB:
Option Explicit
Private Sub Worksheet_BeforeRightClick(ByVal c As Range, Cancel As Boolean)
' fond incolore par clic droit
   Cancel = True
    If c.Hyperlinks.Count > 0 And c.Interior.ColorIndex = 4 Then c.Interior.ColorIndex = xlNone
End Sub

Private Sub Worksheet_SelectionChange(ByVal c As Range)
' fond par clic simple
If c.Count > 1 Then Exit Sub
Application.EnableEvents = False
    If c.Hyperlinks.Count > 0 Then
        c.Offset(, 1).Select
        c.Select: c.Interior.ColorIndex = 4
    End If
Application.EnableEvents = True
End Sub
A bientôt :)
 

Océane

XLDnaute Impliqué
Effectivement la ligne de code supplémentaire résout le Pb, mais du coup le clic droit est inopérant pour sélectionner la hauteur de ligne et plus grave quand on fait la tentative la macro le coup suivant ne fonctionne plus, sans pour autant bugger.
Bonne journée
 

DoubleZero

XLDnaute Barbatruc
Bonjour, Océane, le Forum,

Supprimer le code de "Feuil1" et placer les deux codes suivants dans "ThisWorkbook".

VB:
Option Explicit
Private Sub Workbook_SheetBeforeRightClick(ByVal o As Object, ByVal c As Range, Cancel As Boolean)
' fond incolore par clic droit
    For Each o In Worksheets
        Cancel = True
        If c.Hyperlinks.Count > 0 And c.Interior.ColorIndex = 4 Then c.Interior.ColorIndex = xlNone
    Next
End Sub

Private Sub Workbook_SheetSelectionChange(ByVal o As Object, ByVal c As Range)
' fond vert par clic simple
    For Each o In Worksheets
        If c.Count > 1 Then Exit Sub
        Application.EnableEvents = False
        If c.Hyperlinks.Count > 0 Then
            c.Offset(, 1).Select
            c.Select: c.Interior.ColorIndex = 4
        End If
        Application.EnableEvents = True
    Next
End Sub
A bientôt :)
 

Océane

XLDnaute Impliqué
Parfait - par contre je fais toujours avoir avec le clic droit, j'ai tellement l'habitude de l'utiliser , que je ne pense pas qu'il est neutraliser pour effacer le vert.
Exemple : je crée une feuille supl. pour créer le lien hypertexte je suis obligé de passer par le ruban, parce que le clic doit est neutralisé; mais on ne peut pas tout avoir!!!
Bon dimanche
 

ouf746

XLDnaute Nouveau
bonjour , un peu plus complexe !

moi je voudrais crée un bouton qui permet de générer les lien automatiquement sauf que j'ai envi que la macro cherche dans plusieurs répertoire windows indique si le nom indiquer dans excel figue dans le répertoire alors lui affecter le lien sinon mettre la casse en rouge pour avertir qu'il ne la pas trouver
 

Discussions similaires

Membres actuellement en ligne

Statistiques des forums

Discussions
311 725
Messages
2 081 942
Membres
101 849
dernier inscrit
florentMIG