Il est nécessaire de créer une petite macro qui va simuler l’alternance d’affichage des deux images au survol de la souris.

Vous allez donc insérer deux images de même taille que vous allez très exactement superposer de façon à n’en voir qu’une seule.
La macro va tout simplement modifier l’ordre d’empilage à chaque passage de la souris sur l’une comme sur l’autre des deux photos.

Assurez-vous que l'une des deux photos se nomment "Image 1".

Insérez cette macro dans un module.
Notez que cette macro traite des images situées dans la première diapo de la présentation active. Modifiez si nécessaire.

Sub images()
'si l'image 1 est au dessus
If ActivePresentation.Slides(1).Shapes("Image 1").ZOrderPosition > 1 Then
ActivePresentation.Slides(1).Shapes("Image 1").ZOrder msoSendBackward
Else: ActivePresentation.Slides(1).Shapes("Image 1").ZOrder msoBringToFront
End If
End Sub 

La propriété ZOrderPosition est le le numéro d'empilage de l'objet. L'objet positionné le plus loin aura le numéro 1, alors que l'objet positionné devant aura le numéro le plus élevé.

Vous allez maintenant associer les deux images à la macro. Sélectionnez tour à tour chaque image puis :

PowerPoint 2002-2003

Menu Diaporama, Paramètre des actions

PowerPoint à partir de 2007

Onglet Insertion, groupe Liens, Bouton Action

 

Dans la boîte de dialogue Paramètres des actions, onglet Pointer avec la souris, cochez l'option Exécuter la macro, et sélectionnez la macro Images.

Affichez le diaporama et testez. Au passage de la souris sur une image, cette dernière doit disparaître et laisser la place à la seconde image.

Cette macro fonctionne correctement si vous n'avez que ces deux objets dans la diapositive. Dans le cas contraire, vous allez utiliser la macro suivante. Compter le nombre total d'objets situés sur la diapositive et insérer ce nombre dans la macro (6 dans mon exemple) :

Sub images()
'si l'image 1 n'est pas au dessus
If ActivePresentation.Slides(1).Shapes("Picture 1").ZOrderPosition <> 6 Then
ActivePresentation.Slides(1).Shapes("Picture 1").ZOrder msoBringToFront 'on met l'image 1 au dessus
Else: ActivePresentation.Slides(1).Shapes("Picture 2").ZOrder msoBringToFront 'sinon on met l'image 2 au dessus
End If
End Sub