VBA : Ecrire du texte avec boucle

Bonjour,

J'ai utiliser la fonction Rnd pour selectionner une valeur aléatoire entre A1 et B100

La valeur selectionné est un mot et à coté de celui-ci figure sa traduction juste. J'aimerais ensuite réaliser un test de vocabulaire, je demande donc à l'aide de Inputbox une traduction par Rapport a un mot choisi par la fonction Rnd.

J'aimerai que mes reponses s'ecrivent les unes en Dessous des autres sans supprimer les précédentes...

Exemple . En D2 le mot allemand; En E2 le mot Francais, En F2 ma reponse et ainsi de Suite les uns en Dessous des autres.

Sub ChoixAleatoire2()

Dim Plage As Range

Dim Valeur As String

Dim Reponse As String

Dim Traduction As String

Set Plage = Range("A1:B90")

Plage(Int(100 * Rnd) + 1).Select

Valeur = ActiveCell

If ActiveCell.Column = 1 Then

Traduction = ActiveCell.Columns.Offset(0, 1)

Else

Traduction = ActiveCell.Columns.Offset(0, -1)

End If

Reponse = InputBox("Quelle est la traduction pour le mot " & " (" & Valeur & ")")

MsgBox ("La reponse est " & " (" & Traduction & ")")

Range("D1").Value = "Valeur"

Range("E1").Value = "Traduction"

n = 1

For i = 2 To 100 Step 1

If Not IsEmpty(Cells(n, "D")) Then

Range("D(i)").Value = Valeur

Else

n = n + 1

End If

Next i

End Sub

Bonjour,

Sub ChoixAleatoire2()
Dim Plage As Range
Dim Valeur As String
Dim Reponse As String
Dim Traduction As String

Set Plage = Range("A1:B90")
Plage(Int(100 * Rnd) + 1).Select
Valeur = ActiveCell
If ActiveCell.Column = 1 Then
Traduction = ActiveCell.Columns.Offset(0, 1)
Else
Traduction = ActiveCell.Columns.Offset(0, -1)
End If
Reponse = InputBox("Quelle est la traduction pour le mot " & " (" & Valeur & ")")

MsgBox ("La reponse est " & " (" & Traduction & ")")

Range("D" & Cells(Rows.Count, "D").End(xlUp).Row).Value = Valeur
Range("E" & Cells(Rows.Count, "E").End(xlUp).Row).Value = Traduction
End Sub

Merci pour votre réponse,

Le probleme est que ce code me supprime chaque réponse précédente. Pouvez vous me rajouter la ligne afin que chaque traduction s'enregistre en Dessous des précédentes ?

Par Avance merci

13mappe2.xlsm (33.22 Ko)

Bonjour,

je ne comprend pas pourquoi vous avez ajouter un inputbox

Reponse = InputBox("Quelle est la traduction pour le mot " & " (" & Valeur & ")")

alors que vous chercher dans le même code un numéro aléatoire

Le but est de réaliser un test de vocabulaire aléatoire effectivement

Cordialement,

ok...

Reponse = InputBox("Quelle est la traduction pour le mot " & " (" & Valeur & ")")

pourquoi introduire une question dans votre code, et ne rien faire avec la réponse ?

Bonjour Gaëtan, sabV,

ma petite contribution à la connaissance linguistique... 8)

  • Cliquer sur [A1:B1] allume le vocabulaire pour étude ;
  • Fixer le nombre de questions en [F1] AVANT le test;
  • Cliquer sur "TEST" en [D1] éteint le vocabulaire (pas tricher, hein! ) et commence l'interro ;
  • Le score s'affiche en fin de test.

Evidemment, pour le candidat, il s'agira dans cette version de répondre au caractère près car la comparaison est stricte!

Le code fonctionne indifféremment pour toutes les feuilles pour autant qu'elles respectent le MÊME format!

Sauf erreur, bon travail!

A+

13mappe3.xlsm (46.05 Ko)
curulis57 a écrit :

Bonjour Gaëtan, sabV,

ma petite contribution à la connaissance linguistique... 8)

  • Cliquer sur [A1:B1] allume le vocabulaire pour étude ;
  • Fixer le nombre de questions en [F1] AVANT le test;
  • Cliquer sur "TEST" en [D1] éteint le vocabulaire (pas tricher, hein! ) et commence l'interro ;
  • Le score s'affiche en fin de test.

Evidemment, pour le candidat, il s'agira dans cette version de répondre au caractère près car la comparaison est stricte!

Le code fonctionne indifféremment pour toutes les feuilles pour autant qu'elles respectent le MÊME format!

Sauf erreur, bon travail!

A+

Merci

Rechercher des sujets similaires à "vba ecrire texte boucle"