Userform d'attente avec image GIF
Résolu
julia Namor
Messages postés
532
Statut
Membre
-
f894009 Messages postés 17417 Date d'inscription Statut Membre Dernière intervention -
f894009 Messages postés 17417 Date d'inscription Statut Membre Dernière intervention -
Bonjour,chers toutes et tous
Voulant mettre un petit usf animé pendant l’exécution de mes macros
J’ai piqué sur le net un petit programme qui me plait beaucoup et qui permet à l’utilisateur de patienter pendant les 15 secondes d’exécution des macros. Ce programme utilise une image gif quelconque qui DOIT se trouver dans le même répertoire que le fichier Excel.
Seulement je n’arrive pas à faire apparaitre l’mage gif en question pendant l’exécution. La place de l’image dans l’usf reste désespérément vide mais La macro s’exécute bien jusqu’à la fin puis ferme l’usf.
Je sollicite vos aides chers amis
Le fichier joint
https://www.cjoint.com/c/ELroNO4ka3A
Voulant mettre un petit usf animé pendant l’exécution de mes macros
J’ai piqué sur le net un petit programme qui me plait beaucoup et qui permet à l’utilisateur de patienter pendant les 15 secondes d’exécution des macros. Ce programme utilise une image gif quelconque qui DOIT se trouver dans le même répertoire que le fichier Excel.
Seulement je n’arrive pas à faire apparaitre l’mage gif en question pendant l’exécution. La place de l’image dans l’usf reste désespérément vide mais La macro s’exécute bien jusqu’à la fin puis ferme l’usf.
Je sollicite vos aides chers amis
Le fichier joint
https://www.cjoint.com/c/ELroNO4ka3A
16 réponses
-
oui oui !!!!!avec votre fichier tout est bon ; l'image est animée du début à la fin des macros
-
Bonjour,
Fichier modifie avec mise a l'echelle de l'image en fonction du WebBrowser
https://www.cjoint.com/c/ELrpPa5y7wf
Pour que ca s'affiche correctement, il faut un certain temps d'attente, c'est pour cela que j'ai augmente le remplissage cellule -
Merci beaucoup
J'ai adapté le code à mes macros; au demarrage j'ai maintenant l'image du GIF qui apparait mais .....ne bouge pas .
le GIf est fixe pendant toute la durée de la macro puis se ferme ;`
Une petite idée de la cause ?
Bien cordialement -
Bonjour
Excusez l'incruste
C'est plutôt la durée de 15 secondes qui pourrait certainement être réduite
Comme le demande F89 (bonjour)
Mettre le classeur sans données confidentielles en pièce jointe sur https://www.cjoint.com/
et coller le raccourci proposé (clic droit) dans le message de réponse
Dans l’attente
-
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
Bonjour à tous
je vous envoie mon fichier ( du moins la partie contenant le code) et l'image gif .
Effectivement comme dit michel , le code serait surement à optimiser. pour gagner en rapidité .
Si dans la foulée vous avez des solutions d'amélioration des codes ; JE PRENDS .
Merci à tous
http://www.cjoint.com/c/ELsmxBTzR8A -
Bonjour,
Au premier rabord,
Code:
_manque le fonction mygif qui donne le chemin et le nom de l'image
_Il faut des DoEvents a chaque boucle de comptage
pour l'optimisation, je regarde car en effet c'est plutot long en traitement
Homer cour alertement: https://www.cjoint.com/c/ELsne6BD0If
Au deuxieme rabord, quand vous faites des blocs With End With, n'oubliez pas de mettre un point devant les range ou cells qui sont de la feuille definie par le With
Mettre les lettres de colonnes en majuscule -
Re,
Pour l'instant:
un fichier sans gif (env.23s) et un fichier avec gif(env.32s) au lieu des 175s du depart:
https://www.cjoint.com/c/ELsqfzUBC2f
A+ -
Génial
Je me doutais bien qu'il y avait un lien avec les "do events".
"Homer" courT maintenant pendant l'execution des macros . ( désolée pour l'oubli de la fonction )
Justement en parlant des macros j'ai modifié comme vous me l'avez suggéré ;
Mais je ne gagne pas en vitesse.( je n'en perds pas non plus )
Si vous avez d'autres propositions pour gagner quelques secondes !!!!
MERCI et MERCI -
coucou
pour masquer les colonnes sans boucle (gain de temps si beaucoup de procédures identiques ?)
maquette perso à adapter
ref = Range("H2")
cellule = Rows(1).Find(ref, Range("A1"), xlValues).Address
Range("B1:" & cellule).EntireColumn.Hidden = True -
Bien vu !!!!!!
J'adapte à toutes mes procédures "masquages colonnes"
merci -
Bonjour,
Mais je ne gagne pas en vitesse.( je n'en perds pas non plus ) Il n'y a pas que les modifs que j'ai suggérées a faire (celles-ci visaient a ca que "Bar Simpson" marche des le debut et surtout a eviter, pour les points, d'ecrire dans n'importe qu'elle feuille), regardez le fichier que j'ai mis a dispo le f894009 18 déc. 2015 à 17:05
Je vais ajouter la modif de masque colonne(s) de michel_m (merci de l'infos) et voir pour la mise en forme des cellules, y a surement kake chose a faire (deux boucles gastronomiques) et epithete qu'il y a plus a gratter
Renseignement pris, c'est "Bar Simpson" pas "Homer Simpson" -
Bonjour Julia, F89
F89, tu bosses sur quelle macro , histoire de ne pas partir dans tous les coins ?
-
Bonjour,
Sub PLANQ1SSRNUT()
etSub affichnut()
voila ou j'en suis:: https://www.cjoint.com/c/ELtkrHpPQjf
-
-
-
Bonsoir
un autre machin pour faire patienter
temps pratiquement identique avec ou sans barre de progression
env 5,5 secondes pour remplir 256000 cellules texte
http://www.cjoint.com/c/ELtqiIgTb6O
-
Re,
Fichier Julia Namor:
calcul excel en manu:
Sans "Bart Simpson": 8.3
Avec "Bart Simpson": 11.2
c'est quand meme mieux a defaut d'etre top......-
Re Michel_m,
en modifiant ton fichier comme suit, perf a peu pres equivalente :
https://www.cjoint.com/c/ELujFAZxdbf
-
-
Bonjour à tous
Vous avez fait du bon boulot .
Merci f894009 , j'ai adapté les codes optimisés et le GIF d'attente à mon fichier d'origine, tout fonctionne ; les macros s'executent en 13 secondes environ entre l'apparition de Bart et la fin de la procédure.
je trouve cette durée correcte vu le nombre de macros exécutées et..... Bart égaye un peu pendant l'attente .
Mention spéciale pour le regroupement des modules par types: cela permet d'y voir plus clair.
Merci michel: je me garde ta proposition sous la main. Elle pourra me servir ultérieurement pour d'autres traitements ....
Bien cordialement