Quizpowerpoint et vba

<gras>Bonjour,

Je souhaite faire un questionnaire (environ 100 questions) avec 4 réponses (1 bonne, 2 mauvaises et 1 je ne sais pas) sous powerpoint.
Je souhaiterais cumuler le nombre de bonne réponse, réponses mauvaises, et non répondu dans la dernière diapo "et le cumul dans un document excel (si possible)"
Je n'y connais rien en vba mais je demande qu'à apprendre.

Merci pour l'aide que vous m'apporterez.

Bon week

8 réponses

  1. Bonjour,

    je suis une personne très intéressé par le VBA et ses possibilités.. mais j'ai été déçu arrivé en bas de la page... il n'y a pas de suite...

    pourriez vous me dire ou je pourrais suivre le reste de votre démarche ou ce projet à fait parti des fameux 4/5 des projets a l'eau?

    merci.

    bonne soirée a vous.

    gam
    1. Bonjour,

      Votre projet m'inspire, je n'ai développé qu'une seule fois sous PP et l'idée d'apprendre un peu me plait.

      Si il n'y a pas d'urgence je peux monter le projet avec vous, vous comprendrez que je n'ai pas que ça à faire :-)

      Ceci dit, je vous recommande une petite lecture simple pour établir un vocabulaire de communication !
      Croyez moi, j'ai commencé le Basic et l'assembleur en 1982, ce texte bien que simple renferme les bases du VBA.
      http://membre.oricom.ca/lupin/Excel/Index.htm

      Démarche solutionnaire :

      7 Étapes.

      1.) Énoncé du problème

      <citation>
      Je souhaite faire un questionnaire (environ 100 questions) avec 4 réponses (1 bonne, 2 mauvaises et 1 je ne sais pas) sous powerpoint.
      Je souhaiterais cumuler le nombre de bonne réponse, réponses mauvaises, et non répondu dans la dernière diapo "et le cumul dans un document excel (si possible)"
      </citation>

      1 Questionnaire
      100 Questions
      4 Choix de Réponse
      100 Résultats {Bonne, Mauvaise, Aucune}

      Présenté sous PowerPoint
      Comptabilisé en fin de document
      Comptabilisé sous Excel

      Observations : Excel se pilote très bien de l’extérieur, exemple par le bloc-notes
      Tous les énoncés sont traitables.

      Voici quelques questions pour raffiner le devis.

      a.) Ces question, d’où viennent-elles ?
      D’un document Word ?, d’une base Access ?, saisie à la main …?
      b.) Ce questionnaire devra généré une nouvelle itération pour chaque utilisateur, alors je recommande l’utilisation du type formulaire automatisé de PowerPoint, soit un modèle [ questionnaire.pot ] , ce qui introduit la question suivante, votre but est-il de créé un questionnaire nouveau de façon périodique ou est-ce un jet unique ?
      c.) À part les liens cumulatifs entre Excel et PowerPoint, devez-vous faire cohabiter de façon simultanée l’utilisateur entre PowerPoint et Excel, ou Excel peut rester invisible à l’utilisateur ?

      donc, si vous désirez poursuivre, après réponses, les prochaines étapes sont :

      2.) La stratégie de résolution
      3.) L’encapsulation des données
      4.) L’algorithme de résolution
      5.) L’implantation
      6.) Les essais
      7.) La livraison :-)

      Cordialement

      Lupin
      1. Bonjour,

        Merci de vous interessez à mon projet.

        A) Les questions viennent de powerpoint directement.
        B) Le questionnaire est le même pour tous, et reviendra de façon périodique.
        C) L'utilisateur ne vera que powerpoint ainsi que sont total au final. Excel me servira uniquement a savoir qui a repondu quoi.

        Cordialement

        Jipedici
        1. Bonjour,

          Voilà, j'ai déjà besoin de votre aide :-)

          Dabord, un peu de lecture ( préliminaire )

          2.) Stratégie de résolution

          Deux joliciels de la suite Office, soit :

          PowerPoint ( Partie Maître )
          (VBA n’aura pas à créer le formulaire, il existe déjà, au moment de l’algorithme, il serait souhaitable de revoir la nomenclature pour bien structuré l’OOPE.

          Excel ( Partie Esclave )

          2 Options :
          a.) utiliser les objets de scripting pour piloter Excel
          b.) Charger les références des objets VBA et Excel

          Bien entendu, l’option (b) est souhaitable, mais je ne l’ai réalisé que sous Excel, mais je tenterai de transposer mon code de Excel à PowerPoint.

          Planification de l'application, une application OOPE (orientée objet/piloté par événement)

          Créer un modèle PowerPoint qui peut cumuler un questionnaire de 100 questions en cumulant les données sous PowerPoint et sous Excel. Le nombre de données étant très petit, je recommande la création d’un type personnalisé contenant toute l’information du formulaire. Philosophie cartésienne entrelacée des poupées russes. L’encapsulation des données nous fournira les propriétés de notre objet et l’algorithme les méthodes.

          3.) Encapsulation des données

          1 formulaire / 1 Questionnaire / 100 itérations / 4 choix / 1 Résultat

          Les poupées russes …

          4 Choix :
          0 = « Une bonne réponse »
          1 = « Une mauvaise reponse »
          2 = « Une autre mauvaise réponse »
          3 = « Aucune réponse »
          1 Résultat
          0 = Vrai
          1 = Faux
          2 = Inconnu

          Je pose ici le postulat suivant :
          La page 0 sera utilisé pour la (es) page(s) de présentation.
          L’itération sera traduite par les pages de 1 à 100, et l’itération 0 est la donnée vide.

          Identification des tâches

          A.1 objet de ce type devra avoir sa propre méthode d’initialisation, de lecture et d’écriture afin de protéger la(es) donnée(s).
          B.Afficher les résultats en fin de pages
          C.Cumuler les informations du formulaire
          D.Mettre fin au questionnaire

          Identification des objets

          Ici vous devez créer cette partie !!!

          Tenter de nommer tous les objets contenu sur une page PP ( une question ) !
          et de même que pour la page résumé du pointage. Il serait même souhaitable
          de normaliser les noms qui forment le diagramme TOE ( Tâches Objets Évènement ).

          J'ai commencé l'algorithme et vous reviendrez avant l'implantation, car il me faut les diagrammes TOE.

          Cordialement

          Lupin
          1. Bonjour,

            Voilà, je redépose les étapes 2, 3 et 4 car celles-ci évoluent bien entendu. Beaucoup de questions subsistent encore, mais une chose à la fois.

            2.) Stratégie de résolution

            Deux joliciels de la suite Office, soit :

            PowerPoint ( Partie Maître )
            (VBA n’aura pas à créer le formulaire, il existe déjà, au moment de l’algorithme, il serait souhaitable de revoir la nomenclature pour bien structuré l’OOPE.

            Excel ( Partie Esclave )

            2 Options :
            a.) utiliser les objets de scripting pour piloter Excel
            b.) Charger les références des objets VBA et Excel

            Bien entendu, l’option (b) est souhaitable, mais je ne l’ai réalisé que sous Excel, mais je tenterai de transposer mon code de Excel à PowerPoint.

            Planification de l'application, une application OOPE (orientée objet/piloté par événement)

            Créer un modèle PowerPoint qui peut cumuler un questionnaire de 100 questions en cumulant les données sous PowerPoint et sous Excel. Le nombre de données étant très petit, je recommande la création d’un type personnalisé contenant toute l’information du formulaire. Philosophie cartésienne entrelacée des poupées russes. L’encapsulation des données nous fournira les propriétés de notre objet et l’algorithme les méthodes.

            3.) Encapsulation des données

            1 formulaire / 1 Questionnaire / 100 itérations / 4 choix / 1 Résultat

            Les poupées russes …

            4 Choix :
            0 = « Une bonne réponse »
            1 = « Une mauvaise reponse »
            2 = « Une autre mauvaise réponse »
            3 = « Aucune réponse »
            1 réponse
            { 0 .. 3 } la bonne
            1 Résultat
            0 = Vrai
            1 = Faux
            2 = Inconnu

            Je pose ici le postulat suivant :
            La page 0 sera utilisé pour la (es) page(s) de présentation.
            L’itération sera traduite par les pages de 1 à 100, et l’itération 0 est la donnée vide.

            Identification des tâches

            A.) Un objet de ce type devra avoir sa propre méthode d’initialisation, de lecture et d’écriture afin de protéger la(es) donnée(s).
            B.) Traiter un réponse
            C.) Afficher les résultats en fin de pages
            D.) Cumuler les informations du formulaire
            E.) Mettre fin au questionnaire

            Identification des objets

            A.) Ici vous devez créer cette partie !!!

            4.) Algorithme de résolution

            Postulat #1:
            Toutes les déclarations seront précédés de 3 caractères indiquant le type de déclaration.

            Postulat #2

            Bien que le pseudo code soit fournit avec des accents de la langue française, aucun de ceux ne feront parti de code, à l’exception de l’information dynamique à l’utilisateur et l’information statique du programme ( les commentaires ).

            Les fonctions : fct
            Les routines : rts
            Les constante : cte
            Les types : tys
            Les variables : var
            etc…

            Type typQuestion
            varChoix As Integer
            varResultat As Integer
            varReponse As Integer
            End Type

            Public varBoiteQuestions(101) As typQuestion

            Fonction fctInitialisationObjet
            ‘ Fonction protégé

            Sur Erreur Continue
            Pour Chaque Itération
            ‘Initialise les données à 0
            varBoiteQuestions(varItération).varChoix = 0
            varBoiteQuestions(varItération).varResultat = 0
            varBoiteQuestions(varItération).varReponse = 0
            Fin Boucle

            Fin Fonction

            Fonction fctLecture ( varObjet_Question, varIndice ) As Boolean
            ‘ Fonction protégé

            Sur Erreur Continue
            fctLecture = Faux
            varObjet_Question.Choix = varBoiteQuestions(varIndice).varChoix
            varObjet_Question.Resultat = varBoiteQuestions(varIndice).varResultat
            fctLecture = Vrai

            Fin Fonction

            Fonction fctEcriture ( varObjet_Question,varIndice) As Boolean
            ‘ Fonction protégé

            Sur Erreur Continue
            fctÉcriture = Faux
            varBoiteQuestions(varIndice).varChoix = varObjet_Question.varChoix
            varBoiteQuestions(varIndice).varResultat = varObjet_Question.varResultat
            fctÉcriture = Vrai

            Fin Fonction

            Maintenant que l’objet principal est debout, nous allons établir l’algorithme de l’application.

            Début
              Mode Protégé
                fctInitialisation
                Mise En Place Excel En Arrière Plan ‘Avant plan en mode implantation.
                  (pour permettre un enregistrement automatisé des résultats en mode utilisateur)
              Fin mode protégé
            
              GestionDesÉvènements ( Mode Utilisateur )
            
              TanQue Mode Utilisateur Activé
                Que veux l’utilisateur ?
                Choix 1
                  PrésenteQuestionnaire
                    Focalise sur première question (non répondu)
                    TantQue Pas La Dernière OU QuestionEnCours <> Question0
                      Si Utilisateur joue
                        Vérifie Réponse
                        Sauvegarde du résultat
                      Sinon
                        Sélectionne Question0 pour sortir Tanque
                      Fin
                    Fin TantQue
                  Fin présentation
               Choix 2
                  Presente Résultats
                    Calcul Et Produits Statistiques
                 Fin Résultat
              Fin TantQue
            
            Fin
            

            Voici donc le corps de l’application !

            Dans l’algorithme présenté en pseudo code, nous devons maintenant développer
            la sous partie [ fctInitialisation ].

            Fonction fctInitialisation() As Boolean
            ‘ Fonction protégé
              varObjetVBA As Variant
              varReponse As Boolean
            
              Sur Erreur Continue
              fctInitialisationObjet
              fctValidePrésenceRéférences = Faux
              Sur Erreur Continue
              Prendre Objet
              Si Erreur
                Créer Objet
                SupprimeErreur
              FinSi
              varDrapeau = Faux
              Pour Chaque Référence
                Si Référence = « Excel »
                    varDrapeau = Vrai
                Fin Si
              Fin Pour
              Si Non ( varDrapeau ) Alors
                Charge Référence
              Fin Si
              Si Non (Erreur Chargements)
                fctValidePrésenceRéférences = Vrai
              FinSi
            Fin Fonction
            


            Maintenant, développons la phase [ Mise En Place Excel En Arrière Plan ]

            Cette phase nécessite la réussite d’implantation de la phase d’initialisation,
            J’implanterai donc la première partie.

            - À Suivre .

            Cordialement

            Lupin
            1. Bonjour,

              J'ai bien réussi à charger les références d'Excel.
              J'ai toutefois rencontré un problème de taille avec le Auto_Open de PowerPoint.
              À l'aide d'un module de classe, j'ai bien réussi à activer les évènements, mais c'est
              moins évident que dans Excel.

              Il ne manque que les noms d'objets sous PowerPoint, dans le questionnaire,
              comment avez vous nommer ceux-ci ?

              Lupin
              1. Bonjour,

                Voilà, j'ai développer un modèle de base TOE de l'application OOPE.
                Tâches********************Objets*********************Évènements
                Numéroter la question....Rectangle...................Titre
                Afficher la question.....Zone de texte...............Toujours
                Afficher les réponses....Bouton d’options (4 Choix)..Sauvegarde résultats
                Question suivante !......Bouton de commande..........Suivant
                Question précédente !....Bouton de commande..........Précédent
                Début....................Bouton de commande..........Première question.
                Fin......................Bouton de commande..........Résultats
                

                ci-joint pour 10 jrs le document complet du projet en cours !
                http://membre.oricom.ca/lupin/util/ProjetQuiz.zip
                J'en suit à l'étape 4, c'est en définitive beaucoup plus long,
                mais interessant. J'en arrive à penser qu'il aurait mieux value
                de piloter PowerPoint depuis Excel plutôt qu'a l'inverse.
                Sur ce je continue le projet par intérêt :-)

                Lupin.
                1. Bonjour,

                  J'ai complèté le projet à 95 % et la documentation à environ 50 %. Le projet fut beaucoup
                  plus long que prévue et je n'ai travaillé dessus que par période saccadé.

                  Commençant des études à temps partielle cet automne ( septembre ), il est probable que je ne
                  retravaillerai pas dessus avant un temps, à moins d'un besoin spécifique pour "jouer" ou pour
                  démontrer ce genre de faisabilité.

                  je déposerai une copie du projet à jour sous peu.

                  Lupin