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 :

Comment bloquer les message d'excel dans la statusbar ?


Sujet :

Macros et VBA Excel

  1. #1
    Membre averti
    Inscrit en
    Juillet 2007
    Messages
    42
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 42
    Par défaut Comment bloquer les message d'excel dans la statusbar ?
    Bonjour,

    Je suis en train de coder une macro pour rappatrier et traiter des fichiers de données. Le rappatriement étant long, j'affiche l'evolution dans la "statusbar" par un :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    application.statusbar = "Fichier " & nom_fichier" & " en cours de traitement"
    Jusque là tout va bien. Mais dans mon traitement, j'effectue des copier/coller qui s'affiche également dans ma statusbar et efface du coup mon message d'avancement.
    Comment puis je bloquer ces messages automatiques d'excel ??

    Merci d'avance de votre aide

    EDIT : Apparemment, mon message d'avancement disparait des que je selectionne une zone par "range(xx,yy).select"

  2. #2
    Membre Expert
    Avatar de JackOuYA
    Inscrit en
    Juin 2008
    Messages
    1 040
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 1 040
    Par défaut
    Citation Envoyé par a_centaure Voir le message
    ....
    EDIT : Apparemment, mon message d'avancement disparait des que je selectionne une zone par "range(xx,yy).select"
    bonsoir, et bien ne fait pas de select, dans la plus part des cas c'est inutile.

  3. #3
    Membre éclairé Avatar de laloune
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Mai 2005
    Messages
    487
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Allemagne

    Informations professionnelles :
    Activité : Consultant en Business Intelligence

    Informations forums :
    Inscription : Mai 2005
    Messages : 487
    Par défaut
    effectivement

    si je peux me permettre de mettre mon grain de sel...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Range(xx,yy).Select
    Selection.Copy
    c'est pareil que

    sauf que le premier prend 2 lignes, et le second 1

  4. #4
    Membre émérite
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    753
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 753
    Par défaut
    Pourquoi ne pas afficher un formulaire qui se met à jour? Ca se voit mieux, c'est à peine plus compliqué, et ça se voit mieux!

    Les objets Shape pourraient aussi t'être utile (mais bon perso je trouve pas ça très pratique):
    http://www.developpez.net/forums/d52...-just-for-fun/

  5. #5
    Membre averti
    Inscrit en
    Juillet 2007
    Messages
    42
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 42
    Par défaut
    bonsoir, et bien ne fait pas de select, dans la plus part des cas c'est inutile.
    En fait je suis en train de debugguer une version de macro deja assez complexe. Je ne reprends pas tout... j'essayerai ta methode

    Citation Envoyé par decondelite Voir le message
    Pourquoi ne pas afficher un formulaire qui se met à jour? Ca se voit mieux, c'est à peine plus compliqué, et ça se voit mieux!

    Les objets Shape pourraient aussi t'être utile (mais bon perso je trouve pas ça très pratique):
    http://www.developpez.net/forums/d52...-just-for-fun/
    le formulaire qui se met à jour, c'est une barre de progression c'est ca?
    sinon je regarderai les objet sharp.
    En tout cas merci

  6. #6
    Membre émérite
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    753
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 753
    Par défaut
    Le formulaire que tu mets à jour, ça peut être ce que tu veux.

    Mettre une barre de progression dedans, je sais pas si c'est faisable, mais quand on voit comment fring a fait sa progressbar je me dis que ça doit pas être impossible de faire d'une façon similaire dans un formulaire.

  7. #7
    Membre averti
    Inscrit en
    Juillet 2007
    Messages
    42
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 42
    Par défaut
    Citation Envoyé par decondelite Voir le message
    Le formulaire que tu mets à jour, ça peut être ce que tu veux.

    Mettre une barre de progression dedans, je sais pas si c'est faisable, mais quand on voit comment fring a fait sa progressbar je me dis que ça doit pas être impossible de faire d'une façon similaire dans un formulaire.
    J'ai essayé la solution du

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Range(Cells(a, b), Cells(c, d)).Copy
    ca marche bien. Sauf qu'un peu plus loin, je refixe mon courseur en haut de la page avec

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Sheet_toto.Cells(1, 1).Select
    et là rebelotte (en fait c'est une sous routine d'une autre routine, et cette instruction est à la finde la sous routine...)

    Y a t-il une autre instruction que celle ci pour repositionner mon curseur en 1-1?

    Pour la barre, j'ai regardé, ce qui me gene c'est qu'il ecrit des infos dans la feuille (ca j'en veut pas, et j'ai deja 100 feuilles dans mon classeur (je ne sais pas jusqu'a quand je peux en mettre), faudrait que je modifie pour tout passer en variable et pour si peut, je n'ai pas franchement le temps..
    J'ai deja vu les formulaire avec une barre de progression, le probleme c'est que quand tu zappes la fenetre et que tu reviens dessus, ca devient blanc (ou gris, enfin plus de barre)

    donc pas top...

    merci

    a+

  8. #8
    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
    Par défaut
    Citation Envoyé par JackOuYA Voir le message
    bonsoir, et bien ne fait pas de select, dans la plus part des cas c'est inutile.

  9. #9
    Membre émérite
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    753
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 753
    Par défaut
    Citation Envoyé par a_centaure Voir le message
    J'ai deja vu les formulaire avec une barre de progression, le probleme c'est que quand tu zappes la fenetre et que tu reviens dessus, ca devient blanc (ou gris, enfin plus de barre)

    donc pas top...

    merci

    a+
    Userform.Repaint ou DoEvents à mettre au bon endroit.

  10. #10
    Membre averti
    Inscrit en
    Juillet 2007
    Messages
    42
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 42
    Par défaut


    oui enfin il y un minimum tout de meme, je ne peux pas mettre sheet(1).cells(1,1) tout seul, il lui faut le select derriere...

  11. #11
    Membre émérite
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    753
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 753
    Par défaut
    Citation Envoyé par laloune Voir le message
    effectivement

    si je peux me permettre de mettre mon grain de sel...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Range(xx,yy).Select
    Selection.Copy
    c'est pareil que

    sauf que le premier prend 2 lignes, et le second 1

    Et ça tu l'as lu?
    Je pense que c'était assez clair sur la manière de ne plus mettre de Select.

    Si on te conseille de bannir autant que possible les Select, c'est pour deux raisons:
    -1: tu n'as plus le curseur qui se balade de partout dans Excel
    -2: le programme est plus clair et plus rapide

  12. #12
    Expert confirmé
    Avatar de fring
    Homme Profil pro
    Engineering
    Inscrit en
    Février 2008
    Messages
    3 900
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : Belgique

    Informations professionnelles :
    Activité : Engineering

    Informations forums :
    Inscription : Février 2008
    Messages : 3 900
    Par défaut
    Citation Envoyé par a_centaure Voir le message
    oui enfin il y un minimum tout de meme, je ne peux pas mettre sheet(1).cells(1,1) tout seul, il lui faut le select derriere...
    pas besoin de Select (comme cela a été dit plusieurs fois)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    With Sheets(2)
        .Range(.Cells(1, 1), .Cells(10, 10)).Copy Sheets(1).Cells(1, 1)
    End With

  13. #13
    Membre averti
    Inscrit en
    Juillet 2007
    Messages
    42
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 42
    Par défaut
    non non, vous n'avez pas compris mon dernier post.

    Effectivement, j'avais bien compris pour le "copy", mais je ne parlais plus de ca.

    En fait à la fin de ma routine je replace le curseur en haut de ma feuille (cette routine pouvant etre la fin d'un processus ou au milieu d'autres routine).
    D'où l'utilisation su "select". Il n'y a pas d'uinstruction "copy" derriere.

    Sinon c'est bon j'ai resolu ce probleme. J'ai tout ce que je veux dans ma barre

    merci beaucoup

  14. #14
    Membre Expert
    Avatar de JackOuYA
    Inscrit en
    Juin 2008
    Messages
    1 040
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 1 040
    Par défaut
    Citation Envoyé par a_centaure Voir le message
    non non, vous n'avez pas compris mon dernier post.

    ...
    c'est toi qui n'as rien compris, nous sommes en train de te dire que cela ne sert à rien de bouger le curseur ! laisse le dans ta cellule A1 , tu n'aura pas à l'y replacer à nouveau .

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

Discussions similaires

  1. Réponses: 5
    Dernier message: 19/07/2014, 13h50
  2. Comment convertir les radians en grades dans le programme d'Excel ?
    Par riadinho dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 01/06/2013, 23h57
  3. Comment Intercepter les messages Excel en .net
    Par la mouette dans le forum VB.NET
    Réponses: 1
    Dernier message: 19/10/2008, 21h07
  4. Comment extraire les types des données dans un message SOAP
    Par demcoul dans le forum Services Web
    Réponses: 3
    Dernier message: 19/05/2008, 11h58
  5. Réponses: 2
    Dernier message: 27/09/2006, 11h35

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