Menu

Changer la couleur d'un mot par survol de la souris. [Résolu]

le hurlu 27 Messages postés mardi 25 janvier 2011Date d'inscription 29 janvier 2018 Dernière intervention - 28 janv. 2018 à 17:03 - Dernière réponse : le hurlu 27 Messages postés mardi 25 janvier 2011Date d'inscription 29 janvier 2018 Dernière intervention
- 29 janv. 2018 à 08:34
Bonjour,

Je me permets de m'adresser à vous et à vos compétences car je souhaiterais faire ceci :

Sur des dias powerpoint, je voudrais que lorsque l'on passe la souris sur un mot celui-ci change de couleur puis reprenne sa couleur initiale. De plus, il faudrait que le changement de couleur soit différent en fonction des mots survolés.

par exemple la phrase suivante : Le lapin mange la carotte.

La couleur devrait varier suivant la fonction du mot dans la phrase :
Le mot "Le lapin" devient bleu lorsqu'il est survolé car c'est le sujet.
Le mot "mange" devient rouge lorsqu'il est survolé car c'est le verbe.
Le mot "la carotte" devient vert lorsqu'il est survolé car c'est le COD.


J'imagine que je devrais écrire chaque groupe de mot dans une zone de texte distincte et lui associer une action par le biais de Insertion > action > survol de la souris > exécuter la macro > nom de la macro.

J'ai créé la macro suivante :

Sub Couleurverte()
ActivePresentation.Slide(1).Shapes("textlapin").Font.ColorIndex = 4
End Sub


Lorsque je passe la souris sur le mot "lapin" le curseur prend la forme d'une main mais il ne change pas de couleur. Je suppose que la macro est incomplète ou erronée...

Pour info, je n'ai jamais créer de macro. C'est une première...


D'avance merci.



J'ai appelé ma zone de texte "textlapin"

Voici le powerpoint (non mis en forme)

https://www.cjoint.com/c/HACqaevRSV7
Afficher la suite 

4 réponses

Répondre au sujet
m@rina 13980 Messages postés mardi 12 juin 2007Date d'inscriptionContributeurStatut 21 février 2018 Dernière intervention - 29 janv. 2018 à 04:13
+2
Utile
1
Bonjour,

Eriiic, savais-tu que j'avais écrit un bouquin sur PowerPoint et le VBA ?? :)))

EN fait, sur PowerPoint, si l'on accepte de cliquer, il n'y a pas besoin de macro et c'est extrêmement simple : il suffit d'appliquer à l'objet une animation Couleur de texte. On choisit la couleur et on décide que cette animation sera déclenchée par un clic sur l'objet en question. On décide aussi qu'après l'animation, l'objet reprend sa couleur d'origine.

Maintenant si l'on souhaite absolument passer la souris au lieu de cliquer, ça se complique. En effet, on peut faire une macro qui change la couleur au passage de la souris, c'est ce que tu as, sauf que ta macro est tellement simplifiée qu'elle ne fonctionne pas. Je rectifie donc :
 ActivePresentation.Slides(1).Shapes("textlapin").TextFrame.TextRange.Font.Color = vbGreen


A titre d'info, le plus simple est de donner toujours le même nom aux zones de texte qui vont passer au vert, au bleu, etc. Ainsi on fera une seule macro par couleur.

Le problème est que si on peut déclencher une macro au passage de la souris, il n'y a aucun moyen prévu de déclencher une macro lorsque la souris se retire. Aussi, il faut tricher. J'ai des exemples sur mon site pour des images qui s'affichent et qui disparaissent par exemple. Il faut tricher en créant un objet transparent, et on va créer une macro qui permet de revenir à la couleur d'origine (noire) en passant la souris sur cet objet transparent. Ce n'est pas très pratique si tu as beaucoup de mots.

On peut aussi utiliser le temps d'affichage. J'ai un exemple plus élaboré ici qui change la couleur du département lorsqu'on pointe dessus :
http://www.faqword.com/index.php/powerpoint/diaporama/795-changercouleurformespassagesouris

On pourrait aussi inventer une autre solution plus simple :
On double tous les mots, de façon à ce qu'ils figurent une première fois avec la couleur d'origine et une seconde fois avec la couleur particulière. On superpose exactement chaque groupe de deux mots, le noir devant être devant.
Ensuite on fait une macro qui sera déclenchée sur passage de la souris et qui changera l'ordre d'empilage. Exemples ici :
http://faqword.com/index.php/powerpoint/les-animations/711-comment-alterner-deux-images-au-passage-de-la-souris

m@rina

ps : tu regarderas ma signature... ceci expliquant cela !
le hurlu 27 Messages postés mardi 25 janvier 2011Date d'inscription 29 janvier 2018 Dernière intervention - 29 janv. 2018 à 08:34
Merci pour toutes ces pistes. Le passage furtif de la souris ne représente pas pour moi un critère indispensable. C'est juste que c'est plus "fun". Autant donc utiliser la fonction la plus simple et opter pour l'animation au clic. ;-))

Je testerai néanmoins la seconde solution.

Encore merci.

PS : j'ai bien lu ta signature. Ceci explique bien cela.
Commenter la réponse de m@rina
eriiic 21375 Messages postés mardi 11 septembre 2007Date d'inscriptionContributeurStatut 20 février 2018 Dernière intervention - 29 janv. 2018 à 00:03
0
Utile
1
Bonjour,

heuuu, tu ne préfères pas sur excel ?
De l'aide et de la doc sur vba powerpoint tu risques d'attendre...

Déjà sur excel ce n'est pas direct.
Dans le petit exemple joint il faut 2 objets pour 1 mot : un pour le mot, un autre autour pour détecter que la souris a quitté le premier et remettre la couleur.
Et il faut que le 2nd déborde largement sinon une sortie rapide de la souris n'est pas détectée. Fait le test vers la droite où j'ai réduit la distance.
J'ai mis des encadrements pour que tu visualises, ils peuvent être ôtés, ainsi que le quadrillage des cellules et les n° de lignes et colonnes.
Si ça te va, créer une liste de mots avec la couleur sur une autre feuille et l'utiliser sera simple.
https://www.cjoint.com/c/HACxclXMKaz
eric
le hurlu 27 Messages postés mardi 25 janvier 2011Date d'inscription 29 janvier 2018 Dernière intervention - 29 janv. 2018 à 08:22
Merci pour ta réponse. J'avais pu constater effectivement via les forums qu'Excel présente des fonctions me permettant de changer la couleur. Mais ce que je souhaite réaliser s'inscrit dans une séquence de leçons nécessitant la projection de documents multimédias d'où le choix de Powerpoint.
Commenter la réponse de eriiic