Les Allergies
Alimentaires
Posez votre question Signaler

[VBA Excel 2k] Barre de Progression

LeDénicheur 545Messages postés 5 janvier 2008Date d'inscription 9 octobre 2011Dernière intervention - Dernière réponse le 21 juil. 2009 à 09:57
Bonjour,
J'ai un petit soucis qui se décompose en deux questions.
Mon objectif : Je compte réaliser une barre de chargement sous Excel pour indiquer à l'utilisateur une sorte de décompte. Le Décompte se ferait en seconde ou par modification de la longueur d'une barre, avec une mise à jour de l'affichage de la fenêtre, toutes les secondes. La progress barre n'est pas obliger de tenir compte de la macro,je connais le temps qu'elle met pour se réaliser donc je pourrais arrondir après.
Donc première question, est-il possible de créer une macro qui dis "Patienter encore " & valeurseconde & " secondes" dans une genre de messagebox, avec une mise à jour toutes les secondes, alors que pendant le décompte, ma macro principale se déroule et s'achève.
Deuxième question : Je sais qu'il existe des "ProgressBar", est-ce un module intégéré à VBA( que je ne possède pas apparement), où peut-on en créer une personelle ?
Merci d'avance =)
Lire la suite 

[VBA Excel 2k] Barre de Progression »

8 réponses
Réponse
+1
moins plus
Salut,

Sur la boîte à outiles ou dans le menu Outils / Contrôles supplementaires de VBA Editor tu as le côntrole Microsoft ProgressBar Control.
Mais tu peux programmer par toi même la barre de progression si tu veux.

Pour la 1ère question, tant qu'on peut créer une barre de progression, c'est bien possible.

Tu trouveras dans cette discussion des exemple
http://www.developpez.net/...

Sinon tu peux regarde ça pour t'inspirer
Ajouter un commentaire
Réponse
+0
moins plus
Leur barre de progression fonctionne toujours en boucle, quelque soit le site où je vais...

===> toujours le même code d'ailleurs
If TypeName(ActiveSheet) <> "Worksheet" Then Exit Sub
Cells.Clear
Counter = 1
RowMax = 200
ColMax = 10
For r = 1 To RowMax
For c = 1 To ColMax
Cells(r, c) = Int(Rnd * 1000)
Counter = Counter + 1
Next c
PctDone = Counter / (RowMax * ColMax)
Call UpdateProgress(PctDone)
Next r
Unload UserForm1
End Sub

Mais ce n'est pas ce que je recherches, je cherche juste à réaliser ceci :
1 - Cliquer Bouton.
2 - Affiche la barre de progression 10 secondes
3 - Commence la macro.
4 - La macro met à jour la valeur de la barre de progression à 5 secondes.
5 - Continue et Termine la macro.
6 - Affiche la barre de progression avec 0 secondes, "Opération terminée"

Tu vois le schéma ?

Sinon pour le "Controles complémentaires", je n'y es pas accès, c'est étrange bizarre, c'est le seul paramètre grisé....
Ajouter un commentaire
Réponse
+0
moins plus
Salut,

quelque soit le site où je vais...
T'es sûr que tu as regardé partout?! ;-))
Voici un exemple qui pourra t'interesser
http://sn1.chez-alice.fr/presentation/progression.htm
Ajouter un commentaire
Réponse
+0
moins plus
C'est le premire site que j'avais trouvé =D
La barre est pas mal mais ne fonctionne pas avec ma macro :x
J'relis tout ça et j'te dis ça dans 2 min.
Ajouter un commentaire
Réponse
+0
moins plus
C'est encore une système de boucle :x

" Pour une boucle de 10000 cyles le temps de calcul est de 7 secondes "
For ii = 1 To n
Call u_progress(ii / n, "patientez,", départ, pctj, 0.1)
Call progression("patientez", ii / n, départ, pcti, 1, 16)
Cells(ii).Value = "trois"

<= tout fonctionne la dessus

J'comprends pas trop où tu veux en venir ? =)
explicite
Ajouter un commentaire
Réponse
+0
moins plus
J'ai réassayé avec son code, mais le soucis vient du fait que comme ce sont des boucles, lorsque je l'inclus ma macro dans le code, il execute ma macro et la termine pour ensuite finir par les mises à jour de ma barre de progression.
Ajouter un commentaire
Réponse
+0
moins plus
Re,

Voici un exemple qui s'approche de ta situation, mais il utilise le contrôle
http://www.vbfrance.com/...
Il utilise l'objet Timer
Ajouter un commentaire
Réponse
+0
moins plus
Je n'ai pas accès à cete fonction, le controle complémentaire est grisé :s
Ajouter un commentaire
Ce document intitulé « [VBA Excel 2k] Barre de Progression » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
Passage au tout numérique : quel coût pour les particuliers ?