Programmation d'un QCM sur VBA
Fermé
Guizmowow
Messages postés
1
Date d'inscription
jeudi 23 janvier 2014
Statut
Membre
Dernière intervention
23 janvier 2014
-
23 janv. 2014 à 20:11
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 - 24 janv. 2014 à 14:17
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 - 24 janv. 2014 à 14:17
A voir également:
- Programmation d'un QCM sur VBA
- Application de programmation - Guide
- Programmation - Guide
- Vba récupérer valeur cellule ✓ - Forum VB / VBA
- Mkdir vba ✓ - Forum VB / VBA
2 réponses
bibivanhoa
Messages postés
3
Date d'inscription
vendredi 24 janvier 2014
Statut
Membre
Dernière intervention
27 mars 2014
1
24 janv. 2014 à 10:04
24 janv. 2014 à 10:04
Bonjour,
pour generer un nombre aleatoire entre 1 et 300 en vba tu peux ecrire ceci:
ensuite pour generer une liste de 10 chiffres au hasard et differents s'inscrivant dans la plage A1:A10 de ta Feuil1, tu peux ecrire:
Donc ensuite tu peux utiliser cette liste de 10 valeurs aleatoires comprises entre 1 et 300 pour faire une recherche dans ta base de donnees!
bibivanhoa
pour generer un nombre aleatoire entre 1 et 300 en vba tu peux ecrire ceci:
Sub nbalea() Dim valeur As Integer Randomize valeur = Int(300 * Rnd) + 1 End Sub
ensuite pour generer une liste de 10 chiffres au hasard et differents s'inscrivant dans la plage A1:A10 de ta Feuil1, tu peux ecrire:
Sub nbalea() Dim valeur As Integer Randomize For i = 1 To 10 Do valeur = Int(300 * Rnd) + 1 Cells(i, 1).Value = valeur Loop While WorksheetFunction.CountIf(Worksheets("Feuil1").Range("A1:A10"), valeur) = 0 Next i End Sub
Donc ensuite tu peux utiliser cette liste de 10 valeurs aleatoires comprises entre 1 et 300 pour faire une recherche dans ta base de donnees!
bibivanhoa
michel_m
Messages postés
16603
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2023
3 310
Modifié par michel_m le 24/01/2014 à 14:40
Modifié par michel_m le 24/01/2014 à 14:40
Bonjour
On suppose qu'en feuille2 tu as la liste des 300 questions en colonne A à partir de la ligne 1 ?
si oui
proposition à adapter à ta présentation (à l'avenir,merci d'^tre plus précis dans tes questions)
https://www.cjoint.com/?3AyoMUANbob
les macros
Michel
On suppose qu'en feuille2 tu as la liste des 300 questions en colonne A à partir de la ligne 1 ?
si oui
proposition à adapter à ta présentation (à l'avenir,merci d'^tre plus précis dans tes questions)
https://www.cjoint.com/?3AyoMUANbob
les macros
Option Explicit
Public Qcm As Object
'--------------------------------
Sub nouveau_QCM()
Dim Cptr As Integer
'------initialisations
Set Qcm = CreateObject("scripting.dictionary")
For Cptr = 1 To 300
Qcm.Add Cptr, ""
Next
End Sub
'---------------------------------
Sub questionner()
Dim Cptr As Integer, Ligne As Integer
Randomize
For Cptr = 1 To 10
Ligne = Int(Rnd * 300) + 1
If Qcm.exists(Ligne) Then
Sheets(1).Range("A" & Cptr) = Sheets(2).Range("A" & Ligne)
Qcm.Remove (Ligne)
End If
Next
End Sub
Michel