VBA - Excel . afficher un compteur
Wire Less
-
tompols Messages postés 1325 Statut Contributeur -
tompols Messages postés 1325 Statut Contributeur -
Bonjour, tous le monde.
J'ai un programme qui est asses long à s'exécuter, avec pleins de boucles qui mouline pleins de données.
Comme il est assés long, j'aurais aimé pouvoir utiliser un compteur.
J'ai cru comprendre que le mieux était d'utiliser un "userform". Ok, ça je sais faire.
Mon problème vient du ---- Application.ScreenUpdating = False ----- que j'utilise ( pour éviter de faire une crise d'épilepsie avec toutes les fenêtres qui clignotes!! )
Du coup je ne peux pas voir mon userform ce mettre à jour!
Est ce que quelqu'un à déjà rencontré ce genre de problème? Et surtout, est ce que quelqu'un à une solution ??
Merci
J'ai un programme qui est asses long à s'exécuter, avec pleins de boucles qui mouline pleins de données.
Comme il est assés long, j'aurais aimé pouvoir utiliser un compteur.
J'ai cru comprendre que le mieux était d'utiliser un "userform". Ok, ça je sais faire.
Mon problème vient du ---- Application.ScreenUpdating = False ----- que j'utilise ( pour éviter de faire une crise d'épilepsie avec toutes les fenêtres qui clignotes!! )
Du coup je ne peux pas voir mon userform ce mettre à jour!
Est ce que quelqu'un à déjà rencontré ce genre de problème? Et surtout, est ce que quelqu'un à une solution ??
Merci
A voir également:
- Compteur vba
- Compteur de contractions - Télécharger - Santé & Bien-être
- Compteur communicant - Guide
- Excel compter cellule couleur sans vba - Guide
- Compteur point fléchette excel - Télécharger - Sport
- Compteur cyber café gratuit - Télécharger - Outils professionnels
2 réponses
Bonjour,
Application.screenupdating ne s'applique pas aux userforms.
Pour ajouter le contrôle barre de progression, clic droit sur ds l'onglet Contrôles de la boite à outils puis contrôles supplémentaires et cocher le contrôle Microsoft ProgressBar Control x.x
Ensuite l'idée est d'incrémenter la valeur du progressbar de 1 à 100 par une boucle en fonction du pourcentage d'avancement de a macro( 'est là que ça peut être un peu délicat suivant ton code)
Application.screenupdating ne s'applique pas aux userforms.
Pour ajouter le contrôle barre de progression, clic droit sur ds l'onglet Contrôles de la boite à outils puis contrôles supplémentaires et cocher le contrôle Microsoft ProgressBar Control x.x
Ensuite l'idée est d'incrémenter la valeur du progressbar de 1 à 100 par une boucle en fonction du pourcentage d'avancement de a macro( 'est là que ça peut être un peu délicat suivant ton code)
non non, simplement en incrémentant sa valeur de 1 à 100 (où alors modifier sa propriété valeur max à 1000) ds ta procédure :
Sub Toto For i = 1 to 1000 Moulinette_1 Moulinette_2 UserForm1.ProgressBar1 = i / 10 'en supposant que la valeur max de ProgressBar1 est définie à 100 (par défaut) Next End Sub
Sub Toto
For i = 1 to 1000
Moulinette_1
Moulinette_2
...
Next
End Sub
Je dois mettre un truc du genre
Private Sub ProgressBar1_MouseDown(ByVal Button As Integer, ByVal Shift As Integer, ByVal x As stdole.OLE_XPOS_PIXELS, ByVal y As stdole.OLE_YPOS_PIXELS)
End Sub
Quelques part? C'est ça?