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 :

Créer message information avec execution macro [XL-2007]


Sujet :

Macros et VBA Excel

  1. #1
    Membre confirmé
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Mars 2012
    Messages
    63
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Consultant en Business Intelligence

    Informations forums :
    Inscription : Mars 2012
    Messages : 63
    Par défaut Créer message information avec execution macro
    Bonjour!

    J'ai actuellement un projet VBA qui utilise plusieurs formulaires. Actuellement, quand l'utilisateur clique sur le bouton "Valider", cela va charger des données et vu que le nombre de données à charger est important, le temps d'exécution est assez long.
    Pour que l'utilisateur ne se dise pas "Excel à planté", je souhaiterai faire apparaitre un message d'information, sous forme de formulaire ou MsgBox, qui disent "Chargement en cour...Patientez".
    Mais je ne veux pas faire ça dans une feuille Excel car tout se passe dans les Userform.
    Le probleme, c'est que actuellement mes traitement se font via une sub de type "Private Sub btnValide_Click()".

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
     
    Private Sub btnChoosePortfolios_Click()
     
     
    'Message d'attente
    frmadvertisement.Show
     
    'definition de la plage de donnée de la liste des portefeuilles et Commandes
    Call createList("lstPortfolios")
    Call createListCommand("lstCommandName")
     
    Me.txtNameCommand.Visible = False
    Me.lblTitreCommand.Visible = True
    Me.lblTitreCommand.Caption = "Command's Name"
    Me.lstPortfolios.Visible = True
    Me.btnNewPortfolios.Visible = False
    Me.btnChoosePortfolios.Visible = False
    end sub
    Donc si j'affiche un formulaire depuis cette sub, qui afficherai le message, la macro s'arrete et ne continue pas tant que le formulaire est ouvert.
    Et evidemment, je ne vais pas rappeler ma sub, qui déjà est de type private, et va réexcuter la même chose etc...
    Je ne veux pas recreer une fonction, juste pour faire mes traitement, et ainsi multiplier le nombre d'appel de fonction inutilement...etc.

    Tout ca pour dire ce que je veux faire c'est:
    -Click sur le bouton
    -Ouvre le formulaire qui dit "Chargement en cour"
    -Reprise du code la ou il s'est "arrêter", c'est à dire a la ligne "frmAdvertisement.show".
    -Execution des traitements en laissant le formulaire d'avertissement ouvert
    -Fermeture du formulaire d'avertissement à la fin des traitements.

    Tout ça sans que l'utilisateur ait a cliqué sur "Ok" ou intervenir.

    Avez-vous une solution?
    J'espere avoir été clair dans mes explications...

  2. #2
    Membre Expert
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Novembre 2011
    Messages
    1 503
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Irlande

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : Novembre 2011
    Messages : 1 503
    Par défaut
    Bonjour Nelmech,

    Alors, si j'ai bien compris ta demande, le but initial est donc de montrer à l'utilisateur que ta macro est en cours.
    N'ayant jamais créer de barre de progression, je ne sais pas la faisabilité de la chose, mais j'ai lu beaucoup de sujet se résoudre grâce à ça.

    Je t'invite donc à lire (ou voir) les cours et tutoriels pour apprendre Excel : http://excel.developpez.com/cours/

    C'est une piste que je te donne.

    Cordialement,
    Kimy

  3. #3
    Membre confirmé
    Homme Profil pro
    Chargé d'Ingénierie et d'Analyses en Ressources Humaines
    Inscrit en
    Novembre 2012
    Messages
    63
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Chargé d'Ingénierie et d'Analyses en Ressources Humaines
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2012
    Messages : 63
    Par défaut
    Bonjour,

    Il y a également cette discussion qui a été créée hier sur les barres de progression avec un exemple fournit par rdurupt.

  4. #4

  5. #5
    Membre confirmé
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Mars 2012
    Messages
    63
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Consultant en Business Intelligence

    Informations forums :
    Inscription : Mars 2012
    Messages : 63
    Par défaut
    Re,

    Désolé du délais de réponse et merci à tous d'avoir répondu
    Vrai qu'au début, je ne voulais pas une barre de progression mais plutôt un message qui disait "Please Waiting" durant l'exécution. Je ne suis pas un fana des barres de chargement...
    Mais je l'ai quand même adoptée, en adaptant la solution proposée par Kymy_Ire. Merci à Toi et aux autres qui ont répondu!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Créer un document avec une macro
    Par mahdu972 dans le forum Général VBA
    Réponses: 2
    Dernier message: 12/04/2013, 16h44
  2. Réponses: 2
    Dernier message: 21/12/2010, 11h35
  3. message d'activation des macros avec Excel 2007
    Par moilou2 dans le forum Excel
    Réponses: 2
    Dernier message: 05/05/2008, 14h40
  4. Message d'attente durant execution macro
    Par Calimero06 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 28/04/2008, 17h41
  5. Réponses: 3
    Dernier message: 17/11/2006, 14h35

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