Info-bulle associée à une zone de texte sous Excel 97... Possible comme XL 2000 ?

Lentillelocale

XLDnaute Nouveau
Bonjour à toutes et tous,
Je recherche une idée pour que mon fichier réagisse de la même façon sous Excel 97 que sous Excel 2000 ou plus.

En effet, sous Excel 2000, on peut associer à une zone de texte une info-bulle. C'est ce que j'ai fait et cette info-bulle est dynamique selon l'indicateur sélectionné par l'utilisateur.

Mais sous Excel 97, cette info-bulle n'apparaît pas. Excel 97 ne semble pas gérer cela : ScreenTip.

Si quelqu'un a une idée pour rendre la même apparence sous Excel 97, je suis preneur. Pour vous aider à me répondre, voici mon projet :
Sur une carte de mon département, j'ai positionné 76 sites (cercle-ellipse) dont la couleur de fond varie selon les résultats de ce site et l'indicateur choisi dans une liste déroulante. Et chaque point est recouvert d'une zone de texte à laquelle est associée une info-bulle donnant des indications sur le site.

Voici la macro que j'utilise pour mettre à jour l'info-bulle :
Sub Ajoute_Info_Bulle(Indic, NomIndicateur, Ligne, MaCouleur)
On Error GoTo Fin_Ajoute_Info_Bulle
'
Application.ScreenUpdating = False ' Pour optimiser

NumCercle = 84 + Ligne ' dans Carto_ex c'était 174 + Ligne
If Ligne = 21 Then NumCercle = 163 ' car je n'ai pas réussi à créer le Text Box 105

col = Indic * 4 ' Colonne de l'indicateur sélectionné

ActiveSheet.Shapes("Text Box " & NumCercle).Select
MonHyperlien = "DONNEES!A" & Ligne
MonInfoBulle = Sheets("DONNEES").Range("C" & Ligne) ' Nom du Terrain
MonInfoBulle = MonInfoBulle & Chr$(10) & Chr$(13)
MonInfoBulle = MonInfoBulle & "=================="
MonInfoBulle = MonInfoBulle & Chr$(10) & Chr$(13)
MonInfoBulle = MonInfoBulle & Sheets("DONNEES").Range("EZ" & Ligne) ' Nom du DET
MonInfoBulle = MonInfoBulle & Chr$(10) & Chr$(13)
MonInfoBulle = MonInfoBulle & "=================="
MonInfoBulle = MonInfoBulle & Chr$(10) & Chr$(13)

MonInfoBulle = MonInfoBulle & " " & NomIndicateur ' Nom indicateur
MonInfoBulle = MonInfoBulle & Chr$(10) & Chr$(13)

Obj = Sheets("DONNEES").Cells(Ligne, col + 1)
MonInfoBulle = MonInfoBulle & " Objectif : " & getRound(Obj, 2)
MonInfoBulle = MonInfoBulle & Chr$(10) & Chr$(13)
Réa = Sheets("DONNEES").Cells(Ligne, col)
MonInfoBulle = MonInfoBulle & " Réalisé : " & getRound(Réa, 2)
MonInfoBulle = MonInfoBulle & Chr$(10) & Chr$(13)
TRO = Sheets("DONNEES").Cells(Ligne, col + 2) * 100
MonInfoBulle = MonInfoBulle & " TRO :" & getRound(TRO, 0) & "%"
MonInfoBulle = MonInfoBulle & Chr$(10) & Chr$(13)
Rang = Sheets("DONNEES").Cells(Ligne, col + 3)
MonInfoBulle = MonInfoBulle & " Rang : " & Rang

Selection.Characters.Text = ""
With Selection.Font
.Name = "Arial"
.FontStyle = "Normal"
.Size = 10
.Strikethrough = False
.Superscript = False
.Subscript = False
.OutlineFont = False
.Shadow = False
.Underline = xlUnderlineStyleNone
.ColorIndex = xlAutomatic
End With
ActiveSheet.Hyperlinks.Add Anchor:=Selection.ShapeRange.Item(1), Address:= _
"", SubAddress:=MonHyperlien, ScreenTip:=MonInfoBulle

Call CumulNbpointsparCouleurparGpt(Gpt, MaCouleur, Ligne)


Fin_Ajoute_Info_Bulle:
Application.Cursor = xlDefault ' Pointeur par défaut
End Sub
---
Par contre, avec Excel 97, l'info-bulle n'apparaît pas.... Pourquoi ?
C'est le chemin de l'hyperlien associé au point qui apparaît !
ScreenTip ne fonctionne pas avec Excel 97..

Comment faire pour qu'Excel 97 agisse comme Excel 2000 ?

Quelqu'un a-t-il une astuce ?
----
Idée : Utiliser la position de la souris et en fonction de ses coordonnées (si correspondent à l'un des 76 points avec Text Box n associées) afficher dans une zone de texte les infos (si on n'est pas positionner sur un des 76 points cette zone de texte reste invisible) ?

S'inspirer de mouseover event - embedded chart.xls ?
---
Personne pour m'aider ?

sur le site VB Controls: Excel 97 workaround
il semblerait q'une solution existe mais il faut payer...

ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:="", SubAddress:="'" & newclientname & "'" & "!a1", TextToDisplay:=newclientname

The above was written in Excel 2000. It does not work in Excel 97.

Can anyone give me a workaround? I've got to get this to work in 97.
 
Dernière édition:

Statistiques des forums

Discussions
312 165
Messages
2 085 882
Membres
103 010
dernier inscrit
Sys974