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 :

Optimiser le classique "Masquer les lignes dont la valeur = o" [XL-2010]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2016
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2016
    Messages : 14
    Par défaut Optimiser le classique "Masquer les lignes dont la valeur = o"
    Bonjour,

    J'ai une macro très très classique qui masque les lignes pour lesquelles la colonne D contient "o".
    Ma macro fonctionne et j'ai essayé de délimiter au mieux la zone de recherche pour optimiser la vitesse d'exécution, mais c'est toujours trop lent (environ 5 secondes pour 1000 lignes).

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    With Application
                .EnableEvents = False
                .Calculation = xlCalculationManual
                .ScreenUpdating = False
                .DisplayStatusBar = False
            End With
            ActiveSheet.DisplayPageBreaks = False
     
    LstRw = Range("LstRw").Row ' la dernière cellule de mon fichier est nommée
        For Each c In Range("D1:D" & LstRw)
            If c.Value = "o" Then c.EntireRow.Hidden = True
        Next
    Je ne trouve rien de satisfaisant
    Comment faire pour optimiser au mieux cette macro s'il vous plait ?

  2. #2
    Expert éminent
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Par défaut

    Bonjour, bonjour !

    Déjà il n'y aurait même pas besoin de code en utilisant un filtre !
    Et un filtre même par code est assez rapide …

    Voilà, voilà !


    _________________________________________________________________________________________________________
    Je suis Paris, Charlie, Bruxelles, …

  3. #3
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2016
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2016
    Messages : 14
    Par défaut
    Aaaah, superbe ! Merci beaucoup Marc-L !
    Eviter les boucles est toujours très bénéfique

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

Discussions similaires

  1. Réponses: 0
    Dernier message: 10/10/2013, 12h29
  2. Supprimer les lignes dont la valeur du deuxième champ est égale à 13
    Par mond14 dans le forum Shell et commandes GNU
    Réponses: 5
    Dernier message: 21/05/2013, 13h26
  3. Réponses: 4
    Dernier message: 24/01/2013, 14h57
  4. Réponses: 2
    Dernier message: 27/02/2008, 18h45
  5. Réponses: 5
    Dernier message: 24/07/2006, 14h01

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