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 :

Filtres et Données


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Juin 2007
    Messages
    147
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 147
    Par défaut Filtres et Données
    Bonjour chers developpeurs,
    Je viens vous voir, comme vous pouvez vous en douter, pour vous exposez mon petit problème avec les filtres d'excell.

    J'ai appliquer un filtre à une série de valeur qui sont placé à la suite des unes et des autres. Lorsque les critères de filtrage sont selectionnés, alors les lignes non concernés sont masquées. Je voudrais pouvoir compter le nombre de ligne restante après le filtrage.

    Comment dois-je m'y prendre ?

    J'ai déja essayer ce code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Range("A1").End(xlDown).Select
    NbLigne = Range("A1" , "A" & ActiveCell.row). Count
    Le résultat est celui de la ligne finale : 11, au lieu d'être : 7

    Merci d'avance, n'hésitetz pas à me dire s'il manque des choses.

  2. #2
    Expert confirmé

    Homme Profil pro
    Inscrit en
    Août 2005
    Messages
    3 317
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2005
    Messages : 3 317
    Par défaut
    bonjour

    il existe plusieurs solutions

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    MsgBox Range("A1:A" & Range("A65536").End(xlUp).Row).SpecialCells(xlVisible).Count
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    MsgBox Feuil1.AutoFilter.Range.Columns(1).SpecialCells(xlCellTypeVisible).Cells.Count
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    MsgBox Evaluate("=subtotal(3,A:A)")


    michel

  3. #3
    Membre confirmé
    Inscrit en
    Juin 2007
    Messages
    147
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 147
    Par défaut
    Es ce que je pourrais te remercier déja mais ensuite te demander juste une explication par solution, merci

    Et au passage, es ce que le "specialcells(xlcelltypevisible)" ,peut marcher pour manipuler directement les cellules avec la méthode offset(1,0), par exemple, mais qu'il prenne la cellule visible du dessous et pas celle qui est masquée ?

  4. #4
    Membre confirmé
    Inscrit en
    Juin 2007
    Messages
    147
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 147
    Par défaut
    Réponse trouvée, dans un autre topic merci encore ^^

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

Discussions similaires

  1. [MySQL] Filtre de données : tous sauf ceux qui sont blacklistés
    Par bodysplash007 dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 16/03/2008, 21h32
  2. [WSS 3] Filtre de données
    Par vds2302 dans le forum SharePoint
    Réponses: 0
    Dernier message: 19/09/2007, 14h48
  3. Réponses: 2
    Dernier message: 10/07/2007, 09h28
  4. filtre sur donnée numérique
    Par Daranc dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 10/04/2007, 17h25
  5. Filtré les données d'une grille
    Par subzero82 dans le forum Interfaces Graphiques en Java
    Réponses: 2
    Dernier message: 20/08/2006, 13h32

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