OVH Cloud OVH Cloud

VBA Simple !

3 réponses
Avatar
Philmo
Bonjour,

Nouveau sur la liste, plutôt Lingo (Director) mais faut que je me colle à
VBA PwP !

Simple pour commencer !
J'ai un carré vert dans uns Slide (x). Lorsque mon curseur souris survole ce
carré, celui ci doit devenir rouge. Dès que le curseur quitte le carré, il
doit redevenir vert. Simple !
En Lingo, super fastoche ! Mais en VBA, super casse tête pour moi ! (pas
d'équivalent MouseLeave, Mouse Move pas dans PwP, if, then, else marche pas
!)

Merci, il y a certainement des programmeurs ?!
Bien cordialement
Philippe ^|^

3 réponses

Avatar
jmv
Bjr
le mieux est de realiser une macro et de pomper le code
vois celui de dessous
Cordialement
jm
Sub Macro1()
ActiveWindow.Selection.SlideRange.Shapes("Rectangle 4").Select
With ActiveWindow.Selection.ShapeRange
.Fill.Visible = msoTrue
.Fill.Solid
.Fill.ForeColor.RGB = RGB(255, 0, 0)
End With
End Sub
"Philmo" a écrit dans le message de news:
#
Bonjour,

Nouveau sur la liste, plutôt Lingo (Director) mais faut que je me colle à
VBA PwP !

Simple pour commencer !
J'ai un carré vert dans uns Slide (x). Lorsque mon curseur souris survole
ce

carré, celui ci doit devenir rouge. Dès que le curseur quitte le carré, il
doit redevenir vert. Simple !
En Lingo, super fastoche ! Mais en VBA, super casse tête pour moi ! (pas
d'équivalent MouseLeave, Mouse Move pas dans PwP, if, then, else marche
pas

!)

Merci, il y a certainement des programmeurs ?!
Bien cordialement
Philippe ^|^





Avatar
Philmo
Merci Jean-Marie,

Plutôt rapide sur le coup !

J'ai bien exécuté ton code et çà marche parfaitement en mode auteur. Mais
pas en mode diaporama (ce que je voulais !).
J'ai donc modifié ton code (je le mets car çà peut intéresser quelqu'un !)
pour le mode diaporama :

Sub Carre_Vert()
'Numéro de la diapo en cours !
A = 10
'Mon objet rectangle
B = "Rectangle 92"
'Définition de la diapositive
Set Madiapo = ActivePresentation.Slides(A)
'Définition de mon rectangle dans la diapositive
Set Carre = Madiapo.Shapes(B)
With Carre
'Changement visible
.Fill.Visible = msoTrue
.Fill.Solid
'Si mon carré est rouge, alors il devient vert
If .Fill.ForeColor.RGB = RGB(255, 0, 0) Then
.Fill.ForeColor.RGB = RGB(0, 255, 0)
'Sinon, s'il est vert, il devient rouge !
Else
.Fill.ForeColor.RGB = RGB(255, 0, 0)
End If
End With 'Carre
End Sub 'Carre_Vert()

Cà fonctionne très bien en mode diaporama : lorsque le curseur souris
survole le carré vert, il devient rouge et lorsqu'il est rouge il devient
vert !

Bon, c'est un début, MAIS ce que je voulais c'est que le carré revienne à sa
couleur primitive (rouge) lorsque la souris le quitte !
Y-a-t-il moyen de faire çà sans être obligé de créer un objet transparent
sous et autour du carré comportant le code "inverse" !

Merci et bien cordialement
Philippe ^|^
Avatar
eric
tres interressant ton programme
Je ne connais rien a VBA .... la programmation ce n'est
pas mon fort :(
je compte me pencher sur le sujet.... si c'est possible
qu'a la place du carre vert j'ai uneImage.png
et a la place du carre rouge UneAutreImage.png

Ca me permettrait de faire dans un show.pps des highLights
quand le curseur passe devant un lien hypertexte par
exemple
Merci d'avance
A+
Eric