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 :

evenement sur clic d'une shape en mode edition


Sujet :

VBA PowerPoint

  1. #1
    Membre à l'essai
    Inscrit en
    Mars 2010
    Messages
    28
    Détails du profil
    Informations forums :
    Inscription : Mars 2010
    Messages : 28
    Points : 20
    Points
    20
    Par défaut evenement sur clic d'une shape en mode edition
    Salut,

    Voici ce que je souhaiterai faire :

    Apres avoir créé une shape dans un slide (ca j'y arrive), je souhaiterai que si je clic une fois dessus cela exécute du code (la macro "bouton_S2"). Si on peut définir un autre code pour un double clic ca pourrait gérer aussi.

    voici comment je créer ma shape (ca ca marche) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Sub bouton_S1(control As IRibbonControl)
    intSldNumber = Application.ActiveWindow.View.Slide.SlideIndex
    Set slideactif = ActiveWindow.Presentation.Slides(intSldNumber)
    With slideactif.shapes.AddShape(Type:=msoShapeRectangle, Top:=150, Left:=70, Width:=72, Height:=72)
        .Name = "carre bleu"
        .Fill.ForeColor.RGB = RGB(54, 107, 126)
        .Line.ForeColor.RGB = RGB(54, 107, 126)
    End With
    End Sub
    Je pense que la commande a utiliser doit être un truc dans le genre (marche pas):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
      ActivePresentation.Slides(intSldNumber).shapes("carre bleu").ActionSettings (ppMouseClic)
        .Action = ppActionRunMacro
      .Run = "bouton_S2"
    mais doit y avoir une erreur

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour

    Lorsque tu es en mode édition, une action sur une forme n'est pas possible (ou je n'ai rien compris à PPT), les actions se font en mode diaporama.

    Philippe

  3. #3
    Membre à l'essai
    Inscrit en
    Mars 2010
    Messages
    28
    Détails du profil
    Informations forums :
    Inscription : Mars 2010
    Messages : 28
    Points : 20
    Points
    20
    Par défaut
    pourtant thinkcell y arrive bien...
    c'est surement pas des shape tu me diras...

    je sais pas si t'as une idée de comment ils font pour interagir avec leurs objets en mode edition ?

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

    Citation Envoyé par elbiloute Voir le message
    pourtant thinkcell y arrive bien...
    Peux-tu être précis sur cela ?

    Philippe

  5. #5
    Membre à l'essai
    Inscrit en
    Mars 2010
    Messages
    28
    Détails du profil
    Informations forums :
    Inscription : Mars 2010
    Messages : 28
    Points : 20
    Points
    20
    Par défaut
    Je ne sais pas si tu connais le logiciel thinkcell.

    C'est un complément office qui ajoute dans le ruban office des options de création de graphiques ou formes.

    Et ce logiciel permet d'ajouter sous ppt en mode edition des objets sur lesquels si l'on clic droit ou clic gauche des actions se produisent.

    Exemple : ajout d'un harvey balls (regarde wiki si tu connais pas)
    et bien sous thinkcell le harvey ball se rempli d'un quart après chaque double clic (très pratique )

    Bilan il est possible de définir des actions/evenement sur des éléments présents dans un slide en mode édition mais je sais pas comment...

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

    Ok, je ne connais pas, personnellement je ne vois pas comment cela peut fonctionner, il faut que j'y jette un coup d'oeil.

    Je viens de jeter un coup d'oeil à la version trial, ce n'est pas des formes classiques qui sont utilisées, mais une programmation spécifique que je ne connais, ce qui est ajouté doit être du style des dessins tel que gdi+ d'Arkham, mais ce n'est pas du standard pour moi.

    Philippe

  7. #7
    Membre à l'essai
    Inscrit en
    Mars 2010
    Messages
    28
    Détails du profil
    Informations forums :
    Inscription : Mars 2010
    Messages : 28
    Points : 20
    Points
    20
    Par défaut
    Je vais regarder, la piste a l'air excellente !!

  8. #8
    Membre à l'essai
    Inscrit en
    Mars 2010
    Messages
    28
    Détails du profil
    Informations forums :
    Inscription : Mars 2010
    Messages : 28
    Points : 20
    Points
    20
    Par défaut
    Bon j'ai un peu creusé et ca me règle pas mal de chose que je voulais faire notamment pour faire des menus assez évolués via des formulaires.

    Par contre j'ai pas trouvé comment faire pour utiliser le module gdi+ directement dans la slide en mode edition sans formulaire...

    Arkhammmmmmmm j'ai besoin de toi

    et aussi j'ai remarqué que la library clgdiplus.dll est déjà présente dans les repertoires d'office du coup je me demande si c'est vraiment indispensable de créer un module de classe sous vba qui reprend le code... y a pas moyen d'ajouter cette library ou peut etre est elle deja utilisable ou activable simplement?

  9. #9
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    592
    Détails du profil
    Informations personnelles :
    Âge : 74
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 592
    Points : 730
    Points
    730
    Par défaut
    Dans les modules de classe, on peut intercepter la sélection des objets :
    Private Sub App_WindowSelectionChange(ByVal Sel As Selection)

    Cela devrait te permettre de faire ce que tu cherche.

    PPz
    La qualité et la précision de la réponse sont proportionnelles à celles de la question.

  10. #10
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    592
    Détails du profil
    Informations personnelles :
    Âge : 74
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 592
    Points : 730
    Points
    730
    Par défaut
    Ci joint une version qui fonctionne en mode édition, après avoir lancé la macro "InitializeApp"

    Il reste à finir le travail.

    PPz
    Fichiers attachés Fichiers attachés
    La qualité et la précision de la réponse sont proportionnelles à celles de la question.

  11. #11
    Membre à l'essai
    Inscrit en
    Mars 2010
    Messages
    28
    Détails du profil
    Informations forums :
    Inscription : Mars 2010
    Messages : 28
    Points : 20
    Points
    20
    Par défaut
    Excellent je vais regarder tout ca.

    merci beaucoup

  12. #12
    Membre à l'essai
    Inscrit en
    Mars 2010
    Messages
    28
    Détails du profil
    Informations forums :
    Inscription : Mars 2010
    Messages : 28
    Points : 20
    Points
    20
    Par défaut
    bon alors c'est vraiment top j'arrive a géré les sélections !!
    par contre pour les évènements sur clic gauche et clic droit j'y arrive vraiment pas... (WindowBeforeRightClick / WindowBeforeDoubleClick...)

    Et aussi je voulais savoir si vous pouviez m'indiquer ou je peux trouver un tutoriel sur la gestion des events / handler parceque quand tu ecris le code suivant, je comprend ce que ca fait mais jamais j'aurai pu l'écrire moi même :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    On Error GoTo ErrorHandler
        sel_name = Sel.ShapeRange.Name
        GoTo suite
    ErrorHandler:
        sel_name = 0
    Resume Next
    suite:
    Et encore merci à vous deux

  13. #13
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    592
    Détails du profil
    Informations personnelles :
    Âge : 74
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 592
    Points : 730
    Points
    730
    Par défaut
    Ces quelques lignes de code sont destinées à gérer les erreurs.

    Elles servent au traitement de l'erreur qui est renvoyée par l'instruction
    sel_name = Sel.ShapeRange.Name
    quand le clic intervient en dehors d'un objet.

    Moi aussi je ne les ai pas inventées.
    Il suffit d'aller voir l'assistance associée à PowerPoint à propos de la gestion des erreurs.

    A+
    PPz
    La qualité et la précision de la réponse sont proportionnelles à celles de la question.

  14. #14
    Membre à l'essai
    Inscrit en
    Mars 2010
    Messages
    28
    Détails du profil
    Informations forums :
    Inscription : Mars 2010
    Messages : 28
    Points : 20
    Points
    20
    Par défaut
    et pour les clics droits, double click, tu sais comment on fait?
    Genre pour changer le menu du clic droit (pour le moment je pensais à l'exécution d'un formulaire...)

    J'ai regardé dans tes post j'ai vu que t'avais eu ce problème, mais je sais pas si t'avais réussit.

    ++

  15. #15
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    592
    Détails du profil
    Informations personnelles :
    Âge : 74
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 592
    Points : 730
    Points
    730
    Par défaut
    Bon 1 mai !!! Cela nous empêche pas de tr.... non de s'amuser !!

    Sur la gestion des événements, je te conseille de jetter un coup d'oeil ici :
    <http://arkham46.developpez.com/articles/powerpoint/events/>

    En plus il y a un exemple expliqué en détail que l'on peut charger, et en plus ... ça marche !!!!
    Suivants les événements, c'est en mode diaporama ou édition, le top.

    A+
    La qualité et la précision de la réponse sont proportionnelles à celles de la question.

  16. #16
    Membre à l'essai
    Inscrit en
    Mars 2010
    Messages
    28
    Détails du profil
    Informations forums :
    Inscription : Mars 2010
    Messages : 28
    Points : 20
    Points
    20
    Par défaut
    Hello,
    Bon premier mai avec pas mal de retard

    J'arrive a faire pas ma de chose now.
    J'arrive a utiliser la fameuse fonction windowsbeforerightclick et WindowBeforeDoubleClick mais le truc c'est que ca marche que en mode diapo ou en mode trieuse et moi je voudrais que ca marche en mode edition où pour le moment je n'arrive a faire marcher que la fonction windowselectionchange (grace a ppz78

    donc si quelqu'un peut m'aider, sachant que j'avais pensé utiliser des élément de type formulaire, ou forme auquelle appliquer les fonctions mouseup/_DblClick... mais c'est pareil ca marche que en mode diaporama...

    donc si t'as d'autres pistes...

  17. #17
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    592
    Détails du profil
    Informations personnelles :
    Âge : 74
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 592
    Points : 730
    Points
    730
    Par défaut
    Chez moi cela fonctionne.
    Voir PJ qui est un doc de brouillon pas très propre.
    A+
    PPZ
    Fichiers attachés Fichiers attachés
    La qualité et la précision de la réponse sont proportionnelles à celles de la question.

  18. #18
    Membre à l'essai
    Inscrit en
    Mars 2010
    Messages
    28
    Détails du profil
    Informations forums :
    Inscription : Mars 2010
    Messages : 28
    Points : 20
    Points
    20
    Par défaut
    hello,

    merci pour ton fichier, je l'ai testé et voici mes constats pour chacun des events:
    selection change : fonctionne partout (nikel)
    clic droit :
    fonctionne en mode edition mais ne fonctionne pas si je clic sur une shape ou text box (bizard non?)

    double clic : fonctionne en mode trieuse mais pas en mode édition

    Est-ce que chez toi c'est pareil?
    Bilan comme je souhaite faire fonctionné ca en mode edition je suis tjs bloqué...

    ++

  19. #19
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    592
    Détails du profil
    Informations personnelles :
    Âge : 74
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 592
    Points : 730
    Points
    730
    Par défaut
    Voici une version allégée (une seule diapositive).
    Dans le mode édition le simple clic, le double clic et le clic droit sont interceptés sur tous les objets de la planche:
    - AutoShape 5
    - TextBox 9
    - Group 12
    - Rectangle 7
    - Oval 8

    Il faut être un peut véloce sur le double clic.

    Enjoy yourself

    PPz
    Fichiers attachés Fichiers attachés
    La qualité et la précision de la réponse sont proportionnelles à celles de la question.

  20. #20
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    592
    Détails du profil
    Informations personnelles :
    Âge : 74
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 592
    Points : 730
    Points
    730
    Par défaut
    La macro mise à disposition lors d'un post précédent fonctionne bien avec PPT 2003.
    Comme mon entreprise va passer en 2007 je viens de refaire ce test ... et là surprise cela fonctionne moins bien :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Private Sub App_WindowSelectionChange(ByVal Sel As Selection)
    fonctionne correctement,

    par contre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Private Sub App_WindowBeforeDoubleClick(ByVal Sel As Selection, Cancel As Boolean)
    Private Sub App_WindowBeforeRightClick(ByVal Sel As Selection, Cancel As Boolean)
    ne fonctionnent pas !!!

    PPz 78
    La qualité et la précision de la réponse sont proportionnelles à celles de la question.

Discussions similaires

  1. Evenement sur clic zone de liste
    Par Frog74 dans le forum VBA Access
    Réponses: 1
    Dernier message: 14/05/2008, 21h35
  2. Pop up sous excel sur clic d'une forme automatique
    Par albibak dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 25/01/2008, 10h35
  3. evenement sur clic
    Par cels dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 24/10/2006, 07h39
  4. [VB.net2003][Datagrid]Evenement sur clic
    Par arnolem dans le forum Windows Forms
    Réponses: 4
    Dernier message: 19/04/2006, 11h21
  5. Réponses: 3
    Dernier message: 26/10/2005, 09h07

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