Ouvrir fenêtre "calculs en cours".

massol

XLDnaute Junior
Bonjour,

Est-il possible dans une macro d'ouvrir une fenêtre indiquant que le calcul est en cours ? Cette fenêtre doit bien sûr se fermer dès que le calcul est terminé. D'autre part où faut-il positionner ces éventuelles lignes de codes (avant la boucle de calcul puis en ferme à la fin ? dans la boucle ? ...).

Merci par avance.

Cordialement. :confused::confused:
 

Dranreb

XLDnaute Barbatruc
Re : Ouvrir fenêtre "calculs en cours".

Bonjour.
Si le nombre de passages dans la boucle est connu, voici une barre d'avancement sophistiquée mais simple à utiliser.
Cordialement.
 

Pièces jointes

  • BarreAv.xls
    82.5 KB · Affichages: 76
  • BarreAv.xls
    82.5 KB · Affichages: 76
  • BarreAv.xls
    82.5 KB · Affichages: 75

massol

XLDnaute Junior
Re : Ouvrir fenêtre "calculs en cours".

bonjour,

Je dois préciser que je suis débutant dans la création de macros. Les deux applis fonctionnent mais alors j'ai dû mal à comprendre comment tout cela fonctionne et surtout peut être appliqué à mon appli.
Dranreb : fonctionne très bien mais je suis infoutu de le reproduire sur mon (mes) applis. Je rappelle que je débute.
Mécano41 : fonctionne également très bien mais je ne comprends pas pourquoi (c'est normal je débute) il y a du code à 3 endroits.

Merci.

Cordialement.
 

Dranreb

XLDnaute Barbatruc
Re : Ouvrir fenêtre "calculs en cours".

Oui.
Heu je me ferais un plaisir de vous expliquer comment marche mon truc mais je ne sais par où commencer.
Vous parlez de boucle de calcul. Je supose donc que vous en avez écrit une.
Juste avant la boucle:
VB:
Tâche "Calcul", NbrPassagesPrévus, "opé." ' <--- Lancement UfBarAv
Juste avant le Next:
VB:
Call OùÇaEnEst
Bien sûr, le module BarreÉtat doit être copié dans votre projet VBA (Il suffit de traîner son nom avec la souris dans l'explorateur de projet)
Pareil pour l'UfBarAv dans la rubrique Feuilles.
 
Dernière édition:

massol

XLDnaute Junior
Re : Ouvrir fenêtre "calculs en cours".

Bonjour,

Quelques explications : La macro dont je parle permet de rapatrier dans un fichier EXCEL ouvert de nombreuses informations situées dans des fichiers EXCEL fermés --> voir fichier joint. Tous les fichiers EXCEL fermés se situent dans un même répertoire (\\Srv2000\users\FICHES_CONTACTS).

Je précise : le code a été réalisé à 99,9 % par un développeur du site (voir fichier joint).

Je serais bien sûr extrêmement intéressé de comprendre la démarche que vous adoptez sur ce cas précis. Je suis débutant (je me classerai même dans la catégorie "pour les nuls" c'est dire).

En vous remerciant par avance.

Cordialement. :):)
 

Pièces jointes

  • Recap_FC_3.xls
    114 KB · Affichages: 56
  • Recap_FC_3.xls
    114 KB · Affichages: 57
  • Recap_FC_3.xls
    114 KB · Affichages: 59

Dranreb

XLDnaute Barbatruc
Re : Ouvrir fenêtre "calculs en cours".

Pas de problème: si tout ça marche déjà vous pouvez utiliser .FoundFiles.Count comme deuxième paramètre de ma procédure "Tâche" et mettre un OùÇaEnEst avant le Next lCount
 

mécano41

XLDnaute Accro
Re : Ouvrir fenêtre "calculs en cours".

Dans mon fichier :

- fais ALT+F11. Tu entres dans l'environnement appelé VBE. C'est là que sont les divers codes
- fais Affichage puis Explorateur de projet ; cela mets une colonne à gauche
- dans cette colonne, sous VBA Project (Essai1.xls), tu fais un double-clic sur feuil1. Là, c'est le code gérant le bouton de lancement placé sur cette page.
- plus bas, dans la rubrique Feuilles, tu verras : Userform1. C'est le nom de l'Userform (USF) qui est la boîte de dialogue qui contiendra le message (tu verras plus loin). Si tu cliques dessus, tu vois l'USF lui-même ; si tu fais un clic droit dessus puis "Code", tu vois le code correspondant à cet USF.
- plus bas, dans la rubrique Modules, tu verras : Module1. Là, c'est le code du module effectuant le calcul (que j'ai simulé par une boucle bidon)

Lorsque tu cliques le bouton, le code de feuil1 lance l'ouverture de l'USF par "UserForm1.Show". A l'ouverture de l'USF, le code de celui-ci est exécuté. On commence par remplir l'étiquette : Label1 = "Calcul en cours ....". On réaffiche l'USF par UserForm1.Repaint puis on lance l'exécution du calcul. Lorsque celui-ci sera terminé, le code "Unload UserForm1" fermera l'USF.


J'ai adapté ces codes à ton fichier (j'ai remplacé ton bouton par un bouton d'USF pour lancer l'ouverture de l'USF). Vérifie avec une action réelle si tout va bien...

Cordialement
 

Pièces jointes

  • Copie de Recap_FC_3.xls
    124.5 KB · Affichages: 62
Dernière édition:

massol

XLDnaute Junior
Re : Ouvrir fenêtre "calculs en cours".

bonjour,

J'ai beau lire dans tous les sens votre message, je n'y comprends strictement rien. Je rappelle que je débute (--> rubrique "pour les nuls" : cette rubrique devrait être rajoutée sur le site). Je suis à des années lumières de capter votre message, réservé à des spécialistes, du moins à des personnes créant de façon régulière des macros. A ce jour j'en suis à créer des macros en faisant "Outils / macro / nouvelle macro". Je ne suis pas encore au VBA, du moins je bricole très très très peu le VBA. J'espère que cela vous permettra de mieux appréhendre mon (très) faible niveau dans ce domaine. Il est clair que je perçois les immenses possibilités offertes par les codes VBA mais je suis encore très très loin d'avoir un niveau correct en programmation.

Cordialement.
 

Dranreb

XLDnaute Barbatruc
Re : Ouvrir fenêtre "calculs en cours".

Si vous voulez bien me permettre ceci sans aucune intention agressive: cessez de vous réfuger derrière votre certitude d'être nul et exposez nous chaque étape où vous coincez...
 

Discussions similaires

Statistiques des forums

Discussions
312 333
Messages
2 087 378
Membres
103 529
dernier inscrit
gonzi