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 :

Lenteur execution macros [XL-2007]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de C15nantes
    Homme Profil pro
    retraité
    Inscrit en
    Février 2011
    Messages
    383
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : retraité
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2011
    Messages : 383
    Par défaut Lenteur execution macros
    Bonjour à tous et à toutes,

    J'ai un classeur pour gérer ma cave (13 colonnes / 177 lignes actuellement / 1 seule colonne avec calcul basique)

    J'ai plusieurs macros pour la plupart sont très longues à s’exécuter
    Par exemple celle ci dessous s’exécute en 43 secondes avec le fait qu'au bout de 30 secondes environ j'ai un problème d'affichage du haut de ma feuille ou j'ai mis des boutons de déclenchement:

    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
    30
    31
    32
    33
    Sub Nouvelle_entrée()
    '
    ' Nouvelle_entrée Macro
    '
     
    '
     
        Application.EnableEvents = False
     
        Application.ScreenUpdating = False
     
     
        Range("A12:M12").Select
        Selection.Copy
        Range("A12").Select
        Selection.Insert Shift:=xlDown
        Range("A12:M12").Select
        Application.CutCopyMode = False
        Selection.ClearContents
        Range("K12").Select
        ActiveCell.FormulaR1C1 = "=RC[-2]*RC[-1]"
     
        Range("A12").Select
        ActiveCell.Value = Date
     
        Application.EnableEvents = True
     
        Application.ScreenUpdating = True
     
     
     
     
    End Sub
    La ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Application.EnableEvents = False
    Est liée au fait que pour une feuille j'ai la procédure suivante
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Private Sub Worksheet_Change(ByVal Target As Range)
     
      Range("I12").Select
     If Not Intersect(Target, Columns("I")) Is Nothing Then
          Target.Offset(0, -8).Value = Date
      End If
     
    End Sub
    Enfin pour info, même une suppression de ligne dure longtemps.

    Merci de votre aide.

    Bonnes fêtes à tous et à toutes

    C15nantes

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour,
    Quel est l'intérêt de la ligne 14 copy vue que tu ne fais pas de paste (coller)?

    Est-ce que la gestion de ta cave te poses problème à toute heure de la journée ou seulement aux heures de l'apéritif!

    N'utilises pas de select mais fusionne les select et sélection.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Range("A12:M12").Select
        Selection.Copy
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Range("A12").Value = Date
    Dernière modification par Invité ; 27/12/2015 à 13h17.

  3. #3
    Membre éclairé Avatar de C15nantes
    Homme Profil pro
    retraité
    Inscrit en
    Février 2011
    Messages
    383
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : retraité
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2011
    Messages : 383
    Par défaut
    Bonjour,

    J'ai trouvé la raison de cette lenteur d'exécution.

    J'avais trop de MEFC, notamment liées à des formules ; j'ai sérieusement simplifié et cela va mieux.

    Bonne journée

    C15nantes

  4. #4
    Membre confirmé

    Femme Profil pro
    Chercheur en informatique
    Inscrit en
    Décembre 2015
    Messages
    130
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 39
    Localisation : Maroc

    Informations professionnelles :
    Activité : Chercheur en informatique

    Informations forums :
    Inscription : Décembre 2015
    Messages : 130
    Billets dans le blog
    1
    Par défaut Lenteur execution macros
    Tu peux ajouter une ligne au debut de ton macro qui render le calcul manual et à la fin du code tu le retourne automatic.

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

Discussions similaires

  1. [XL-2007] Lenteur execution macro
    Par francky62000 dans le forum Macros et VBA Excel
    Réponses: 10
    Dernier message: 10/12/2011, 19h25
  2. vb6 ou vba - lenteur execution macro sur excel 2007
    Par Enigme dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 26/03/2010, 13h50
  3. Execution Macro Access
    Par BODIGUEL dans le forum Access
    Réponses: 1
    Dernier message: 11/09/2006, 09h40
  4. [access] exécuter macro sur chaque enregistrement
    Par alain105d dans le forum Access
    Réponses: 3
    Dernier message: 26/04/2006, 15h50
  5. Réponses: 4
    Dernier message: 19/05/2005, 11h51

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