[Catégorie modifiée .Net -> VBA] ProgressBar sue Excel VBA 2003

Résolu
snekkar Messages postés 21 Date d'inscription jeudi 21 avril 2011 Statut Membre Dernière intervention 25 octobre 2014 - 18 févr. 2013 à 19:03
snekkar Messages postés 21 Date d'inscription jeudi 21 avril 2011 Statut Membre Dernière intervention 25 octobre 2014 - 19 févr. 2013 à 11:03
Bonjour,

Je suis débutant en VBA, et je tente de créer une petite application pour une association dont je m'occupe. J'ai crée une progressbar sur un UserForm en m'inspirant de ce que je trouvais sur les forums. Cette progressbar est censée faire patienter l'utilisateur, le temps que les données saisies soient reportées sur une feuille excel et que les calculs soient effectués.

N'ayant trouvé sur les forums que des progress bar avec des compteurs, j'essaie d'adapter le code mais n'y parviens pas.

Je suis vraiment très nul, mais j'essaie de progresser. Pourriez vous m'expliquer ce qui ne fonctionne pas dans mon code.

Merci

Le code que j'utilise est le suivant:

Private Sub Cmd17_Click()

Application.ScreenUpdating = False

progression = 0

Application.CalculateFullRebuild

For ligne = 1 To 10000
For col = 1 To 25

compteur = compteur + 1

If compteur Mod 2500 = 0 Then
progression = progression + 1
Image_barre.Width = progression * 1.5
Label_barre.Caption = progression & "%"
DoEvents

End If
Next
Next

Application.ScreenUpdating = True

End Sub

3 réponses

ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
18 févr. 2013 à 19:29
Bonjour,
nous te serions reconnaissant de veiller à ouvrir tes discussions VBA dans la rubrique adéquate : [u]Langages dérivés > VBA
/u
VBA n'est ni du VB.Net, ni du VB6.
Le code montré ne peut que fonctionner, pour autant que tu aies bien sur ton Userform une image un label et un bouton de commande avec ces noms-là.
Il fonctionnera toutefois au click de ton bouton et ira à la vitesse grand V (aussi vite que l'éclair)puisque le seul traitement montré par ton code est le simple parcours de tes cellules !
________________________
Réponse exacte ? => "REPONSE ACCEPTEE" facilitera les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement répéter son contenu. Je n'interviendrai que si nécessité de la compléter.
3
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
18 févr. 2013 à 19:38
Je viens d'ailleurs (ce n'était pas nécessaire, mais bon ...) de le tester. Il fonctionne bien.
Il constate à la perfection la progression que tu traites : celle du seul parcours de tes cellules.
Et il va à la vitesse prévue : celle d'un éclair.

________________________
Réponse exacte ? => "REPONSE ACCEPTEE" facilitera les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement répéter son contenu. Je n'interviendrai que si nécessité de la compléter.
3
snekkar Messages postés 21 Date d'inscription jeudi 21 avril 2011 Statut Membre Dernière intervention 25 octobre 2014
19 févr. 2013 à 11:03
Je te remercie Ucfoutu pour ta réponse très rapide, et excuse moi pour le choix de la mauvaise rubrique.
Avant que j'intègre le code, le bouton de validation sur lequel je cliquais pour transférer les données d'une feuille vers une autre feuille du dossier actif reprenait sa position initiale au bout de seulement 10 secondes ce qui laissait à l'utilisateur le temps de cliquer une deuxième fois et donc de saisir une deuxième ligne sur la base de données.
Je ne sais pas comment éviter une double saisie, et je pensais que les formules excel de la deuxième feuille (de type SOMMEPROD) ralentissaient le traitement et les calculs.
Apparemment tout semble fonctionner ce matin.
Merci encore.
3
Rejoignez-nous