IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Message informatif "permanent"


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Juin 2007
    Messages
    25
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 25
    Par défaut Message informatif "permanent"
    Bonjour à tous

    Je réalise un calcul qui dure entre 30 secondes et 3 minutes.
    Pour que l'utilisateur ne plante pas Excel pendant ce temps, je souhaite afficher un message qui reste tout le long de l'opération.

    Je ne souhaite pas afficher un msgbox avec un timer... ce qui serait bien trop gourmand en mémoire je pense... et ralentirait bcp le programme...

    Y aurait-il une méthode simple svp?

  2. #2
    Inactif  

    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    4 555
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 4 555
    Par défaut
    Il te suffit d'un label disant " OPERATION EN COURS POUVANT DURER 3 MINUTES - PATIENTEZ S'IL VOUS PLAIT..." placé dans un container (Frame ou Userform) rendu visible au début de l'opération et invisible à la fin ...

  3. #3
    Membre averti
    Inscrit en
    Juin 2007
    Messages
    25
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 25
    Par défaut
    Je viens d'essayer.

    J'ai crée un userform (wait), j'y ai mis le label, et lorsque je lance mon calcul, j'ai écris:

    wait.show

    Mais du coup, pour lancer le calcul, je dois cliquer sur la croix (fermer) de ce userform...

    Tu disais de faire ca? Si oui, cela ne convient pas, je souhaite qu'un message s'affiche et que le calcul se déroule

  4. #4
    Inactif  

    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    4 555
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 4 555
    Par défaut
    Déjà :

    appeler un objet Wait n'est pas très astucieux ...

    Ensuite :

    c'est au début de ton calcul, que tu dois montrer l'autre userform (sans décharger le tien !). Ton calcul va se poursuivre...
    Et c'est à la fin de ton calcul, que doit figurer une instruction (Hide ou unload) déchargeant le userform qui affiche ton message d'attente !

    on récapitule :

    depuis userform1 :

    1) lancer le calcul
    2) montrer userform2 et le mettre en 1er plan (zorder)
    3) à la fin du calcul : userform2.hide ou (mieux) Unload UserForm2

  5. #5
    Membre averti
    Inscrit en
    Juin 2007
    Messages
    25
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 25
    Par défaut
    1) Je lance userform1 pour sélectionner un mois de départ pour le calcul
    2) Quand OK alors je lance un module pour démarrer le calcul
    3) DANS ce module, avant de faire les calculs, j'ai mis:
    wait.show (vaut mieux mettre un nom simple et compréhensible... plutot qu'un userform1,2,3... non ?)
    4) Mais du coup, mon userform s'affiche... il y a bien le label, MAIS je dois cliquer sur FERMER pour continuer... ==> Le problème est bien là

    Pour le décharger pas de soucis, mais comment continuer mon calcul sans cliquer sur fermer wait... ?

  6. #6
    Inactif  

    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    4 555
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 4 555
    Par défaut
    1) trouve un autre nom que Wait (celà t'évitera un jour des plantages si tu utilises un jour une certaine fonction de l'Api de Windows ...) ...

    Chépamoa ... Attente, Patience, toto, bidule, ... mais évite Wait


    2) où et comment as-tu mis le code de déchargement de ton userform d'attente ?

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo