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-e boucle pour filtre


Sujet :

Macros et VBA Excel

  1. #1
    Membre du Club Avatar de bernard38
    Inscrit en
    Février 2006
    Messages
    158
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 158
    Points : 64
    Points
    64
    Par défaut vba-e boucle pour filtre
    Bjr,

    Comment remplacer le filtre personnalisé d'excel (filtre "qui contient") par une boucle qui serait capable de trouver toutes les cellules d'une colonne qui contiennent certaines données (mises dans un fichier) ex:
    le fichier contient:
    AEC
    AEW
    LCT
    NJR ...
    Il faut garder que les cellules qui ont au moins un de ces termes.
    Le filtre excel n'accepte que deux possibilités.
    ex du contenu d'une cellule (toujours la même structure)
    XEROX DOCUMENT SAS
    Cde: 0042676805-Message BAP facture 6339801 date éch
    13-juin-06 EDG AEC - -

  2. #2
    Expert éminent sénior


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Points : 20 040
    Points
    20 040
    Par défaut
    La solution est peu-être du coté des "filtres élaborés"..(menu données/Filtres/Filtres élaborés)

  3. #3
    Membre du Club Avatar de bernard38
    Inscrit en
    Février 2006
    Messages
    158
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 158
    Points : 64
    Points
    64
    Par défaut
    Je n'arrive pas à me servir du filtre élaborer pour trouver toutes les cellules qui contiennent ou x ou y ou z.
    est-ce possible en une recherche en indiquant des critères particuliers ?

  4. #4
    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
    Points : 15 546
    Points
    15 546
    Par défaut
    est-ce possible en une recherche en indiquant des critères particuliers
    Avec Find ? Tu n'as que trois critères
    Une question : une fois trouvées les données, que veux-tu faire ?
    Tu as la possibilité, soit de créer un tableau() soit de recopier les lignes trouvées dans une autre feuille...

    Tu dis

  5. #5
    Membre du Club Avatar de bernard38
    Inscrit en
    Février 2006
    Messages
    158
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 158
    Points : 64
    Points
    64
    Par défaut
    J'ai une quarantaine de sigles à rechercher (ex: aec,aew,clp,clr...)
    Si la cellule ne contient pas un de ces sigles je peux supprimer la lignes de la cellules.Le but est de garder les lignes dont les cellules contiennent au moins un de ces sigles.
    Je galère avec les filtres je pense qu'avec une boucle on devrait pouvoir faire ça ?

  6. #6
    Responsable
    Office & Excel


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 128
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 128
    Points : 55 940
    Points
    55 940
    Billets dans le blog
    131
    Par défaut
    Bonjour

    Voici un code qui masque les lignes ne correspondant pas aux critères
    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
    20
    21
    22
    23
    24
    25
    26
    27
     
    Sub Filtre()
        Dim PlageCriteres As Range
        Dim PlageDonnees As Range
        Dim CelDonnee As Range
        Dim CelCritere As Range
        Dim Trouve As Boolean
     
        Set PlageCriteres = Range("critères")
        Set PlageDonnees = Range("Données")
     
        For Each CelDonnee In PlageDonnees
            Trouve = False
            For Each CelCritere In PlageCriteres
                If InStr(1, CelDonnee.Value, CelCritere.Value) <> 0 Then
                    Trouve = True
                    Exit For
                End If
            Next CelCritere
            If Not Trouve Then CelDonnee.EntireRow.Hidden = True
        Next CelDonnee
     
        Set PlageCriteres = Nothing
        Set PlageDonnees = Nothing
        Set CelCritere = Nothing
        Set CelDonnee = Nothing
    End Sub
    Nomme la plage de recherche "Données" et la plage de critères "Critères".

    Veux-tu supprimer ou masquer les lignes?

    N.B.: Il y a peut-être plus court comme code...

  7. #7
    Membre du Club Avatar de bernard38
    Inscrit en
    Février 2006
    Messages
    158
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 158
    Points : 64
    Points
    64
    Par défaut
    Ce code fonctionne parfaitement.Pour la suppression je verrai en fonction.
    Il faudra que je l'adapte car la plage données est variable.
    Merci à tous.

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

Discussions similaires

  1. [VBA-E] Boucle d affichage pour label
    Par mick_ban dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 04/03/2007, 16h11
  2. [VBA-E] Problème pour coder une boucle
    Par lord-asriel dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 04/03/2007, 10h10
  3. [VBA-E] Boucle pour supression des dernieres cellules
    Par amd64 dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 04/05/2006, 16h41
  4. [VBA-E]Boucle pour addition?
    Par LouBoulpi dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 28/02/2006, 20h50
  5. [VBA-A] Condition pour boucle if
    Par ptitegrenouille dans le forum Access
    Réponses: 6
    Dernier message: 23/11/2005, 09h33

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