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 :

.Find multicritères + résultats multiples


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Technicien maintenance
    Inscrit en
    Juin 2013
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juin 2013
    Messages : 20
    Par défaut .Find multicritères + résultats multiples
    Bonjour à tous !

    Je cherche à faire une recherche dans un fichier excel afin d'exploiter les résultats, jusque là rien de trop compliqué.
    Le problème est que dans un cas, j'ai besoin de faire une recherche sur 2 critères d'une même ligne.

    Exemple :

    Col 1 Col2 Col3

    X 05/08/13 Blabla

    Il faut que toutes les lignes comportant un X et la date 05/08/13 soient insérées dans un combobox (je pense que cette partie ne me posera pas de problème).

    Je coince vraiment sur la partie de recherche multicritères. De ce que j'ai pu voir sur le net, c'est pas possible mais peut être que quelqu'un a une solution...

    Je n'ai pas de début de code à vous présenter puisque tout ce que j'ai pu essayer jusqu'à présent ne fonctionne pas... Si vous avez une proposition, je ferai un bout de code pour le présenter ici.

  2. #2
    Expert éminent Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Par défaut
    Un filtre automatique fera l'affaire

  3. #3
    Expert confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2013
    Messages
    3 609
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

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

    Informations forums :
    Inscription : Mai 2013
    Messages : 3 609
    Par défaut
    Sinon, tu peux peut-être incorporer une colonne et y concaténer les valeurs de recherche.

  4. #4
    Membre expérimenté
    Inscrit en
    Juillet 2007
    Messages
    239
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 239
    Par défaut
    Tu peux avoir plusieurs conditions ( ou critéres mais on est en VBA ):


    tu peux utiliser la structure suivante:

    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
     
    'le critére 1 s'applique à une plage colonne 1
    with range ("A1:A5" )
      set c= = .Find("toto", LookAt:=xlPart ) 
     
     If Not c Is Nothing Then
        first_row = c.Row
       Do
     
           'traitement
      'tu testes le critere suivant , exemple la valeur  colonne 3 = "toto3"
     
    if cells ( c.row , 3).value =   "toto3"  then 
     
               tu enrichis le combobox avec la valeur trouvée dans cellule ( A et c.row )   et  cellule ( C et c.row )
    end if 
     
           Set c = .FindNext(c)
        Loop While Not c Is Nothing And <> first_row
     end if 
     
    end with
    'tu peux mettre autant de if que de critére.
    et pour avoir un résultat le plus rapide tu fais le find sur la colonne qui est la plus discriminante.

  5. #5
    Invité
    Invité(e)
    Par défaut
    Il suffit de filtrer les deux colonnes en question avec un simple filtre:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Option Explicit
     
    Public Sub TriDonnees()
     
      With ActiveSheet
        If .FilterMode = True Then .AutoFilterMode = False
        .UsedRange.AutoFilter Field:=1, Criteria1:="X"
        .UsedRange.AutoFilter Field:=2, Criteria1:=CDate("5/8/2013")
      End With
     
    End Sub
    Dernière modification par Invité ; 07/08/2013 à 18h13.

  6. #6
    Membre expérimenté
    Inscrit en
    Juillet 2007
    Messages
    239
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 239
    Par défaut
    D'accord mais c'est pas avec un filtre que l'on remplit la Combo.
    Pour moi la solution passe par VBA ( on est dans le forum VBA)..

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

Discussions similaires

  1. Jointure aux résultats multiples
    Par samspitz dans le forum Zend_Db
    Réponses: 1
    Dernier message: 24/06/2010, 18h11
  2. recherche multicritère résultat vide
    Par csophie49 dans le forum VBA Access
    Réponses: 5
    Dernier message: 17/08/2007, 13h50
  3. Recherchev poussée avec résultats multiples
    Par solorac dans le forum Excel
    Réponses: 13
    Dernier message: 22/06/2007, 11h14
  4. [SQL] Recherche à résultats multiples SQL - PHP
    Par Paradise01 dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 15/08/2006, 14h52
  5. selection simple mais résultat multiple dans combobox
    Par forzaxelah dans le forum Bases de données
    Réponses: 1
    Dernier message: 12/06/2006, 14h21

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