Macro tourne en boucle

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Lone-wolf

XLDnaute Barbatruc
Bonjour à tous,

j'ai un petit problème avec ce fichier pour arrêter la macro (ou Timer) 😕

C'est une barre de progression, arrivée a 100%, la macro tourne en boucle pendant quelques secondes. Si j'enlève Unload Me c'est pire, je dois passer par le Gestionnaire pour arrêter Excel. J'ai essayé plusieures choses sans succès.

Si l'un de vous à une solution, qu'elle soit la bienvenue.

A+
 

Pièces jointes

Re : Macro tourne en boucle

Bonjour Lone-wolf,

je n'ai trouvé aucune erreur mais il manque une ligne dans ton code qui te permet de remettre le "bon curseur" à la fin de la procédure
Bar_Progress.MousePointer = fmMousePointerDefault

Code:
Sub Progression()

Dim Total1, Total2, x, y As Long
Dim MonTimer As Double
    
Total1 = 100 'Pourcentage progression
Total2 = 900 'Vitesse de progression
    
For x = 1 To Total1
    For y = 1 To Total2
    MonTimer = Timer
    Me.TextBox4.Width = (y / Total2) * 202
    Me.Label2.Caption = "Progression: " & y & " of " & Total2
    DoEvents
    Next y
Me.TextBox2.Width = (x / Total1) * 202
Me.Label1.Caption = "Chargement éffectué à:  " & x & "%" & " ..."
Next x
Me.Label3.Caption = "L'installation de Windows est terminée." & vbCr & "Veuillez redémarrer l'ordinateur."
Me.Label1.Visible = False
Bar_Progress.MousePointer = fmMousePointerDefault
End Sub
à+
Philippe
 
Re : Macro tourne en boucle

Bonjour Philippe,

merci d'avoir répondu, et merci pour la solution.

Avec le bouton Annuler, j'aimerais arrêter le chargement, comme on peut le faire à l'installation de logiciels.

Comment écrire (la) ou les lignes de codes. Avec Application.SendKeys ("^{BREAK}") ça marche pas.


A+
 
Re : Macro tourne en boucle

Voilà, j'ai retouché le code:
Code:
Private Sub Annuler_Click()
flag = 1
End Sub

Private Sub Installer_Click()
DoEvents
Bar_Progress.Label3.Visible = True
Bar_Progress.Label3.Caption = "Installation de Windows Seven en cours, veuillez patientez..."

Dim Total1, Total2, x, y As Long
Dim MonTimer As Double
    
Total1 = 100 'Pourcentage progression
Total2 = 900 'Vitesse de progression
    
For x = 1 To Total1
For y = 1 To Total2
    
If flag = 1 Then
Exit Sub
End If

MonTimer = Timer
Me.TextBox4.Width = (y / Total2) * 202
Me.Label2.Caption = "Progression: " & y & " of " & Total2
DoEvents
Next y
Me.TextBox2.Width = (x / Total1) * 202
Me.Label1.Caption = "Chargement éffectué à:  " & x & "%" & " ..."
Next x

Me.Label3.Caption = "L'installation de Windows est terminée." & vbCr & "Veuillez redémarrer l'ordinateur."
Me.Label1.Visible = False

End Sub

Private Sub UserForm_Activate()
Application.Cursor = xlWait
Bar_Progress.MousePointer = fmMousePointerHourGlass
DoEvents
Application.Cursor = xlDefault
Bar_Progress.MousePointer = fmMousePointerDefault
End Sub

Private Sub UserForm_Initialize()

Me.TextBox2.Left = Me.TextBox1.Left
Me.TextBox2.Top = Me.TextBox1.Top + 3
Me.TextBox4.Left = Me.TextBox3.Left
Me.TextBox4.Top = Me.TextBox3.Top + 3
Me.TextBox2.Width = 0
Me.TextBox4.Width = 0
Label3.Caption = "Installation de Windows Seven en cours, veuillez patientez..."
Me.Label3.Visible = False
End Sub

Mais toujours impossible d'arrêter la progression.

A+
 

Pièces jointes

Re : Macro tourne en boucle

J'ai rajouté ceci dans le bouton annuler

Code:
Private Sub Annuler_Click()
flag = 1
Me.TextBox4.Width = Me.TextBox4.Width - Me.TextBox4.Width
Me.Repaint
Me.TextBox2.Width = Me.TextBox2.Width - Me.TextBox2.Width
Me.Repaint
If Me.TextBox4.Width = 0 And Me.TextBox2.Width = 0 Then
MsgBox "Vous-voulez vraiment suspendre l'installation?", vbYesNo, "Windows Seven"
Me.Label1.Caption = "Installation annulée."
Exit Sub
End If
End Sub

Comment reprendre l'installation?
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

W
  • Résolu(e)
Réponses
17
Affichages
2 K
T
Réponses
4
Affichages
758
tarinz
T
V
Réponses
2
Affichages
2 K
vynmarius
V
B
Réponses
5
Affichages
2 K
Brain Box
B
M
Réponses
8
Affichages
2 K
S
Réponses
5
Affichages
1 K
sterf
S
T
Réponses
6
Affichages
1 K
Tommy_11
T
Retour