XL 2013 comment créer une condition aléatoire

step3334

XLDnaute Nouveau
Bonjour

J'ai créer un petit programme pour m'aider a apprendre des mots en anglais/français; je m'explique dans la première colonne je rentre les mots en anglais et dans la deuxième colonne je rentre la bonne définition du mot en français(je peux inverser anglais/français ou français/anglais). Avec la fonction alea() il me trouve un mot au hasard de la première colonne et je doit trouvé la bonne réponse qui est écrit dans la deuxième colonne et que je ne vois pas réponse, tout cela fonctionne bien.

Le problème que je voudrais régler c'est qu'il peut me demandé le même mot 10 fois et un autre mot aucune fois. Moi ce que j'aimerais quand je connait la réponse je pourrais cliquer sur une case qui serait écrit "bon" et me demanderais plus ce mot et si je ne connais pas la réponse j'aurais une case qui serait écrit "pas bon" et ce mot il pourrait me le redemander. Le but serait qu'il me demande toutes les mots de ma liste, temps et aussi longtemps que j'aurais pas répondu bon a toutes les mots.

Merci
Stéphane
 

step3334

XLDnaute Nouveau
peut-être je me suis mal exprimer

c'est quelqu'un qui ma faite ce petit programme(que je ne voit plus vraiment) vl'a quelque année je dit programme mais peut-être qu'on appelle ça autrement. Mais c'est vraiment faite avec excel. Je fais juste commencer a étudier excel mais dans mon jeune temps j'ai déja faite de la programmation en basic,dbase et c++ mais c'est loin.

j'ai deux feuilles une data qui est entré mes deux colonnes de mot et un autre qui est test: dans test j'ai 2 case une qui choisir au hasard un mot et une autre case qui la bonne réponse si je lui demande. Ca fonction avec la fonction =INDEX(Data!A2:Data!A500;B5) et =SI(D5;INDEX(Data!B2:Data!B500;B5);"") et la fonction suivante =BDNBVAL(Data!A1:Data!A500;1;C1:C2) que je ne comprend pas et =ARRONDI((ALEA()*(B4-1))+1;0) que je crois qui choisi un mot au hasard.

il y a aussi une macro que je ne comprend rien:

Public Sub Init()
Set myObject = ActiveWorkbook
myObject.Application.Calculation = xlCalculateManual
End Sub


Private Sub CommandButton1_Click()
Worksheets("Test").EnableCalculation = True
Worksheets("Test").UsedRange.Columns("a:b").Calculate
Worksheets("Test").EnableCalculation = False
ToggleButton1.Value = False
End Sub

Private Sub CommandButton2_Click()

End Sub

Private Sub ToggleButton1_Click()
Worksheets("Test").EnableCalculation = True
Worksheets("Test").UsedRange.Columns("c:d").Calculate
Worksheets("Test").EnableCalculation = False
End Sub

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

End Sub


j'aimerais régler mon problème par moi en cherchant sur le net mais peut-être c'est trop pour mes connaissances.

encore un gros merci
Stéphane
 

Hieu

XLDnaute Impliqué
Salut,

Voici une modif :
VB:
Private Sub CommandButton1_Click()
Sheets("Test").Range("c6").ClearContents    ' ajout de cette ligne pour initialiser la cellule c6
tempo = Sheets("Test").Range("b5")
Worksheets("Test").EnableCalculation = True
Do                                          ' ajout d'une boucle pour sortir un résultat différent du précédent
    Worksheets("Test").UsedRange.Columns("a:b").Calculate
Loop Until tempo <> Sheets("Test").Range("b5")
Worksheets("Test").EnableCalculation = False
ToggleButton1.Value = False
End Sub

Sur la feuille "Test", cellule "c6", j'ai ajouté une initialisation
VB:
Sheets("Test").Range("c6").ClearContents

J'ai ajouté une variable tempo pour mémoriser la dernière valeur présente dans la cellule "b5" afin de ne pas retomber sur la même
VB:
tempo = Sheets("Test").Range("b5")

Puis j'ai fait une boucle infini sur le programme initial, qui ne sort que lorsque tempo <> "b5"
VB:
Do                                    
    Worksheets("Test").UsedRange.Columns("a:b").Calculate
Loop Until tempo <> Sheets("Test").Range("b5")

Pour entrer dans le programme, il faut avoir l'onglet "Développeur", sur Excel.
Pour ce faire, Menu > Options > Personnaliser le Ruban > Cocher Développeur

Ou tu y as accès via le raccourci ALT + F11.


Bon courage,
 

Pièces jointes

  • adverbe francais_v0.xls
    57 KB · Affichages: 42

step3334

XLDnaute Nouveau
Salut,

Voici une modif :
VB:
Private Sub CommandButton1_Click()
Sheets("Test").Range("c6").ClearContents    ' ajout de cette ligne pour initialiser la cellule c6
tempo = Sheets("Test").Range("b5")
Worksheets("Test").EnableCalculation = True
Do                                          ' ajout d'une boucle pour sortir un résultat différent du précédent
    Worksheets("Test").UsedRange.Columns("a:b").Calculate
Loop Until tempo <> Sheets("Test").Range("b5")
Worksheets("Test").EnableCalculation = False
ToggleButton1.Value = False
End Sub

Sur la feuille "Test", cellule "c6", j'ai ajouté une initialisation
VB:
Sheets("Test").Range("c6").ClearContents

J'ai ajouté une variable tempo pour mémoriser la dernière valeur présente dans la cellule "b5" afin de ne pas retomber sur la même
VB:
tempo = Sheets("Test").Range("b5")

Puis j'ai fait une boucle infini sur le programme initial, qui ne sort que lorsque tempo <> "b5"
VB:
Do                                   
    Worksheets("Test").UsedRange.Columns("a:b").Calculate
Loop Until tempo <> Sheets("Test").Range("b5")

Pour entrer dans le programme, il faut avoir l'onglet "Développeur", sur Excel.
Pour ce faire, Menu > Options > Personnaliser le Ruban > Cocher Développeur

Ou tu y as accès via le raccourci ALT + F11.


Bon courage,


Salut

Un gros merci pour ton temps mais je ne suis pas plus avancé j'ai loader ta modification et j'ai toujours le même problème.
je ne peux pas lui dire un t'elle mot me le pose plus je connais la réponse alors qu'autre continue a me le demander.

peut-être que ça se fais pas non plus ou c'est moi qui comprend mal se que tu ma envoyer

Stéphane
 

step3334

XLDnaute Nouveau
Oui c'est beaucoup mieux ,là je suis sur que toutes les mots vont être demander.

Mais si jamais toi ou un autre personne pourrais me le modifier pour que je puisse décider moi même si le mot revienne ou pas tout dépendant si je connais la réponse ou non,sa serais très apprécier.

Encore un gros merci Hieu

Stéphane
 

Discussions similaires

Statistiques des forums

Discussions
312 492
Messages
2 088 938
Membres
103 988
dernier inscrit
Feonix