Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Powerpoint > VBA PowerPoint
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 07/06/2011, 11h34   #1
Invité de passage
 
Homme
Inscription : juin 2011
Messages : 1
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations forums :
Inscription : juin 2011
Messages : 1
Points : 0
Points : 0
Par défaut Rafraichissement écran dans une macro VBA

Bonjour à tous,

Je développe une présentation pour un écran tactile sur Mac : Mac OSX 10.6 (Snow Leopard) et Powerpoint pour Mac version 2011.
La diapo principale montre une carte de France avec laquelle les utilisateurs interagissent en touchant les villes (boutons) sur lesquelles ils souhaitent obtenir des informations. Chaque appui sur un bouton déclenche l'affichage d'une serie de diapos spécifiques à une ville. Pas trop de difficulté jusque là, l'action de toucher l'écran étant assimilée au clic d'une souris.
J'aimerais que lorsque les utilisateurs appuient sur un "bouton" (une shape), celui-ci soit animé d'un effet "bouton pressé" ou d'un changement de couleur de courte durée (<1s), plus visible que le simple "animer le clic" que l'on trouve dans la boite "paramètres des actions".
J'ai donc écrit une macro VBA afin d'appliquer un effet à la shape. Voici un exemple de code dans lequel lorsque la shape est touchée (cliquée), sa couleur passe au rouge pendant un temps court, puis la diapo voulue est affichée :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
 
Public Sub Goto_Site(shp As Shape)
 
OldShapeColor = shp.Fill.ForeColor.RGB
' Changer la couleur de la shape pendant un court instant
shp.Fill.ForeColor.RGB = RGB(255, 0, 0)
' Pause...
Do While i < 10000000
       i = i + 1
    Loop
' Restaurer la couleur précédente
shp.Fill.ForeColor.RGB = OldShapeColor
' Aller à la diapo vouloue
SlideShowWindows(1).View.GotoSlide 1, True
 
End Sub
Mon problème est que les modifications de format ne sont visibles qu'à la fin de la macro, c'est à dire lorsque la forme a retrouvé sa couleur initiale et que la diapo suivante est affichée. Comme si l'écran n'était pas rafraîchi pendant la durée de la macro, mais seulement à la fin ???
Est-ce quelqu'un a déjà rencontré ce problème ? Est-ce un bug ou est-ce normal ?

Merci d'avance
McOliver est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 20h30.


 
 
 
 
Partenaires

Hébergement Web