Créer un questionnaire sur excel 2010

Résolu
Bonjour,

Sur Excel 2010, je souhaite créer un questionnaire.

Dans ma page N°1 j'ai 97 questions.
Dans ma page N°2 j'ai un tableau, qui je souhaite (en cliquant sur un bouton) pioche 20 questions de la page N°1.

Avez-vous une solution ?

Pour le moment j'utilise la fonction ALEA, qui change automatiquement des chiffre qui se trouvent devant mes questions de ma page N°2.

Les question questions de la page N°1 etants numéroté, j'ai un questionnaire qui se créé.
Le problème est le suivant : Chaque clic sur mon tableau générer à chaque fois des nombres différents, je souhaite que les nombres ne change que suite à un clic sur un bouton.

Merci d'avance.

6 réponses

  1. Contributeur
    bonjour

    en cliquant sur le bouton en feuille2, tu obtient 20 questions tirées au sort parmi les 97 de la feuil1

    La macro se trouve dans le module feuil2
    pour voir le code
    clic droit sur l'onglet "feuil2"
    visualiser le code
    https://www.cjoint.com/?3DpmD1ZRa7Y

    pour mémoire
    Private Sub CommandButton1_Click()  
    Randomize  
    Sheets(1).Range("triage").Sort Key1:=Sheets(1).Range("C20")  
    End Sub


    Michel
    2
  2. Contributeur
    Bonjour,

    ton classeur en retour

    nota: tu peux augmenter le nombre de questions (actuellement 164) à tirer au sort (on cherche la ligne de la dernière question)

    https://www.cjoint.com/?3DrjMfe395l

    1
    1. Bonjour voici un fichier à adapter

      https://www.cjoint.com/?3Dplr30ttI7

      cliquer sur le bouton pour chercher une question
      les question et les réponses sont sur la feuille réponse
      Pour effacer les 20 questions appuyer sur reinitialiser
      0
      1. Contributeur
        Bonjour,

        une façon de faire : https://www.cjoint.com/c/CDraaOeHlCZ
        F9 pour une nouvelle série de questions.

        eric
        0
        1. Contributeur
          oulaaa, j'étais fatigué hier soir.
          Je n'ai vu aucune réponse avant de répondre...
          eric
          0
        2. Merci quand même ;)
          0
      2. Merci,

        Sur la page "QUESTIONNAIRE A IMPRIMER" sur le boutton CommandButton1 j'ai un message d'erreur (Erreur d'exécution 1004.
        0
        1. Contributeur
          effectivement
          code rectifié
          Private Sub CommandButton1_Click() 
          Dim Derlig As Integer, Triage As Range 
          
          With Sheets("questions") 
               Derlig = .Columns("B").Find("*", , , , , xlPrevious).Row 
               Set Triage = .Range("F4:G" & Derlig) 
               Randomize 
               Triage.Sort Key1:=.Range("G4") 
          End With 
          End Sub
          0
        2. Oui, cela fonctionne ! par contre le questionnaire comporte plusieurs fois la même question :
          "Combien de signes distinctifs doit avoir un agent de sécurité ?" alors que le numéro de question n'est pas le même...
          0
        3. Contributeur
          Bonjour,

          c'est ta formule rechercheV qui est fausse car tu t'arr^tes à 80 (=RECHERCHEV(B12;QUESTIONS!$A$4:$B$80;2)) et il manque un parametre à la fonction rechercheV qui actuellement, recherche la valeur inférieure la + proche dans un tableau ordonné croissant

          la formule
          =RECHERCHEV(B12;QUESTIONS!$A$4:$B$200;2;0)

          Par contre, tu as des questions longues qui rendent ton questionnaire illisible... de m^me des réponses très longues impliquent que l'agent questionné écrive en tout petit...

          j'ai modifié la macro pour adapter le tableau aux questions mais tu va avoir des problèmes à l'impression... et là, je ne peux pas faire grand chose

          Le code modifié
          Private Sub CommandButton1_Click()
          Dim Derlig As Integer, Triage As Range
          
          With Sheets("questions")
               Derlig = .Columns("B").Find("*", , , , , xlPrevious).Row
               Set Triage = .Range("F4:G" & Derlig)
               Randomize
               Triage.Sort Key1:=.Range("G4")
          End With
          
          With Sheets("QUESTIONNAIRE A IMPRIMER").Range("C12:C31")
               .RowHeight = 14.25
               .WrapText = True
               .Rows.AutoFit
          End With
          
          End Sub
          
          0
        4. Contributeur
          J'oubliais !!
          dans les colonnes EF de "questions" efface les données après la ligne 167 (dernière question)
          0