XL 2016 Utiliser un tableau comme commentaire

Rackham

XLDnaute Nouveau
Bonjour à tous !

Je ne suis pas un grand expert d'excel, et j'essaye désespérément à automatiser une tâche :)

J'ai un tableau X avec des données formatées d'une certaine manière ex: JM et un autre tableau avec des données formatées d'une autre manière : ex Jean Marie.
Je souhaiterais savoir si il existe une macro me permettant de passer ma souris sur JM et voir apparaitre Jean Marie en commentaire. Et cela sans passer par Validation des données, ajouter un commentaire :D

Merci d'avance pour votre aide !

Amicalement,

Rackham
 

Pièces jointes

  • Test-Excel.xlsx
    11.4 KB · Affichages: 6

job75

XLDnaute Barbatruc
Bonsoir Rackham, bienvenue sur XLD,

Voyez le fichier joint et cette macro dans le code de la 2ème feuille :
VB:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim P   As Range, c As Range, n&
Set P = [Tableau4] 'tableau structuré
For Each c In [Tableau3] 'tableau structuré
    n = n + 1
    P.Parent.Hyperlinks.Add P(n), "", "", ScreenTip:=c.Text, TextToDisplay:=Left(c, 1)
Next
End Sub
Elle se déclenche automatiquement quand on modifie ou valide une cellule quelconque.

Elle crée des liens hypertextes avec info-bulles en 1ère feuille.

A+
 

Pièces jointes

  • Test-Excel(1).xlsm
    19.9 KB · Affichages: 4

job75

XLDnaute Barbatruc
Bonjour Rackham, le forum,

Ce code dans la 1ère feuille est plus complet :
VB:
Private Sub Worksheet_Activate()
Worksheet_Change ActiveCell 'lance la macro
End Sub

Private Sub Worksheet_Change(ByVal Target As Range)
Dim P As Range, r As Range, n&
Set P = [Tableau4] 'tableau structuré de la 1ère feuille
Set r = [Tableau3] 'tableau structuré de la 2ème feuille
Application.ScreenUpdating = False
Application.EnableEvents = False 'désactive les évènements
P.Columns(1).Clear 'RAZ
P.ListObject.Resize P.ListObject.Range.Resize(r.Rows.Count + 1) 'redimensionne le tableau
Set P = P(1)
For Each r In r.Columns(1).Cells
    n = n + 1
    P.Parent.Hyperlinks.Add P(n), "", "", ScreenTip:=r.Text, TextToDisplay:=Left(r, 1)
Next
'---mise en forme---
With P.Resize(n)
    Union(P(0), .Cells).HorizontalAlignment = xlCenter 'centrage
    .Font.ColorIndex = xlAutomatic
    .Font.Underline = xlUnderlineStyleNone
End With
Application.EnableEvents = True 'téactive les évènements
End Sub
Il s'exécute quand on modifie ou valide une cellule quelconque ou qu'on active la feuille.

A+
 

Pièces jointes

  • Test-Excel(2).xlsm
    22.9 KB · Affichages: 7

Discussions similaires

Statistiques des forums

Discussions
312 231
Messages
2 086 430
Membres
103 207
dernier inscrit
Michel67