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 :

[VBA] Masquer ligne si valeur = 0


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Inscrit en
    Août 2008
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 2
    Par défaut [VBA] Masquer ligne si valeur = 0
    Bonjour à tous,

    Voici mon problème:

    Je dois administrer un tableur dans lequel figure toute une série de renseignements dont, en colone H, une valeur numérique.

    Je voudrais masquer les lignes entières pour lesquelles la valeur en H est égale à 0.

    Sur excel 2003, j'utilisais ce code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Dim I As Long
    Dim Plage As Range
    Set Plage = Range("H1:H" & Range("H1").End(xlDown).Row)
    For I = Plage.Cells.Count To 1 Step -1
        If Plage.Cells(I).Value = 0 Then
            Plage.Cells(I).EntireRow.Hidden = True
        End If
    Next
    Celà fonctionnait parfaitement et en un claquement de doigt le tour était joué.

    Malheureusement, mon boss a cru bon de changer et de passer sous la suite office 2007.

    Ce code fonctionne toujours aussi bien, mais mon problème est que ca prends facilement 2-3 minutes pour faire le tri sur 1200 lignes... et ce fichier pourrait atteindre très vite les 10.000 lignes... ca prendra alors beaucoup trop de temps.

    Auriez-vous un autre code que celui-ci qui ferait la même chose, mais qui irait plus vite?

    Merci d'avance pour vos lumières.

  2. #2
    Membre Expert
    Avatar de zazaraignée
    Profil pro
    Étudiant
    Inscrit en
    Février 2004
    Messages
    3 174
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2004
    Messages : 3 174
    Par défaut
    Je ne connais pas Office 2007 mais je suis prise d'un affreux doute (ha! les affres du doute!). La version VBA de Office 2007 ne serait-elle pas .NET ?

    [edit]
    C'est bien ce que je craignais...
    http://msdn.microsoft.com/fr-fr/library/aa338197.aspx

  3. #3
    Candidat au Club
    Inscrit en
    Août 2008
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 2
    Par défaut
    Et c'est grave docteur??? :p

  4. #4
    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 : 62
    Localisation : Belgique

    Informations professionnelles :
    Activité : Engineering

    Informations forums :
    Inscription : Février 2008
    Messages : 3 900
    Par défaut
    Bonjour,

    Ceci ne pourrait pas convenir ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Sub test()
         Range("H1").AutoFilter Field:=1, Criteria1:="<>0"
    End Sub

Discussions similaires

  1. [XL-2010] Filtre automatique de lignes selon valeur avec VBA
    Par kit2412 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 28/06/2013, 01h09
  2. [XL-2010] Filtre automatique de lignes selon valeur avec VBA
    Par kit2412 dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 27/06/2013, 13h54
  3. Réponses: 2
    Dernier message: 17/06/2010, 16h03
  4. [VBA Excel]Masquer lignes en couleur
    Par macat dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 30/07/2008, 16h04
  5. [VBA] Masquer les sélecteurs de ligne/colonnes (1,2..,A,B,C)
    Par skual dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 02/03/2006, 08h52

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