XL 2016 Tri aléatoire de questions pour un contrôle

travolta

XLDnaute Junior
Bonjour le forum,

j'ai besoin de votre aide afin de rendre la tâche un peu plus difficile à mes éléves lors des contrôles, j'aimerais pouvoir avoir disons 30 versions différentes d'un contrôle.
Ainsi chaque éléve aura une version différente de son voisin et cela devrait limiter la copie ^^
Dans mon fichier exemple, il y a donc un onglet source où il y a 20 questions dans l'ordre 1, 2 etc..... à 20
J'aimerais avoir dans l'onglet aléatoire 30 versions si possible toutes différentes séparées par un saut de page afin que je puisse imprimer les 30 versions
cela donnerait donc par exemple:

question 4,12, 20, 7 etc....
(saut de page)
question 2,18, 9, 11 etc....
(saut de page)
question 15, 3, 10, 16 etc....

Merci à tous
 

Pièces jointes

  • controle.xlsx
    18.6 KB · Affichages: 13

AC045364

XLDnaute Junior
Ta demande est très facile à réaliser MAIS ....
1- Quelle est la nature des questions? géographie, maths, science ou quoi ?
2- Est-ce que ce sont des questions à choix multiples?
3- Quel truc tu vas prendre pour corriger la 5e copie versus la 12e copie?
Autrement dit, dans ces copies, la question 8 est différente des 2 versions.
Je suppose qu'il faut incorporer un code dans la question pour indiquer le numéro de la question posée.
Daniel
 

travolta

XLDnaute Junior
1) techno :)
2) non pas de qcm
3) bah vu que c'est moi qui fait les questions je connais les réponses par coeur, donc si dans une copie la question apparrait en 5e question et sur une autre copie elle apparait en 12e question je saurais y répondre , et pour faire simple le bareme est d'un point pour chaque question
 

job75

XLDnaute Barbatruc
Bonsoir travolta, AC045364,

Voyez le fichier joint, j'ai effectué les opérations suivantes :

- inséré la nouvelle colonne A

- entré cette formule en A5 :
Code:
=SI(MOD(LIGNE()-5;4);A4;ALEA())
puis l'ai tiré sur A5:A84

- défini la zone d'impression B1:H84

- défusionné les cellules de la plage B5:H84 (pour pouvoir trier)

- écrit cette petite macro :
VB:
Sub Imprimer()
Dim n As Byte
For n = 1 To 30
    Calculate 'nouveaux nombres aléatoires
    [A5:H84].Sort [A5], Header:=xlNo 'tri sur la colonne A
    ActiveSheet.PrintPreview 'pour tester
    'ActiveSheet.PrintOut 'pour imprimer
Next
End Sub
Cliquez sur le bouton pour l'exécuter.

Pour imprimer enlevez l'apostrophe devant ActiveSheet.PrintOut

A+
 

Pièces jointes

  • controle(1).xlsm
    20.9 KB · Affichages: 8

travolta

XLDnaute Junior
Merci @job75 c'est top ça marche bien, par contre serait-ce possible que cela génère les 30 itérations et que cela enregistre le tout dans un fichier pdf qui contiendrait donc les 30 itérations ?
Car je n'ai pas excel au collège, je ne peux imprimer que les pdf
 

job75

XLDnaute Barbatruc
Alors utilisez ce fichier (2) avec la macro :
VB:
Sub PDF()
Dim F As Worksheet, n As Byte
Set F = ActiveSheet
Application.ScreenUpdating = False
For n = 1 To 30
    F.[A5:H84].Sort F.[A5], Header:=xlNo 'tri sur la colonne A
    If n = 1 Then
        F.Copy 'nouveau document
    Else
        F.Copy After:=ActiveSheet 'nouvelle feuille
    End If
Next
ActiveWorkbook.Sheets(1).Select
For n = 2 To 30
    ActiveWorkbook.Sheets(n).Select False 'sélection multiple
Next
ActiveSheet.ExportAsFixedFormat xlTypePDF, ThisWorkbook.Path & "\Questionnaire.pdf" 'nom à adapter"
ActiveWorkbook.Close False 'ferme le document
End Sub
 

Pièces jointes

  • controle(2).xlsm
    22.5 KB · Affichages: 7

travolta

XLDnaute Junior
Ah génial merci beaucoup @job75 c'est exactement comme cela que je voulais ce fichier.
Derniere petite question, car j'ai essayé de comprendre comment cela marchait au niveau du tri avec les chiffres aléatoires, car je voulais augmenter le nombre de lignes entre 2 questions (comme cela ça me permet d'avoir les 20 questions qui remplissent le recto verso) et donc mettre 7 lignes blanches entre 2 questions au lieu de 3 lignes blanches, alors j'ai modifié la macro et les lignes de commandes SI(MOD(LIGNE()-5;4);A4;ALEA()) etc mais du coup cela prend des lignes blanches au lieu des lignes de question.
Pourrais tu me dire du coup comment mettre 7 lignes blanches au lieu des 3 ? :)
 

travolta

XLDnaute Junior
on y est presque @job75 ça m'a bien pris les bonnes lignes merci :)
par contre du coup on a pas le saut de ligne pour que ça me fasse du recto/verso (donc 60 pages) j'ai toujours les 30 pages qui vont s'imprimer, je mets les captures d'ecran car je ne sais pas si je m'exprime bien
 

Pièces jointes

  • 3 lignes.jpg
    3 lignes.jpg
    212.1 KB · Affichages: 12
  • 7 lignes.jpg
    7 lignes.jpg
    95.2 KB · Affichages: 12

job75

XLDnaute Barbatruc
Bonjour travolta, le forum,

Je n'ai pas compris ce que vous avez fait pour l'impression recto-verso.

Ce que je fais sur ce fichier (3) :

- zone d'impression => B5:H164

- lignes à répéter en haut => 1:4

- mise en page Largeur et Hauteur => Automatique, Echelle 64%

- saut de page au-dessus de la ligne 85 et bordure moyenne.

Sur le fichier PDF impression des pages impaires puis des pages paires.

A+
 

Pièces jointes

  • controle(3).xlsm
    23.7 KB · Affichages: 3
  • Questionnaire.pdf
    548.2 KB · Affichages: 5

Discussions similaires

Réponses
7
Affichages
531

Statistiques des forums

Discussions
312 215
Messages
2 086 328
Membres
103 180
dernier inscrit
Vcr