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 :

Créer une Macro VBA qui me permet de faire une recherche multicritères [XL-2007]


Sujet :

Macros et VBA Excel

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Fonctionnaire
    Inscrit en
    Juin 2013
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Fonctionnaire
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juin 2013
    Messages : 25
    Points : 8
    Points
    8
    Par défaut Créer une Macro VBA qui me permet de faire une recherche multicritères
    Bonsoir,
    Je viens dernièrement de découvrir VBA les possibilités qu’il offre en matière de gestion des bases de données. Cependant je n’y connais rien du tout. C’est pour cette raison que je me suis tourné vers vous.
    Voila, ma demande est la suivante : j’ai un tableau Excel 2007 avec 73445 lignes et 35 colonnes (A à AI). Je veux créer une Macro VBA qui me permet de faire une recherche multicritères en fonctions des données suivantes :
    • Nom et Prénom ;
    • CIN ;
    • Adresse ;
    • Secteur ;
    • Date de MER ;
    • Date dernier acte.
    La recherche doit être faite soit :
    1. Soit l’un de ces critères ;
    2. Soit par l’association de plusieurs critères ;
    3. Soit par une partie d’un ou de plusieurs critère.
    Le résultat doit être affiché dans une autre feuille du même classeur par ligne.
    Merci de votre aide.

  2. #2
    Expert confirmé
    Homme Profil pro
    Electrotechnicien
    Inscrit en
    Juillet 2016
    Messages
    3 240
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Electrotechnicien

    Informations forums :
    Inscription : Juillet 2016
    Messages : 3 240
    Points : 5 655
    Points
    5 655
    Par défaut
    Bonjour,

    Dans quelles colonnes se trouve les différents champs qui serviront de critères de recherche?

    Cdlt

  3. #3
    Expert confirmé
    Homme Profil pro
    Responsable des études
    Inscrit en
    Juillet 2014
    Messages
    2 665
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aude (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Responsable des études
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2014
    Messages : 2 665
    Points : 5 803
    Points
    5 803
    Par défaut
    Bonjour,

    Avec ou sans VBA, je te conseille l'utilisation des filtres avancés: https://philippetulliez.developpez.c...dvancedfilter/

  4. #4
    Membre expert
    Profil pro
    Inscrit en
    Février 2007
    Messages
    2 266
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 2 266
    Points : 3 666
    Points
    3 666
    Par défaut
    Bonjour à tous,

    sans vba, tu as le filtre avancé qui fait déjà ça.
    eric

  5. #5
    Futur Membre du Club
    Homme Profil pro
    Fonctionnaire
    Inscrit en
    Juin 2013
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Fonctionnaire
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juin 2013
    Messages : 25
    Points : 8
    Points
    8
    Par défaut
    Citation Envoyé par ARTURO83 Voir le message
    Bonjour,

    Dans quelles colonnes se trouve les différents champs qui serviront de critères de recherche?

    Cdlt
    Bonjour,
    Merci de l'intérêt que vous porter à ma requitte.
    • Nom et Prénom : colonne I
    • CIN : colonne K
    • Adresse : colonne O
    • Secteur : colonne D
    • Date de MER : colonne P
    • Date dernier acte : colonne X

    En ce qui concerne le filtre avancé, j'ai essayé mais sans succès.

    Merci encore une fois et à bientôt.

  6. #6
    Futur Membre du Club
    Homme Profil pro
    Fonctionnaire
    Inscrit en
    Juin 2013
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Fonctionnaire
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juin 2013
    Messages : 25
    Points : 8
    Points
    8
    Par défaut
    Citation Envoyé par eriiic Voir le message
    Bonjour à tous,

    sans vba, tu as le filtre avancé qui fait déjà ça.
    eric
    Merci pour le conseil.

  7. #7
    Futur Membre du Club
    Homme Profil pro
    Fonctionnaire
    Inscrit en
    Juin 2013
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Fonctionnaire
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juin 2013
    Messages : 25
    Points : 8
    Points
    8
    Par défaut
    Citation Envoyé par halaster08 Voir le message
    Bonjour,

    Avec ou sans VBA, je te conseille l'utilisation des filtres avancés: https://philippetulliez.developpez.c...dvancedfilter/
    Bonjour,
    Merci infiniment pour le lien.
    A plus

  8. #8
    Futur Membre du Club
    Homme Profil pro
    Fonctionnaire
    Inscrit en
    Juin 2013
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Fonctionnaire
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juin 2013
    Messages : 25
    Points : 8
    Points
    8
    Par défaut
    Citation Envoyé par loulah Voir le message
    Bonsoir,
    Je viens dernièrement de découvrir VBA les possibilités qu’il offre en matière de gestion des bases de données. Cependant je n’y connais rien du tout. C’est pour cette raison que je me suis tourné vers vous.
    Voila, ma demande est la suivante : j’ai un tableau Excel 2007 avec 73445 lignes et 35 colonnes (A à AI). Je veux créer une Macro VBA qui me permet de faire une recherche multicritères en fonctions des données suivantes :
    • Nom et Prénom ;
    • CIN ;
    • Adresse ;
    • Secteur ;
    • Date de MER ;
    • Date dernier acte.
    La recherche doit être faite soit :
    1. Soit l’un de ces critères ;
    2. Soit par l’association de plusieurs critères ;
    3. Soit par une partie d’un ou de plusieurs critère.
    Le résultat doit être affiché dans une autre feuille du même classeur par ligne.
    Merci de votre aide.
    Bonjour,
    Pour mieux expliquer mon problème, pour ceux ou celles qui sont intéressé pour m'aider, je vais vous citer un exemple:
    - je cherche toutes les personnes dont le nom commence par la lettre a et contient les lettres b et c (colonne A)
    - et/ou qui habite rue BARRON/BARON/BARONE (ça dépend de la façon que l'on l'écrit) (colonne c)
    - et/ou dont la CIN commence par WW ou se termine par le chiffre 9 (colonne B)
    - se trouvant dans le secteur 401 (colonne D)
    - dont la date de MER est entre t1 et t2 (colonne E)
    - et/ou qui ont fait l'objet de recouvrement forcé (colonne F).
    Le résultat doit être affiché dans une autre feuille du même classeur par ligne.
    Merci pour votre aide.
    Salutation cordiale.

  9. #9
    Expert confirmé
    Homme Profil pro
    Responsable des études
    Inscrit en
    Juillet 2014
    Messages
    2 665
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aude (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Responsable des études
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2014
    Messages : 2 665
    Points : 5 803
    Points
    5 803
    Par défaut
    Citation Envoyé par loulah Voir le message
    - je cherche toutes les personnes dont le nom commence par la lettre a et contient les lettres b et c (colonne A)
    - et/ou qui habite rue BARRON/BARON/BARONE (ça dépend de la façon que l'on l'écrit) (colonne c)
    - et/ou dont la CIN commence par WW ou se termine par le chiffre 9 (colonne B)
    - se trouvant dans le secteur 401 (colonne D)
    - dont la date de MER est entre t1 et t2 (colonne E)
    - et/ou qui ont fait l'objet de recouvrement forcé (colonne F).
    Si tu suis le tuto sur les filtres avancés, au vu de certains critère tu vas avoir besoin d'un champ calculé, en gros une formule qui renverra VRAI quand tout tes critères seront rempli

    et/ou
    C'est soit l'un soit l'autre

    dont la date de MER est entre t1 et t2 (colonne E)
    Comment tu as les deux valeurs t1 et t2 dans une seule colonne ?

  10. #10
    Membre chevronné
    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
    Points : 2 156
    Points
    2 156
    Par défaut
    Exemple:


    Attention aux dates:
    elles ne se comportent pas de la même façon suivant que l'on extrait directement ou en VBA.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Sub Extrait()
        Range("A1:F50000").AdvancedFilter Action:=xlFilterCopy, CriteriaRange:=Range _
            ("H1:H2"), CopyToRange:=Range("J5:O5"), Unique:=False
    End Sub
    Nom : Sans titre.png
Affichages : 151
Taille : 40,6 Ko

    Formule en H2:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =ET(OU(GAUCHE(B2;NBCAR($J$2))=$J$2;DROITE(B2;1)=TEXTE($J$2;"0"));GAUCHE(C2;NBCAR($K$2))=$K$2;SI($L$2="";VRAI;D2=$L$2);E2>=$M$2;E2<=$N$2;SI($O$2="";VRAI;F2=$O$2))

    Boisgontier
    Fichiers attachés Fichiers attachés

  11. #11
    Futur Membre du Club
    Homme Profil pro
    Fonctionnaire
    Inscrit en
    Juin 2013
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Fonctionnaire
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juin 2013
    Messages : 25
    Points : 8
    Points
    8
    Par défaut
    Merci beaucoup à tous et plus particulièrement à M. boisgontierjacques.
    Merci infiniment.

  12. #12
    Membre chevronné
    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
    Points : 2 156
    Points
    2 156
    Par défaut
    Bonjour,

    Version + récente

    Nom : Sans titre.png
Affichages : 131
Taille : 98,4 Ko

    Boisgontier
    Fichiers attachés Fichiers attachés

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

Discussions similaires

  1. [XL-2016] Macro VBA qui enregistre une feuille d'un classeur xlsm en une feuille xlsx
    Par cesbidart dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 04/09/2018, 16h25
  2. Créer un code vba qui fait une somme par client
    Par ayudame_joel dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 02/07/2018, 11h04
  3. Réponses: 4
    Dernier message: 20/05/2018, 12h49
  4. Réponses: 2
    Dernier message: 22/08/2014, 20h08
  5. [VBA-E]Une macro VBA qui les controlerait toutes..
    Par bonilla dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 10/10/2008, 11h20

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