Programme d'apprentissage d'une liste de vocabulaire

658voca-anglais.xlsx (47.39 Ko)

Bonjour à tous,

Je suis actuellement en train de réviser pour un examen d'anglais. Je dois apprendre des centaines de mots.

J'ai donc une liste de vocabulaire, avec en colonne A le mot/expression en anglais et en B la traduction en français.

J'ai déjà réfléchit à une logique de programme mais c'est bien sur critiquable et améliorable pour s'adapter à l'outil VBA.

Je vous joint mon fichier excel de vocabulaire sur lequel est basé mes exemples.

J'aimerai que le programme choisisse aléatoirement une cellule de la colonne B, affiche une fenêtre où on doit écrire le mot anglais correspondant. Par exemple "Traduis indicatif "

Une fois appuyé sur entrée, une nouvelle fenêtre s'affiche avec une indication sur la réussite ou non du mot précédant et propose directement un nouveau mot (histoire que l'apprentissage soit efficace et rapide).

Par exemple en cas de bonne réponse " Bon réponse, traduis ignorer"

En cas de mauvaise réponse "La réponse était callsign, traduis ignorer"

J'ai imaginé également un système de pondération. Je m'explique. Si un mot a été bien traduit, il peux être consideré comme acquis.

Par exemple en colonne C, on pourrait imaginer afficher un "1" si l'élément à bien été traduit, et la boucle s'arrêterais dès que tous les les cellules de la colonne C comporte un "1".

Si vous pouvez me donner un coup de pouce, ça serais vraiment sympa de votre part. De plus, je pense que ce programme pourrait être utilisé par beaucoup d'utilisateurs.

Merci de m'avoir lu,

Benjamin

Bonsoir,

Une proposition:

Lorsque l'on charge le userform :

1-Une traduction est proposée, on saisit sa réponse et on valide.

2-Apparait à la validation, la bonne réponse et si l'orthographe est correcte

-> ( on compare les 2 en minuscule) : donc si saisie en majuscule mais que l'orthographe est bonne c'est ok

3- a chaque passage sur un mot un compteur de passage note qu'on passe dessus

4 - a chaque orthographe parfaite on le note

5- quand le % d'orthographe parfaite (nb ortho parfaite/nb de passage) > 70% alors ce mot est considéré assimilé

si et seulement si on est déjà tombé sur ce mot ( si inf à 70% => assimilé = NON ) si jamais passé sur le mot = Non commencé

Si un mot est assimilé, il ne sera plus proposé.

A vous de tester le fichier joint...

Le code :

Public Sub CommandButton1_Click()
If validate = "OUI" Then
MsgBox "Vous avez déja validé votre réponse, passez à une autre traduction ..."
GoTo sortie
End If

validate = "OUI"

'affichage Réponse
Label4 = mot_ang

'j'annote que je passe sur le mot : statistiques
Sheets("Liste").Range("A" & choix_lig).Offset(0, 2).Value = (Sheets("Liste").Range("A" & choix_lig).Offset(0, 2).Value + 1)

'analyse saisie et traduction
If LCase(mot_ang) = LCase(TextBox1) Then
Label5 = "OUI"
Sheets("Liste").Range("A" & choix_lig).Offset(0, 3).Value = (Sheets("Liste").Range("A" & choix_lig).Offset(0, 3).Value + 1)      ' Ecriture sans faute
Else
Label5 = "NON"
End If

sortie:
End Sub

Public Sub CommandButton2_Click()
Unload Me
End Sub

Private Sub CommandButton3_Click()

If TextBox1 = "" Then
MsgBox "Allez, proposez une traduction !"
GoTo sort
End If

validate = "NON"
Label4 = ""
Label5 = ""
TextBox1 = ""
Call UserForm_Activate
sort:
End Sub

Public Sub UserForm_Activate()

'nombre de mots à traduire
dlig = Sheets("Liste").Range("A" & Rows.Count).End(xlUp).Row
flig = 2

autre_mot:
' Choix aléatoire
choix_lig = Int((dlig - flig + 1) * Rnd + 1)

' je regarde si le mot n'est pas deja assimilé grace à ma colonne assimilation
If Sheets("Liste").Range("F" & choix_lig).Value <> "OUI" Then
choix_lig = choix_lig
Else
GoTo autre_mot
End If

'On identifie le mot
mot_ang = Sheets("Liste").Range("A" & choix_lig).Value
mot_fr = Sheets("Liste").Range("A" & choix_lig).Offset(0, 1).Value

'on pose la question
Label1 = " Traduire le mot : " & Chr(10) & Chr(10) & mot_fr

End Sub
1'023voca-anglais.xlsm (39.31 Ko)

merci ti_chou_3

Ca correspond vraiment à ce que je voulais.

Une petite remarque pour ceux qui téléchargerons le fichier, il faut remplacer dans la feuille "liste" colonne F, 70 par 0,70.

Avec ca j'ai plus aucune excuse pour manquer de vocabulaire.

Merci infiniment,

Benjamin

Salut,

Les derniers messages datent un peu, mais j'aimerai utiliser le même genre de programme pour étudier mes listes. Je cherche ça depuis assez longtemps, je suis trop contente d'avoir trouvé une bonne base...

Evidemment, j'aimerai l'adapter en utilisant mes listes de vocabulaire, seulement, quand je les insère, le programme bug et ne fonctionne plus (il m'affiche "erreur d’exécution 13 - incompatibilité de type".

Quelqu'un sait m'aider? Je ne maîtrise que les fonctionnalités de base d'Excel donc là je suis complètement dépassée....

J'aimerai aussi pouvoir utiliser le programme en filtrant les éléments (pour qu'il ne m'interroge sur les verbes, que sur un chapitre,...) Est-ce si je filtre dans la feuille de vocabulaire le programme s'adaptera et ne posera que des questions sur ces mots-là?

Un tout tout grand merci pour votre aide!!!!

Bonjour

Tu a ajouté trois colonnes dans la zone liste, tu dois aussi modifier la macro en conséquence.

Public Sub CommandButton1_Click()

If validate = "OUI" Then

MsgBox "Vous avez déja validé votre réponse, passez à une autre traduction ..."

GoTo sortie

End If

validate = "OUI"

'affichage Réponse

Label4 = mot_ang

'j'annote que je passe sur le mot : statistiques

Sheets("Liste").Range("A" & choix_lig).Offset(0, 2).Value = (Sheets("Liste").Range("A" & choix_lig).Offset(0, 2).Value + 1)

'analyse saisie et traduction

If LCase(mot_ang) = LCase(TextBox1) Then

Label5 = "OUI"

Sheets("Liste").Range("A" & choix_lig).Offset(0, 3).Value = (Sheets("Liste").Range("A" & choix_lig).Offset(0, 3).Value + 1) ' Ecriture sans faute

Else

Label5 = "NON"

End If

sortie:

End Sub

remplacer

2 par 5

et 3 par 6

je pense que le problème est la

Ok, merci beaucoup, c'était tout simple!

Et y a-t-il moyen que le programme ne m'interroge que sur le contenu du filtrage? Je m'explique, ce serait vraiment bien si je pouvais filtrer par nature de mots dans la feuille "liste" et le programme se réfère seulement aux éléments restants après le filtrage... Est-ce possible?

Encore merci pour l'aide!

re

La il y a un peu de travail de programmation à faire, je regarde dans la semaine quelque chose de simple, en passant peut être, par une feuille base de donnée avant et un filtre élaboré, si j'ai le temps j'essai de te proposer quelque chose!!

Merci, c'est vraiment hyper gentil! J'essaie d'apprendre à coder, mais je ne suis qu'au début et ça reste très complexe pour moi... Bonne semaine!

Bonsoir,

Petite question bête..., comment fait-on pour réinitialiser le compteur?

Merci d'avance!

Belle soirée à tous

Silvia

Rechercher des sujets similaires à "programme apprentissage liste vocabulaire"