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 :

[EXCEL] Resultats de mes recherches


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Février 2007
    Messages
    20
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 20
    Par défaut [EXCEL] Resultats de mes recherches
    bonjour,

    je travaille actuellement à l'édition d'une macro pour Excel.
    je possède une base de donnée (tableau excel)

    lorsque je suis sur une feuille, je lance un filtrage en macro.

    j'aimerais connaitre le nombres de resultats que ce filtre me donne.
    et si le filtre à fonctionné ( si erreur dans le nom à filtrer)

    Merci pour votre aide
    ++
    tifendro

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    ' On prend la feuille base de donnée.
        Worksheets("BDD").Select
    ' On selectionne les cellules
        Worksheets("BDD").Range("K3").CurrentRegion.Select
    ' On filtre suivant les critères Systeme!C1:D2
        Selection.AdvancedFilter Action:=xlFilterInPlace, CriteriaRange:= _
                    Worksheets("Systeme").Range("C1:E2"), Unique:=False
    Le filtrage marche très bien, il me manque juste le nombre de résultats.

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour

    J'utilise cela pour avoir le nombre de lignes filtrés
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    ' connaitre le nombre de lignes filtrés
        Dim ligne
        Dim lngCompteLigne As Long
        For Each ligne In wks.AutoFilter.Range.SpecialCells(xlCellTypeVisible).Rows
            lngCompteLigne = lngCompteLigne + 1
        Next ligne
    Si cela peut t'inspirer

    Starec

  3. #3
    Membre averti
    Inscrit en
    Février 2007
    Messages
    20
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 20
    Par défaut
    Aie
    j'ai testé et ca me dit : Objet requis
    sur la ligne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    For Each ligne In wks.AutoFilter.Range.SpecialCells(xlCellTypeVisible).Rows

  4. #4
    Invité
    Invité(e)
    Par défaut
    Re

    Excuse wks est une variable objet où j'avais mis précédement le nom d'une feuille.

    En fait c'est Worksheet("tafeuille")

    Starec

  5. #5
    Membre averti
    Inscrit en
    Février 2007
    Messages
    20
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 20
    Par défaut
    Merci pour ton aide.
    Ca a bien orienter mes recherches.

    Comme ca ne marchait toujours pas, je me suis rabatu sur plus simple.

    Pour les amateurs voila ce que j'ai trouvé
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
     ' Connaitre le nombre de lignes filtrés
        Dim UpperLeftCorner As Range
        ' On definit la zone de comptage :
        Set UpperLeftCorner = ActiveSheet.Range("A1")
        NbLignes = -1
        For Each area In _
            UpperLeftCorner.CurrentRegion.SpecialCells(xlVisible).Areas
            NbLignes = NbLignes + area.Rows.Count
        Next
        MsgBox NbLignes
    Testé et approuvé

    merci encore ++
    tifendro

  6. #6
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Par défaut
    Et si en plus tu veux connaître le No des lignes...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Dim NoLigne(), i, j
        For Each ligne In Sheets("feuil1").AutoFilter.Range.SpecialCells(xlCellTypeVisible).Rows
            i = i + 1
            ReDim Preserve NoLigne(i)
            NoLigne(i) = ligne.Address(RowAbsolute:=False, ColumnAbsolute:=False)
        Next
        For j = 1 To i
            MsgBox NoLigne(j)
        Next

Discussions similaires

  1. [VBA-EXCEL] Utiliser la fonction recherche
    Par plasticgoat dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 15/02/2007, 15h06
  2. [Excel&VBA] Ouverture fichier/Recherche ds cells
    Par primax dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 02/01/2007, 02h43
  3. nb de resultats d'une recherche
    Par fsautejeau dans le forum Access
    Réponses: 2
    Dernier message: 25/08/2006, 14h08
  4. Tableau Feuille Excel - comment codifier une recherche
    Par benco dans le forum Macros et VBA Excel
    Réponses: 16
    Dernier message: 31/12/2005, 14h06
  5. [VB6] [Excel] Résultat d'une requete ds une feuille
    Par elifqaoui dans le forum VB 6 et antérieur
    Réponses: 12
    Dernier message: 07/01/2003, 17h52

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