Une info-bulle dans PowerPoint
Bonjour
La question de l'info-bulle a été posée sur le forum, il y avait la solution du lien hypertexte.
Voici une autre solution, en faisant appel aux formes de PowerPoint.
Collez ce code dans un module standard.
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39
|
Public Sub AffichageBulleForm(shpSelect As Shape)
' ===== déclaration des variables =====
Dim shpBulle As Shape ' il s'agit de l'info-bulle qui sera crée
Dim sldParent As Slide ' il s'agit d'une slide (diapositive ou se trouve la forme
Dim t As Date ' va servir pour la temporisation de l'affichage de l'info-bulle
' ===== affectation =====
' on récupére le slide
Set sldParent = shpSelect.Parent
' ===== on crée la bulle =====
Set shpBulle = sldParent.Shapes.AddShape(msoShapeRectangle, shpSelect.Left + shpSelect.Width, shpSelect.Top, 100, 100)
With shpBulle
.Name = "Bulle"
' couleur de fond
.Fill.ForeColor.RGB = RGB(150, 150, 120)
' texte de la bulle
.TextFrame.TextRange.Text = "toto"
.TextFrame.WordWrap = msoTrue
' la forme s'adapte au texte
.TextFrame.AutoSize = ppAutoSizeShapeToFitText
' couleur de la ligne
.Line.ForeColor.RGB = RGB(200, 200, 100)
' position
.Top = shpSelect.Top + 10
.Left = shpSelect.Left + 10
End With
' ===== on lance la temporisation ====
t = Timer + 1
Do Until Timer > t
DoEvents
Loop
' ===== on détruit la bulle =====
sldParent.Shapes("Bulle").Delete
End Sub |
Ensuite sur l'action du survol de votre élément par la souris, sélectionnez la routine AffichageBulleForm. L'info-bulle que vous pouvez paramétrer en forme et couleur, apparaitra 1 seconde.
Remarque : Toutes les formes n'ont pas le même effet, ici, il s'agit d'un rectangle tout simple.
Vous pouvez aussi utiliser un UserForm pour réaliser un message, mais cela demande l'aide d'API pour supprimer la barre et lui donner un aspect plus intéressant.
Starec
1 pièce(s) jointe(s)
Pourquoi des info-bulles parasites sont générées là où on ne le attend pas?
J'ai introduit votre code mais quand j'exécute mon diaporama et lorsque je survole les zones (rectangles) auquelles j'ai associé la macro avec la souris, ils se produit des ratés. Des rectangles 'paristes' sont générés et pour les enveler, je dois sortir du mode diapo et les 'couper' une par une. D'où vient le problème? Voir copie d'écran dans le pdf en annexe.
Mon but en fait est que chaque fois que je passe sur une référece article, j'en affiche furetivement le prix.
J'utilise PointPoint 2003 SP3
Merci d'avance pour votre réponse.
Vous pouvez détailler svp ?
Bonjour,
Désolé mais je suis un débutant complet een VB et je ne comprends rien :
j'ai ouvert la fenêtre VB, j'ai créé un module et j'ai collé le texte du code dans la fenetre texte.
Ensuite il faut faire quoi ? Ça veut dire quoi "Ensuite sur l'action du survol de votre élément par la souris, sélectionnez la routine AffichageBulleForm." ?
J'ai créé un rectangle dans la diapo, je veux que l'info bulle apparaisse au survol de ce rectangle, je fais comment ?
Merci de votre aide !