Mon premier UserForm plante mon système

La macro ci-jointe balaie la colonne A de la feuille "Dico" et, pour chaque cellule contenant une chaîne de caractères, je souhaite l'afficher dans la boîte de texte Eng_Question que j'ai définie dans le UserForm English_French.

Ce formulaire comporte un bouton de commande cmd_Valider et un aute bouton de commande cmd_arreter

Le problème est le suvant:

quand je lance la macro Dico_Step, la première chaîne de caractères trouvée dans le tableau A s'affiche bien dans la boîte de texte Eng_Question; mais, quand je clique sur l'un ou l'autre des deux boutons de commande cmd_valider ou cmd_arreter, la macro affiche la deuxième chaîne de caractères trouvée et, par la suite, quel que soit le bouton de commande sur lequel je clique, plus rien ne se passe et je peux plus arrêter la macro ni quitter Excel et je dois redémarrer mon ordinateur.

Voici le code utilisé :

'--- macro ---
Sub Dico_Step()
'
' Dico_Step Macro
' Macro enregistrée le 18/03/2023 par Gérard
'
Dim tests As Integer
Dim Question, Reponse As String
Dim cell As Range
tests = 0
'
Set cell = Sheets("Dico").Range("A2")
Do While Not IsEmpty(cell.Value)
    English_French.Eng_Question = cell.Value
    Set cell = Sheets("Dico").Range("A2")
    tests = tests + 1
    Set cell = cell.Offset(1, 0)
Loop
MsgBox "Vous avez traité : " & tests & " questions"
'
End Sub

'--- gestion du UserForm ---

Private Sub cmd_Arreter_Click()
    Unload Me
End Sub

Private Sub cmd_Valider_Click()
    Unload Me
End Sub
Private Sub Eng_Question_Change()
    English_French.Show
End Sub

Merci par avance aux participants qui voudront bien éclairer ma lanterne.

Bonjour et bienvenu sur excel pratique

Un fichier est TOUJOURS le bienvenu

Regarde ta boucle

Do While Not IsEmpty(cell.Value)
    English_French.Eng_Question = cell.Value
    Set cell = Sheets("Dico").Range("A2")
    tests = tests + 1
    Set cell = cell.Offset(1, 0)
Loop

Tu alimentes la variable par la cellule A2

Tu incrementes TEST

tu affectes la ligne suivante à cell

et tu reviens au debut: cell=range("A2")

Donc tu tourne en rond

A+ François

Bonjour Fanfan38,

Merci mille fois pour ta réponse aussi rapide que précieuse : tu m'as enlevé une atroce épine dans le pied !

A bientôt

Rechercher des sujets similaires à "mon premier userform plante systeme"