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 :

userform et recherche multicritere [XL-2007]


Sujet :

Macros et VBA Excel

  1. #1
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Mars 2009
    Messages
    408
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Eure et Loir (Centre)

    Informations professionnelles :
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Mars 2009
    Messages : 408
    Par défaut userform et recherche multicritere
    Bonjour le forum,
    Pouvez vous m aider a resoudre ce probleme? Je vous en remercie d avance.

    J'ai un userform comprenant 2 combobox et 2 textbox.
    les combobox servent de criteres pour remplis les deux textbox
    La base de donnée :
    Nu Jour NBr coq nbr de pou
    1 2006 100 200
    2 2006 101 201
    3 2006 102 202
    4 2006 103 203
    5 2006 104 204
    6 2006 105 205
    7 2006 106 206
    1 2007 107 207
    2 2007 108 208
    3 2007 109 209
    4 2007 110 210
    5 2007 111 211
    6 2007 112 212
    7 2007 113 213

    Mon probleme est de remplir les textbox avec les valeurs correspondantes au colonne 3 et 4.exemple : le 5 (combobox1) de 2006 (combobox2) apporte au texbox1 la valeur 104 et au textbox2 la valeur 205
    J ai commencé ce code mais je suis completement perdu
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Sub recherche()
    Numero = ComboBox1.Value
    année = ComboBox2.Value
    With Sheets("feuil1")
    nu = .Range("A20:A33")
    Jour = .Range("B20:B33")
    End With
     
    TextBox1 = Evaluate("MATCH(1,(nu = Numero * Jour =année),1)")
     
    End Sub
    merci pour votre aide

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    51
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 51
    Par défaut
    Sur l'évènement changement de tes combobox tu fais une boucle qui parcours tout ton tableau et qui cherche ce qui vient d'être changé dans ta combobox.

    Je m'explique, tu veux 2006, tu choisis donc 2006 dans ta combobox, à ce moment le script se lance et parcours ta colonne et cherche la case ou il y a écrit 2006, à ce moment tu récupère sa ligne et tu rentres les valeurs dans tes combobox

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    dim i as integer
    dim ligneFin as integer ' La dernière ligne jusque ou tu veux chercher la 
    'valeur (tu peux mettre la dernière pour scanner toute la colonne)
     
    for i = 1 to ligneFin
         if cells(i, 2) = combobox1.value then
              textbox1 = cells(i, 3)
              textbox2 = cells(i, 4)
         else
              i = i + 1
         endif
    next

  3. #3
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Mars 2009
    Messages
    408
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Eure et Loir (Centre)

    Informations professionnelles :
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Mars 2009
    Messages : 408
    Par défaut
    Merci pour ton aide selon ce que tu as fait j ai testé ca :
    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 recherche1()
     
    With Sheets("feuil1")
    derlig = .Range("A65000").End(xlUp)
     
    For i = 18 To derlig
        If .Cells(i, 1) = ComboBox1.Value Then
            If .Cells(i, 2) = ComboBox2.Value Then
                Me.TextBox1 = .Cells(i, 3)
                Me.TextBox2 = .Cells(i, 4)
             End If
         End If
      Next
      End With
    End Sub
    et ceci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub ComboBox1_Change()
    recherche2
    End Sub
    voila mais malheureusement les texbox ne ce remplisse pas
    merci

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    51
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 51
    Par défaut
    Essaye

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub ComboBox1_Change()
         Call recherche1
    End Sub
    edit: Si cela ne fonctionne pas, poste ton fichier silteplait

  5. #5
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Mars 2009
    Messages
    408
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Eure et Loir (Centre)

    Informations professionnelles :
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Mars 2009
    Messages : 408
    Par défaut
    merci j ai aussi essayé ta derniere solution mais pas de resultat ceci est un exemple que j essairai d adapter a une base de données beaucoup plus complexe
    merci pour ton aide
    Fichiers attachés Fichiers attachés

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    51
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 51
    Par défaut
    Désolé pour le retard.

    En fichier joint ce que tu veux faire (le code est laid mais il fonctionne, arrange le)
    Fichiers attachés Fichiers attachés

  7. #7
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Mars 2009
    Messages
    408
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Eure et Loir (Centre)

    Informations professionnelles :
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Mars 2009
    Messages : 408
    Par défaut
    Je te remercie beaucoup mais je ne comprend pas pourquoi tu le trouve laid?
    je marque resolu MERCI

  8. #8
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    51
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 51
    Par défaut
    Il est codé à l'arrache, j'utilise 3 variables inutilement, je code directement dans les évènements au lieu de coder dans des modules, enfin pas la joie quoi ^^.

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

Discussions similaires

  1. Réponses: 13
    Dernier message: 22/06/2010, 17h08
  2. Réponses: 1
    Dernier message: 22/02/2006, 20h01
  3. Formulaire de recherche multicriteres par cafeine
    Par jo-popo dans le forum Access
    Réponses: 8
    Dernier message: 12/01/2006, 01h53
  4. Réponses: 6
    Dernier message: 05/01/2006, 15h09
  5. Recherche multicritere
    Par beLz dans le forum Requêtes
    Réponses: 3
    Dernier message: 02/09/2005, 19h24

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