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 :

Filtrer en fonction d'une plage de données


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Futur Membre du Club
    Femme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2015
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2015
    Messages : 4
    Par défaut Filtrer en fonction d'une plage de données
    Bonjour,

    Dans le fichier joint, je voudrais filtrer la colonne A en excluant les valeurs contenues dans la colonne F.
    Dans le code du Module1, je ne sais faire qu'en incluant les valeurs contenues dans la colonne F.

    D'avance, Merci pour votre aide

    Agnès
    Fichiers attachés Fichiers attachés

  2. #2
    Membre Expert
    Homme Profil pro
    Retraité
    Inscrit en
    Avril 2011
    Messages
    1 858
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Avril 2011
    Messages : 1 858
    Par défaut
    Bonjour,

    Une proposition ...
    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
    Option Base 1
    Sub Filtrer()
    Dim Cel As Range
    Dim T() As String
        With Worksheets("Feuil1")
            If Not .AutoFilterMode Then .Range("A1").AutoFilter
            For Each Cel In .Range("A2:A" & .Range("A" & Rows.Count).End(xlUp).Row)
                If Application.CountIf(.Range("F1:F" & .Range("F" & Rows.Count).End(xlUp).Row), Cel.Value) = 0 Then
                    x = x + 1
                    ReDim Preserve T(x)
                    T(x) = Cel
                End If
            Next Cel
            .Range("A1:A" & .Range("A" & Rows.Count).End(xlUp).Row).AutoFilter 1, T, xlFilterValues
        End With
    End Sub
    Cordialement.

  3. #3
    Membre extrêmement actif
    Homme Profil pro
    Inscrit en
    Septembre 2013
    Messages
    1 369
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Septembre 2013
    Messages : 1 369
    Par défaut
    Bonjour,

    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
    Sub FiltreInverseListe()
      Set f1 = Sheets("feuil1")
      Set d = CreateObject("scripting.dictionary")     ' Liste à ne pas sélectionner
      d.CompareMode = vbTextCompare
      For Each c In f1.Range("E2:E" & f1.[E65000].End(xlUp).Row)
        d(c.Value) = ""
      Next c
      Set f2 = Sheets("feuil1")
      Set d2 = CreateObject("scripting.dictionary")    ' liste complémentaire
      d2.CompareMode = vbTextCompare
      For Each c In f2.Range("A2:A" & f2.[A65000].End(xlUp).Row)
       If Not d.exists(c.Value) Then d2(c.Value) = ""
      Next c
      ActiveSheet.Range("$A$1:$A$10000").AutoFilter Field:=1, Criteria1:=d2.keys, Operator:=xlFilterValues
    End Sub
    Boisgontier
    Fichiers attachés Fichiers attachés

  4. #4
    Futur Membre du Club
    Femme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2015
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2015
    Messages : 4
    Par défaut Filtrer en fonction d'une palge de données
    Merci beaucoup gFZT82 et Jacques,
    En plus de répondre à ma demande, vos propositions m'apprennent plein de choses :-)
    Encore Merci pour votre contribution,
    Agnès

Discussions similaires

  1. [XL-2016] Fonction utilisant une plage de données et restituant une autre plage de données
    Par Stefbzh dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 24/04/2019, 07h07
  2. Filtrer un TCD via une plage de données - Sans utiliser des slicers
    Par Hazardo dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 26/02/2019, 12h13
  3. Réponses: 5
    Dernier message: 04/04/2016, 16h18
  4. [XL-2010] Incrémenter une donnée en fonction d'une plage horaire.
    Par sevy1 dans le forum Excel
    Réponses: 2
    Dernier message: 29/04/2013, 09h50
  5. Réponses: 13
    Dernier message: 28/05/2010, 10h06

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