thomasf007
Messages postés36Date d'inscriptionvendredi 23 mai 2008StatutMembreDernière intervention31 mars 2013
-
14 déc. 2008 à 10:59
thomasf007
Messages postés36Date d'inscriptionvendredi 23 mai 2008StatutMembreDernière intervention31 mars 2013
-
16 déc. 2008 à 21:50
Bonjour à tous,
Voilà, peut-être que quelqu'un peut m'aider...
J'ai un programme où j'ai insérer un ProgressBar à l'aide naturellement d'un Userform.
Apparement, ce Userform doit être non Modal donc, lors du chargement, j'ai tapé :
Userform1.Show vbModeless (d'après mon guide VBA). Toute fois, quand j'exécute mon programme, le Userform s'affiche, mais est tout blanc.... Impossible de voir la bare de progression.
Quelqu'un connaît ça?
PCPT
Messages postés13280Date d'inscriptionlundi 13 décembre 2004StatutMembreDernière intervention 3 février 201847 14 déc. 2008 à 11:37
salut,
ce n'est pas dû au MODAL, mais le fait que ta boucle en arrière consomme toutes les ressources
ajoute DOEVENTS dans ta boucle, et si çà ne suffit pas ajoute également progressbar.refresh après avoir changé sa valeur
lien utile :
Q : [../doc/faq.aspx#vb_doevents Code : Mon application freeze lors d'une
longue opération, comment y rémedier]
++
Prenez un instant pour répondre à [sujet-SONDAGE-POP3-POUR-CS_769706.aspx ce sondage] svp
Est-il possible que la barre de progression soit trop lente pour mon code? Il est vrai que j'ai tenté de mettre une barre de progression pour un code qui met environs 2 à 3 seconde pour se réaliser.
Le fait que ce ne soit pas un module qui réalise ce code peut aussi jouer?
thomasf007
Messages postés36Date d'inscriptionvendredi 23 mai 2008StatutMembreDernière intervention31 mars 2013 15 déc. 2008 à 17:00
C'est bon ça marche, en fait, j'ai rajouté DoEvents et je rafraîchissait a chaque fois que je faisais une progression de la barre.(DoEvents, je l'avais écrit qu'une seule fois...)
PCPT
Messages postés13280Date d'inscriptionlundi 13 décembre 2004StatutMembreDernière intervention 3 février 201847 15 déc. 2008 à 21:53
[../auteur/OROHENA/1483575.aspx Orohena]
-> perso je ne comprends pas ta question..., la progressbar est un contrôle graphique (visuel), il faut bien la poser... ? à moins que tu fasses simplement la différence entre la poser sur un userform ou à même le classeur...
[../auteur/THOMASF007/1401069.aspx thomasf007]
-> parfait si çà fonctionne ;), n'oublie pas de valider la ou les bonnes réponses
++
Prenez un instant pour répondre à [sujet-SONDAGE-POP3-POUR-CS_769706.aspx ce sondage] svp
cs_Orohena
Messages postés577Date d'inscriptionvendredi 26 septembre 2008StatutMembreDernière intervention20 novembre 20104 16 déc. 2008 à 01:46
Bonjour PCPT
>> à moins que tu fasses simplement la différence entre la poser sur un userform ou à même le classeur
Oui, c'est bien ça. En fait, je souhaitais savoir si le UserForm contenait juste le ProgressBar ou d'autres contrôles.
A cause de ma formation, antérieure au multifenêtrage, j'ai plus ou moins gardé l'habitude de mettre tous mes contrôles dans la même fenêtre. Donc si j'ai besoin d'une ProgressBar, j'ai le reflexe naturel de la mettre dans la même fenêtre que les autres contrôles et de la masquer ou la rendre visible selon les besoins. Mais l'idée de Thomas (si j'ai bien compris) c'est d'afficher un UserForm fugitif avec un ProgressBar. C'est sympa et, à la réflexion, évident. Discuter sur ce forum, ça me permet de bousculer mes habitudes, d'évoluer.
thomasf007
Messages postés36Date d'inscriptionvendredi 23 mai 2008StatutMembreDernière intervention31 mars 2013 16 déc. 2008 à 21:50
Bonjour à tous,
En fait il y a 2 solutions (pour les deux solutions, il faut faire ça avec un Userform) :
- Insérer un ProgressBar, Lui dire le minimum et le maximum et la faire evoluer en fonction du Code. (Classique, si l'on possède le véritable Objet PROGRESSBAR)
- Créer un Label, effacer tout le texte qu'il y a, mettre une couleur de fond (bleu par exemple...) et jouer avec la fonction Width. Pour cette méthode, il a un petit calcul à faire, car Width peut ête supérieur à 100.
Amicalement,
PCPT> P.S: qu'appelles-tu valider la bonne réponse? Faut-il mettre le code sur le site?