Quizpowerpoint et vba

jipedici Messages postés 2 Statut Membre -  
 Utilisateur anonyme -
<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. gam
     
    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
    0
  2. Utilisateur anonyme
     
    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
  3. jipedici Messages postés 2 Statut Membre
     
    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
  4. Utilisateur anonyme
     
    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
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. Utilisateur anonyme
     
    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
  7. Utilisateur anonyme
     
    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
  8. Utilisateur anonyme
     
    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
  9. Utilisateur anonyme
     
    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
    -1