J'ai écrit une macro ultra-simple pour accompagner mon apprentissage de débutant.
Elle balaye un tableau comportant une simple colonne de mots et affiche la mot lu dans la 1re boîte de texte (la 2e boîte est pour l'instant inutilisée) d'un formulaire qui comporte aussi 2 boutons de commande pour "continue"r ou "arrêter"; à la fin du balayage ou bien si le bouton "arrêter" a été actionné, la macro affiche le nombre de mots traités.
Je ne comprends pas pourquoi, lorsque je lance la macro, seul le dernier mot du tableau s'affiche immédiatement et aucun bouton ne produit d'effet lorsqu'on l'actionne.
Voici le code :
Je joins également le fichier que j'ai créé sous Excel 2003.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41 Sub Macro1() ' ' Macro1 Macro ' Macro enregistrée le 21/03/2023 par Gérard ' ' Déclaration des variables Dim Question, Bilan As String Dim i, Compteur As Integer ' ' Affichage du formulaire en modal UserForm1.Show 0 Compteur = 0 ' Boucle For i = 2 To Cells(Rows.Count, "A").End(xlUp).Row Question = Cells(i, 1).Value UserForm1.TextBox1 = Question If UserForm1.Tag = "Arreter" Then Exit For End If Compteur = Compteur + 1 Next i ' Fin Bilan = CStr(Compteur) & " mots ont été traités" UserForm1.TextBox3 = Bilan ' End Sub ' ' ' Private Sub UserForm_Initialize() Me.StartUpPosition = 2 i = 0 End Sub Private Sub CommandButton1_Click() Me.Tag = "Continuer" End Sub Private Sub CommandButton2_Click() Me.Tag = "Arreter" End Sub]
Je remercie par avance qui voudra bient éclairer ma lanterne.
Partager