IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VBA PowerPoint Discussion :

code vba pour la diapositive active en mode diaporama [PPT-2003]


Sujet :

VBA PowerPoint

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 5
    Points : 3
    Points
    3
    Par défaut code vba pour la diapositive active en mode diaporama
    Bonjour,
    Je créé un quiz sur powerpoint, il comporte (pour l'instant) 2 diapositives identiques avec sur chacune, une question et 4 réponses possibles (A, B, C ou D), devant lesquelles se trouve un objet sur lequel nous devons cliquer pour sélectionner la réponse (le texte change de couleur quand on clique sur cet objet, devant la réponse). j'ai donc créé une petite macro "sélectionA", qui peut s'appliquer à toutes les diapos) qui me permet de faire ce que je souhaite, mais en mode diaporama, lorsque je clique sur l'objet de la réponse A de la première question, le texte de la réponse A de la première question (première diapo) se colorie bien, et le texte de la réponse A de la deuxième question (deuxième diapo) se colorie aussi ! Quel code vba indiquer pour que la diapositive concernée par la macro soit la diaposive active du diaporama (en mode diaporama) et pas les autres ?!?
    D'avance, je vous remercie pour votre réponse, car là, je sèche.
    Vincent.

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour et bienvenue sur le forum Office de DVP

    Comment veux-tu que l'on trouve l'erreur dans ton code si tu ne nous le donne pas Mme Soleil est parti en vacances.

    En effet en fonction de ton code, l'implémentation d'un contrôle peut se faire différemment.

    Philippe

  3. #3
    Invité
    Invité(e)
    Par défaut
    Re

    En attendant une réponse, il faut tester cela :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Application.SlideShowWindows(1).View.CurrentShowPosition
    Philippe

  4. #4
    Candidat au Club
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 5
    Points : 3
    Points
    3
    Par défaut
    Merci Philippe pour ta réponse. Je vais essayer ce code et je t'en reparle.
    Vincent.

  5. #5
    Candidat au Club
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 5
    Points : 3
    Points
    3
    Par défaut
    Bonjour,
    Désolé, mais je n'arrive pas à placer ce code correctement.
    Voici le code de la macro et l'exemple de quiz en fichier joint.

    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
    Sub SélectionA()
     
        With ActivePresentation.Slides(1).Shapes("AutoShape 8")
            .Fill.Visible = msoTrue
            .Fill.Solid
            .Fill.ForeColor.RGB = RGB(255, 153, 0)
            .Fill.Transparency = 0#
        End With
     
        With ActivePresentation.Slides(1).Shapes("Rectangle 5").TextFrame.TextRange.Font
            .Color.SchemeColor = ppBackground
     
        End With
     
    End Sub
    D'avance, merci beaucoup pour vos réponses.
    Bonne journée,
    Vincent.
    Fichiers attachés Fichiers attachés

  6. #6
    Invité
    Invité(e)
    Par défaut
    Re

    Citation Envoyé par nanouvince Voir le message
    Je créé un quiz sur powerpoint, il comporte (pour l'instant) 2 diapositives identiques avec sur chacune, une question et 4 réponses possibles (A, B, C ou D)
    Dans ce que tu nous montres il n'y a que deux réponses

    La première routine revue

    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
    Sub SélectionA()
    '
        Dim i As Integer
        i = Application.SlideShowWindows(1).View.CurrentShowPosition
     
        With ActivePresentation.Slides(i).Shapes("AutoShape 8")
            .Fill.Visible = msoTrue
            .Fill.Solid
            .Fill.ForeColor.RGB = RGB(255, 153, 0)
            .Fill.Transparency = 0#
        End With
     
        With ActivePresentation.Slides(i).Shapes("Rectangle 5").TextFrame.TextRange.Font
            .Color.SchemeColor = ppBackground
     
        End With
     
    End Sub
    A toi de finir l'adaptation avec le i où tu veux qui te récupères la valeur de la slide active.

    Philippe

  7. #7
    Candidat au Club
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 5
    Points : 3
    Points
    3
    Par défaut
    Bonsoir,
    Merci Philippe pour ta réponse. Mais je suis confronté à un p'tit problème. Après avoir écrit exactement le code que tu m'as donné, cela ne fonctionne pas.
    Voici le message qui s'affiche lorsque j'execute la macro :
    "Erreur d'exécution '-2147188160 (80048240)'
    SlideShowWindows (unknown member) : Integer out of range. 1 is not in the valid range of 1 to 0."
    Auriez-vous une petite idée pour me dépanner ?
    D'avance, je vous remercie.
    Vincent.

  8. #8
    Invité
    Invité(e)
    Par défaut
    Re

    Cela fonctionne pourtant chez moi (PPT 2002)

    As-tu un autre diaporama ouvert en même temps ?

    Philippe

  9. #9
    Candidat au Club
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 5
    Points : 3
    Points
    3
    Par défaut RE
    Bonjour,
    Après quelques modifs (concernant les noms des objets liés aux macros), tout fonctionne parfaitement bien. Encore une fois, MERCI beaucoup Philippe pour tes réponses claires et rapides et tes compétences.
    En ce qui me concerne, je tiens à m'excuser pour mes incohérences dans les propos de mes messages, la prochaine fois je m'efforcerai d'être plus précis, cohérent et surtout respectueux des règles d'utilisation du forum.
    Encore une fois merci et bonne journée !
    Vincent.

    P.S. : A son retour de vacances, passe le bonjour à "Mme Soleil" !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Un code VBA pour récupérer un type de donnée ?
    Par KEROZEN dans le forum VBA Access
    Réponses: 22
    Dernier message: 26/09/2019, 11h12
  2. Code vba pour ouverture en mode calcul sur ordre
    Par ciambe dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 03/05/2013, 13h01
  3. [VBA-A] Code vba pour inclure un formulaire Acces
    Par MadSquirrel dans le forum VBA Access
    Réponses: 2
    Dernier message: 12/04/2006, 18h19
  4. Réponses: 3
    Dernier message: 06/09/2005, 10h27

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo