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 :

[VBA -E] Sablier pendant que le programme VBA tourne


Sujet :

Macros et VBA Excel

  1. #1
    Membre à l'essai
    Inscrit en
    Janvier 2007
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 13
    Points : 11
    Points
    11
    Par défaut [VBA -E] Sablier pendant que le programme VBA tourne
    Bonjour,

    J'ai un programe VBA qui doit traité un nombre grand de donnée. $

    J'aimerais par soucis de clareté faire apparaître un (grand) sablier durant tous le temps qu'il tourne (ou un message disant que le programme est en train de tourner "Datas are in process"-> comment faire disparaître ce message informatif quand le programme a fini de tourner ??).

    Quelqu'un connaitrait-il les instructions pour ce problème.

    Merci d'avance,

    Antoine

  2. #2
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Points : 15 543
    Points
    15 543
    Par défaut
    On manque d'infos. Le contexte : Utilises-tu un userform ? Ton message, comment l'affiches-tu ? Un cadre ? Un userform ?
    Comment se produit la fin de la procédure "in progress" ? C'est là que tu dois faire disparaître ton message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    LeCadre.visible = false
    'ou
    LeMessage.Unload
    'ou ??????
    Bref, on manque vraiment d'infos

  3. #3
    Membre à l'essai
    Inscrit en
    Janvier 2007
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 13
    Points : 11
    Points
    11
    Par défaut oups
    ok, c'est vrai que ca manque d'info.

    Pour le message, je comptait en faire apparître un du type
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    MsgBox "Datas in process"
    Mais, c'est un boite de dialogue tandis que j'aimerais juste faire apparaître une boite d'info....

    Mon programm s'arrête quand il a fini toute les instructions de la macro
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Public Sub ProcessData()
    'appel d'autre macros
    End Sub
    Donc, je pourrais mettre qql chose de ce genre juste avant la fin de ma macro "Process Data"
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    MonMessage.visible = False
    Merci d'avance

    Antoine

  4. #4
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Points : 15 543
    Points
    15 543
    Par défaut
    Citation Envoyé par antoine.dandois
    Donc, je pourrais mettre qql chose de ce genre juste avant la fin de ma macro "Process Data"
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    MonMessage.visible = False
    En effet, c'est à ça que je pensais, quant à ton message, le msgbox n'est pas adapté, donc il te reste le choix entre un label sur la feuille de calculs, que tu fais apparaître avant lancement de ta procédure (au début de...) et un userform avec un label, que tu décharges avant le End sub de ta procédure.
    Avec l'userform, peut-être même si tu reste sur la feuille, tu peux même ajouter un sablier dans le curseur de ta souris

  5. #5
    Membre à l'essai
    Inscrit en
    Janvier 2007
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 13
    Points : 11
    Points
    11
    Par défaut ok
    un MsgBox n'est effectivement pas adapté, j'aimerais donc utiliser un label sur la feuille de calcul d'ou ma question, comment fair eapparâitre un label sur la feuille de calcul ??
    Est ce aussi facile que de faire apparaître un MsgBox ??

    Merci d'avance,

    Antoine

  6. #6
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Points : 15 543
    Points
    15 543
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Sub CréerLeLabel()
        ActiveSheet.Labels.Add(706.5, 87.75, 99.75, 38.25).Select
        With Selection
            .Caption = "Le Process... il est en cours !"
        End With
    End Sub
     
    Sub supprimerLeLabel()
        With ActiveSheet.Shapes(1)
            .Delete
        End With
    End Sub
    Et tu peux même changer le commentaire

Discussions similaires

  1. Réponses: 3
    Dernier message: 02/11/2009, 21h40
  2. Réponses: 2
    Dernier message: 05/06/2007, 14h17
  3. [VBA-E] Help création d'un programme vba pour excel
    Par yampi dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 18/01/2007, 11h46
  4. Réponses: 5
    Dernier message: 18/04/2006, 16h53
  5. [VBA-E] Action dès que la valeur change.
    Par mulanzia2003 dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 26/02/2006, 14h03

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