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 :

Filtre à 2 critères / Userform


Sujet :

Macros et VBA Excel

  1. #1
    Membre averti
    Femme Profil pro
    Data
    Inscrit en
    Mai 2023
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 25
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Data

    Informations forums :
    Inscription : Mai 2023
    Messages : 14
    Par défaut Filtre à 2 critères / Userform
    Bonjour à tous !

    Je travaille actuellement sur un projet permettant de filtrer sur plusieurs critère les candidats d'une base de données.

    J'ai créé un formulaire usf_recherche.

    Les compétences des candidats sont regroupée dans une colonne et peuvent être de la forme "Python-R" (d'ailleurs "R" me pose pas mal de soucis ahah) ou "SQL, Python" ou "SAS / VBA"
    j'aimerais laisser la possibilité à l'utilisateur de filtrer sur 2 outils.

    J'aurais adoré ajouter une checkbox choix inclusif ou choix exclusif mais je perds déjà pieds dans le bricolage que j'ai essayé de faire !

    Pour vous expliquer, j'ai 2 comboboxskill(1 et 2) et la colonne précédemment citée. j'ai dupliqué cette colonne pour permettre de chercher deux fois les outils. ainsi, si l'utilisateur clique sur Python ET R, cela devrait filtrer sur les deux. Pourtant ça ne fonctionne pas :/
    auriez vous une idée de l'origine du problème ?

    PROD 2023 - RH_CO_DO_usf.xlsm

  2. #2
    Expert confirmé
    Homme Profil pro
    retraité
    Inscrit en
    Juin 2012
    Messages
    3 419
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : retraité
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Juin 2012
    Messages : 3 419
    Par défaut
    Bonjour,

    Pour prendre en compte 1 ou 2 critères sur la même colonne col_Skill:
    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
    Private Sub BtnRECHERCHER_Click()
        '...
        col_Skill = Cherche_Colonne(wsCandidats, "OUTILS")
        '...
            '--- Filtre pour la colonne OUTILS
            If ComboBoxSkill1.Value <> "" Then
                If ComboBoxSkill2.Value <> "" Then      '--- skill1 et skill2 non vides
                    .AutoFilter Field:=col_Skill, Criteria1:="*" & ComboBoxSkill1.Value & "*", Criteria2:="*" & ComboBoxSkill2.Value & "*", Operator:=xlAnd
                Else                                    '--- skill1 non vide, skill2 vide
                    .AutoFilter Field:=col_Skill, Criteria1:="*" & ComboBoxSkill1.Value & "*", Operator:=xlAnd
                End If
            Else
                If ComboBoxSkill2.Value <> "" Then      '--- skill1 vide, skill2 non vide
                    .AutoFilter Field:=col_Skill, Criteria1:="*" & ComboBoxSkill2.Value & "*", Operator:=xlAnd
                End If
            End If
        '...
    et pas besoin de dédoubler la colonne OUTILS (colonne S inutile).

    Cordialement.
    Fichiers attachés Fichiers attachés

  3. #3
    Membre averti
    Femme Profil pro
    Data
    Inscrit en
    Mai 2023
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 25
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Data

    Informations forums :
    Inscription : Mai 2023
    Messages : 14
    Par défaut
    Citation Envoyé par EricDgn Voir le message
    Bonjour,

    Pour prendre en compte 1 ou 2 critères sur la même colonne col_Skill:
    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
    Private Sub BtnRECHERCHER_Click()
        '...
        col_Skill = Cherche_Colonne(wsCandidats, "OUTILS")
        '...
            '--- Filtre pour la colonne OUTILS
            If ComboBoxSkill1.Value <> "" Then
                If ComboBoxSkill2.Value <> "" Then      '--- skill1 et skill2 non vides
                    .AutoFilter Field:=col_Skill, Criteria1:="*" & ComboBoxSkill1.Value & "*", Criteria2:="*" & ComboBoxSkill2.Value & "*", Operator:=xlAnd
                Else                                    '--- skill1 non vide, skill2 vide
                    .AutoFilter Field:=col_Skill, Criteria1:="*" & ComboBoxSkill1.Value & "*", Operator:=xlAnd
                End If
            Else
                If ComboBoxSkill2.Value <> "" Then      '--- skill1 vide, skill2 non vide
                    .AutoFilter Field:=col_Skill, Criteria1:="*" & ComboBoxSkill2.Value & "*", Operator:=xlAnd
                End If
            End If
        '...
    et pas besoin de dédoubler la colonne OUTILS (colonne S inutile).

    Cordialement.
    Merci c'est super ! je n'avais pas réussi jusqu'à présent c'est beaucoup plus simple comme ça effectivement

    merci d'avoir pris du temps pour m'aider

Discussions similaires

  1. filtre multi-critères
    Par Sami Xite dans le forum VBA Access
    Réponses: 1
    Dernier message: 06/05/2008, 14h49
  2. [VBA-E]Filtre multi-critères
    Par ippo_master dans le forum Macros et VBA Excel
    Réponses: 18
    Dernier message: 29/11/2007, 14h15
  3. filtre multi-critères sans limitation du nombre de critères
    Par ouskel'n'or dans le forum Contribuez
    Réponses: 0
    Dernier message: 29/11/2007, 14h08
  4. Filtre multi-critères dans une base Paradox
    Par lohot dans le forum Bases de données
    Réponses: 10
    Dernier message: 10/02/2007, 22h54
  5. Filtre multi-critères
    Par lohot dans le forum Bases de données
    Réponses: 2
    Dernier message: 01/02/2007, 13h35

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