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 :

Instruction "For" qui est lente suite à un PrintPreview


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 12
    Par défaut Instruction "For" qui est lente suite à un PrintPreview
    Bonjour à tous,
    Le code ci-dessous sert à présenter, en prévisualisation, ma feuille de travail mais auparavant il masque les lignes inutiles à l'aide d'une instruction "For".
    La première fois que je l'active elle fonctionne normalement mais si je l'active une deuxième fois elle est vraiment lente.
    J'ai fais le test d'enlever l'instruction PrintPreview et le code s'est déroulé rapidement sans aucune lenteur.
    Merci à l'avance!

    Marc

    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
     
    Public Sub ImpressionPageActuelleTest()
     
        Application.ScreenUpdating = False
        ActiveSheet.Unprotect
        Application.Calculation = xlCalculationManual
     
        i = 1
            For i = 1 To 533
            If Range("A" & i).Value = 0 Then
                Range("A" & i).EntireRow.Hidden = True
            End If
        Next i
     
        ActiveSheet.PrintPreview
     
        Range("D13").Select
     
    End Sub

  2. #2
    Inactif  

    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2012
    Messages
    4 903
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2012
    Messages : 4 903
    Billets dans le blog
    36
    Par défaut
    Bonjour,

    Vite fait comme cela, cela me fait penser à une mémoire vive encombrée. Regarde la mémoire vive disponible avant, pendant et après.

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 12
    Par défaut
    Bonjour,
    J’ai fais le test au niveau de la mémoire vive et elle passe de 23mo à 28mo seulement donc c’est plus comme si l’instruction For fonctionnait au ralenti après une fois.
    Merci de votre aide.

  4. #4
    Membre Expert
    Profil pro
    Inscrit en
    Février 2007
    Messages
    2 266
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 2 266
    Par défaut
    Bonjour,

    Soit tu changes ta façon de masquer les lignes (filtrer), soit tu remets en affichage normal au début, après le .ScreenUpdating=false.
    eric

Discussions similaires

  1. Identifier ce qui est lent dans un traitement
    Par juvamine dans le forum Développement
    Réponses: 9
    Dernier message: 19/10/2010, 16h29

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