Forum des développeurs  

Le forum de référence en programmation et développement. Articles, cours et tutoriels du débutant au chef de projet et DBA confirmé.
Précédent   Forum des développeurs > Hardware, Systèmes et Logiciels > Microsoft Office > Powerpoint > Contribuez

Réponse
 
Outils de la discussion
Vieux 22/07/2008, 18h10   #1 (permalink)
Responsable PowerPoint
 
Avatar de Philippe JOCHMANS
 
Date d'inscription: mai 2005
Localisation: Loir et Cher et Touraine
Âge: 40
Messages: 10 377
Envoyer un message via MSN à Philippe JOCHMANS
Par défaut Faire défiler un texte dans une zone de texte (version VBA)

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 :

Code :
     '=======================================================================================
    ' 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
 
Ensuite nous allons affecter les évènements sur le clique des formes.
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
__________________
En cas de questions techniques par MP ou message visiteur
Office : :Les Cours, Les FAQs
VB : Les Cours, Les FAQs
Mes articles : ici
Me connaitre
Philippe JOCHMANS est déconnecté   Envoyer un message privé Réponse avec citation
NEWS MS-OFFICEFAQs OFFICETUTORIELS OFFICELIVRES OFFICESOURCES VBA

Réponse

Précédent   Forum des développeurs > Hardware, Systèmes et Logiciels > Microsoft Office > Powerpoint > Contribuez



Outils de la discussion

Règles de messages
Vous ne pouvez pas créer de nouvelles discussions
Vous ne pouvez pas envoyer des réponses
Vous ne pouvez pas envoyer des pièces jointes
Vous ne pouvez pas modifier vos messages

Les balises BB sont activées : oui
Les smileys sont activés : oui
La balise [IMG] est activée : oui
Le code HTML peut être employé : non
Trackbacks are non
Pingbacks are non
Refbacks are non
Navigation rapide


Fuseau horaire GMT +1. Il est actuellement 05h21.


Publiez vos articles, tutoriels et cours et rejoignez-nous dans l'équipe de rédaction du club d'entraide des développeurs francophones. Nous contacter
Copyright 2000-2009 www.developpez.com - Legal informations