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 :

Masquer des étapes d'execution d'une macro [XL-2003]


Sujet :

Macros et VBA Excel

  1. #1
    Membre confirmé
    Inscrit en
    Avril 2009
    Messages
    128
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 128
    Par défaut Masquer des étapes d'execution d'une macro
    Bonjour,

    J'ai développé une macro avec de nombreuses opération de Copier/Coller.

    A l'exécution de la macro, toutes ces opérations sont visibles à l'utilisateur. Y a t-il un moyen de les masquer ?

    Merci d'avance pour vos réponses.

    Cdlt

    Denis

  2. #2
    Membre émérite
    Avatar de ouisansdoute
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    931
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 931
    Par défaut
    Bonjour,

    Tu peux désactiver la mise à jour de l'écran avec le code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Application.ScreenUpdating=False
    ATTENTION n'oublie pas à la fin de ta macro de remettre à True
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Application.ScreenUpdating=True

  3. #3
    Membre confirmé
    Inscrit en
    Avril 2009
    Messages
    128
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 128
    Par défaut
    Merci pour ce retour rapide.

    J'ai intégré les 2 commandes, mais j'ai toujours le défilement des écrans ...

  4. #4
    Membre émérite
    Avatar de ouisansdoute
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    931
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 931
    Par défaut
    Peux-tu nous joindre ton code ?

  5. #5
    Membre confirmé
    Inscrit en
    Avril 2009
    Messages
    128
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 128
    Par défaut
    Bonjour,

    Ci-après le code :

    Sub Parcourir()
    '
    ' Parcourir Macro
    ' Macro enregistrée le 11/05/2009
    '
    ToOpen = Application.GetOpenFilename
    Workbooks.Open (ToOpen)
    MaSource = ActiveWorkbook.Name 'Prend le nom du fichier actif, par défaut celui que tu viens d'ouvir
    '
    Application.ScreenUpdating = False
    '
    ' Récupération de "Export Devis MEO"
    '
    Sheets("Export Devis MEO").Select
    Cells.Select
    Selection.Copy
    Windows("fiche devis_2009.XLS").Activate
    Sheets("Export Devis MEO").Select
    Cells.Select
    Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
    False, Transpose:=False
    '
    ' Récupératuion de "Export Devis Exploit"
    '
    Windows(MaSource).Activate
    Sheets("Export Devis Exploit.").Select
    Cells.Select
    Selection.Copy
    Windows("fiche devis_2009.XLS").Activate
    Sheets("Export Devis Exploit").Select
    Cells.Select
    Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
    False, Transpose:=False
    '
    Application.ScreenUpdating = True
    '
    Windows(MaSource).Activate
    ActiveWorkbook.Close
    '
    Sheets("Repartition des charges").Select
    '
    End Sub

  6. #6
    Membre confirmé
    Inscrit en
    Avril 2009
    Messages
    128
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 128
    Par défaut
    Bonjour,

    Egalement une autre question dans la foulée de celle-ci.

    Comment en fin de phase Copier/Coller, inhiber les questions "Voulez-vous mettre à jour ..." et "Vouler-vous vider le presse-papier ..." ?

    Merci d'avance

  7. #7
    Membre émérite
    Avatar de ouisansdoute
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    931
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 931
    Par défaut
    Bonjour,

    Pour moi la mise à jour écran est bonne dans ta macro. Si tu l'exécutes en mode débug tu vois effectivement les étapes mais si tu l'exécutes en mode normal, on ne voit pas toutes les successions d'écran.

    Pour ne pas avoir les messages d'alerte, ces fenêtres apparaissent lors de l'instruction close. On peut encadrer la fonction Close avec l'instruction
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Application.DisplayAlerts = False
        Workbooks(MaSource).Close
    Application.DisplayAlerts = True
    par ailleurs ton code est simplifiable : (attention aux feuilles nommées parfois Export Devis Exploit et parfois Export Devis Exploit.

    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
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    Sub Parcourir()
    Dim ToOpen As String
    Dim MaSource As String
     
    ' Parcourir Macro
    ' Macro enregistrée le 11/05/2009
    '
    ToOpen = Application.GetOpenFilename
    Workbooks.Open (ToOpen)
    MaSource = ActiveWorkbook.Name 'Prend le nom du fichier actif, par défaut celui que tu viens d'ouvir
    '
    Application.ScreenUpdating = False
    '
    ' Récupération de "Export Devis MEO"
    '
    Sheets("Export Devis MEO").Cells.Copy Workbooks("fiche devis_2009.xls").Sheets("Export Devis MEO").Range("A1")
    '
    ' Récupératuion de "Export Devis Exploit"
    '
    Windows(MaSource).Activate
    Sheets("Export Devis Exploit").Cells.Copy Workbooks("fiche devis_2009.xls").Sheets("Export Devis Exploit").Range("A1")
     
    Application.DisplayAlerts = False
        Workbooks(MaSource).Close
    Application.DisplayAlerts = True
     
    Application.ScreenUpdating = True
     
    End Sub

  8. #8
    Membre confirmé
    Inscrit en
    Avril 2009
    Messages
    128
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 128
    Par défaut
    Merci beaucoup pour votre aide.

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 02/05/2014, 02h24
  2. Réponses: 2
    Dernier message: 21/04/2012, 18h01
  3. [AC-2002] comment masquer l'execution d'une macro
    Par logidev dans le forum IHM
    Réponses: 4
    Dernier message: 19/06/2009, 15h48
  4. [XL-2003] Masquer des étapes d'execution d'une macro
    Par denisw95 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 08/06/2009, 18h33
  5. execution d'une macro d'access sous delphi
    Par galendor_d'ambre dans le forum Bases de données
    Réponses: 6
    Dernier message: 10/02/2004, 16h58

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