Bonjour
Je vous présente un petit code qui permet de faire défiler un texte dans une zone de texte.
Création :
Pour l'exemple que vous allez trouver en pièce jointe, nous créons deux diapositives.
1 ère Diapositive :
- Nous mettons juste une forme avec le texte "Lancer l'affichage du texte déroulant".
2 ème Diapositive :
- Nous mettons une zone de texte, où nous saisissons le texte que nous voulons voir défiler (ici :" Le texte qui défile dans la zone de texte"), c'est uniquement pour régler la taille de la zone de manière à n'avoir qu'une ligne.
- Nous mettons juste une forme avec le texte "Fin du défilement".
Ensuite nous créons un module dans l'éditeur VB où nous positionnons le code suivant :
Ensuite nous allons affecter les évènements sur le clique des formes.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56 '======================================================================================= ' Procedure : Module1 ' Auteur : Philippe JOCHMANS - http://starec.developpez.com ' Date : 22/07/2008 ' Commentaires : Faire défiler une texte dans une zone de texte '======================================================================================= Option Explicit ' déclaration des variables ' API pour la temporisation Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long) Public i As Integer 'cette variable va permettre de faire un test pour arrêter le défilement Public Sub DefilerTexte() '======================================================================================= ' Procedure : DefilerTexte ' Auteur : Philippe JOCHMANS - http://starec.developpez.com ' Date : 22/07/2008 ' Commentaires : Nous allons retrouver ici la procédure de défilement du texte '======================================================================================= ' déclaration des variables Dim sld As slide ' diapositive où se trouve la zone de texte Dim shpTexte As Shape ' l'objet Shape qui correspond à la zone de texte Dim strTexte As String ' le texte qui sera mit dans la zone ActivePresentation.SlideShowWindow.View.GotoSlide 2 DoEvents ' affectation Set sld = ActivePresentation.Slides(2) Set shpTexte = sld.Shapes("LaZone") strTexte = " Le texte qui défile dans la zone de texte" shpTexte.TextFrame.TextRange.Text = strTexte i = 1 ' boucle pour gérer le défilement jusqu'à ce que l'on change la valeur Do While i < 2 shpTexte.TextFrame.TextRange.Text = Mid(shpTexte.TextFrame.TextRange.Text, 2) & Left(shpTexte.TextFrame.TextRange.Text, 1) DoEvents Sleep 200 Loop End Sub Public Sub Passage() ' initialisation de la variable public pour permettre l'arrêt de la boucle i = 2 DoEvents ' fin du diaporama Application.Quit End Sub
Effectuez un clique droit sur les formes pour sélectionner "Paramètres des Actions" (bouton Action pour PPT 2007), sélectionner les macros suivantes :
La macro DefilerTexte pour la forme de la première diapo.
La macro Passage pour la forme de la deuxième diapo.
Vous n'avez plus qu'à lancer votre diaporama et à cliquer sur les boutons successifs.
Téléchargement
Starec
Partager