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

VBA Access Discussion :

Recherche multicritère selon Jeannot45 et Caféine [AC-2013]


Sujet :

VBA Access

  1. #1
    Membre confirmé Avatar de morobaboumar
    Homme Profil pro
    Enseignant
    Inscrit en
    Septembre 2009
    Messages
    1 114
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Septembre 2009
    Messages : 1 114
    Points : 491
    Points
    491
    Par défaut Recherche multicritère selon Jeannot45 et Caféine
    Bonsoir membres du forum,

    1) Voici un code de Jeannot45
    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 txtTitre_Change()
     
        Dim l_strWhere As String
     
            l_strWhere = "WHERE Titre Like " & Chr(34) & _
            "*" & Me.ActiveControl.Text & "*" & Chr(34)
     
            With Me.lstTitre
                .RowSourceType = "Table/Requête"
                .RowSource = "SELECT T_Livres.CodeLivre, T_Livres.TITRE FROM T_Livres " & _
                l_strWhere & _
                " ORDER BY T_Livres.TITRE"
                .Requery
            End With
     
    End Sub
    que j’ai adapté au mien

    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
     
    Private Sub TxtRecherche_ListeELEVES_Chiffre_Littre_Chiffre_Littre_Change()
    Dim l_strWhere As String
     
            l_strWhere = "WHERE NPrenomsEleves Like " & Chr(34) & _
            "*" & Me.ActiveControl.Text & "*" & Chr(34)             ' & " And [ANNEE_SCOL] = " & lstAnnee_Evaluation
     
            With Me.ListeELEVES_ANNEE_CLASSE_Arabe_ApercuRecherche '& " and [lstAnnee_Evaluation] = " & "[Forms]![Frm_EvaluationScolaireElevesECIND_ARABE]![lstAnnee_Evaluation]"
                .RowSourceType = "Table/Requête"
                .RowSource = "SELECT Eleve_INSCRIT_Req_Plus.MleEleve , Eleve_INSCRIT_Req_Plus.NPrenomsEleves,Eleve_INSCRIT_Req_Plus.GenreEleveInscrit,Eleve_INSCRIT_Req_Plus.NPrenomsElevesAR,Eleve_INSCRIT_Req_Plus.ClasseArabe,Eleve_INSCRIT_Req_Plus.ANNEE_SCOL  ,Eleve_INSCRIT_Req_Plus.ID_ETABL_FREQ FROM Eleve_INSCRIT_Req_Plus " & _
                l_strWhere & _
                " ORDER BY Eleve_INSCRIT_Req_Plus.MleEleve"
                .Requery
            End With
     
    End Sub
    Cependant, je souhaiterais que le code filtre les données selon l’année scolaire
    en cours …
    exemple : & " And [ANNEE_SCOL] = " & lstAnnee_Evaluation, etc. mais
    ça marche pas. Quelle serait la solution ?

    2) Voici le code de caféine qui m’a été suggéré :

    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
    23
    24
    25
    26
    27
    28
    29
    30
    Dim SQL As String
     Dim SQLWhere As String
     
    ' la requête contient une clause WHERE qui ne fait aucune exclusion puisque qu'on teste que la clé primaire est <> 0
     
     SQL = "SELECT CodMedia, Titre, Auteur, Famille, Type FROM Medias Where Medias!CodMedia <> 0 "
    ' on teste ensuite chaque zone de liste déroulante pour construire la suite de la clause WHERE  et on l'ajoute à la suite 
    If Me.LstAuteur <> "" Then
        SQL = SQL & "And Medias!Auteur like '*" & Me.txtRechAuteur & "*' "
     End If
     If Me.LstFamille <> "" Then
        SQL = SQL & "And Medias!Famille = '" & Me.cmbRechFamille & "' "
     End If
     If Me.LstResume <> "" Then
        SQL = SQL & "And Medias!Résumé like '*" & Me.txtRechResume & "*' "
     End If
     If Me.LstTitre <> "" Then
        SQL = SQL & "And Medias!Titre like '*" & Me.txtRechTitre & "*' "
     End If
     If Me.LstType <> "" Then
        SQL = SQL & "And Medias!Type = '" & Me.cmbRechType & "' "
     End If
     
     SQLWhere = Trim(Right(SQL, Len(SQL) - InStr(SQL, "Where ") - Len("Where ") + 1))
     SQL = SQL & ";"
    ' on affiche le nombre d'enregistrements sélectionnés / le nombre total
     Me.lblStats.Caption = DCount("*", "Medias", SQLWhere) & " / " & DCount("*", "Medias")
    ' on recharge la source de données
     Me.lstResults.RowSource = SQL
     Me.lstResults.Requery
    Voici mon code essai d’adaptation:
    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
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
     
    Private Sub CmdRechercheEleveMethodeCafeine_Click()
     Dim SQL As String
     Dim SQLWhere As String
     
    ' la requête contient une clause WHERE qui ne fait aucune exclusion puisque qu'on teste que la clé primaire est <> 0
     
     SQL = "SELECT Mleeleve, NPrenomsEleves, GenreEleveInscrit, NPrenomsElevesAR, ClasseArabe, ANNEE_SCOL,ID_ETABL_FREQ FROM Eleve_INSCRIT_Req_Plus Where Eleve_INSCRIT_Req_Plus!Mleeleve <> 0 "
    ' on teste ensuite chaque zone de liste déroulante pour construire la suite de la clause WHERE  et on l'ajoute à la suite
    If Me.lstClasse_Evaluation <> "" Then
        SQL = SQL & "And Eleve_INSCRIT_Req_Plus!ClasseArabe like '*" & Me.lstClasse_Evaluation & "*' "
     End If
     If Me.lstAnnee_Evaluation <> "" Then
        SQL = SQL & "And Eleve_INSCRIT_Req_Plus!ANNEE_SCOL = '" & Me.CmdRechercheEleveMethodeCafeine & "' "
     End If
     If Me.ID_ETABL_FREQ <> "" Then
        SQL = SQL & "And Eleve_INSCRIT_Req_Plus!ID_ETABL_FREQ like '*" & Me.CmdRechercheEleveMethodeCafeine & "*' "
     End If
     'If Me.LstTitre <> "" Then
        'SQL = SQL & "And Medias!Titre like '*" & Me.txtRechTitre & "*' "
     'End If
     'If Me.LstType <> "" Then
        'SQL = SQL & "And Medias!Type = '" & Me.cmbRechType & "' "
    ' End If
     
     SQLWhere = Trim(Right(SQL, Len(SQL) - InStr(SQL, "Where ") - Len("Where ") + 1))
     SQL = SQL & ";"
    ' on affiche le nombre d'enregistrements sélectionnés / le nombre total
     'Me.lblStats.Caption = DCount("*", "Medias", SQLWhere) & " / " & DCount("*", "Medias")
    ' on recharge la source de données
     Me.ListeELEVES_ANNEE_CLASSE_Arabe_ApercuRecherche.RowSource = SQL
     Me.ListeELEVES_ANNEE_CLASSE_Arabe_ApercuRecherche.Requery
    End Sub
    Message d’erreur:

    Nom : CaptureCodeRecherche ListeDeroulanteAlphaNumérique 11.PNG
Affichages : 240
Taille : 27,5 Ko
    Nom : CaptureCodeRecherche ListeDeroulanteAlphaNumérique 12.PNG
Affichages : 231
Taille : 45,5 Ko

    Je ne comprends pas bien le code de Caféine.
    J’espère pouvoir le comprendre grâce à vos interventions.

    Pièce jointe

    Cordialement.
    Fichiers attachés Fichiers attachés
    Je ne Suis Pas un Expert en Programmation
    Le savoir est la lumière de l'esprit
    Le chemin de la réussite

    Les savants sont les héritiers de la science
    Qui cherche positivement trouve
    Tout ce qui brille n'est pas l'or ou diamant
    Mais l'or et le diamant se trouvent avec sagesse, intelligence et effort

  2. #2
    Expert éminent
    Homme Profil pro
    Webplanneur
    Inscrit en
    Octobre 2007
    Messages
    4 262
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Réunion

    Informations professionnelles :
    Activité : Webplanneur

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 262
    Points : 6 561
    Points
    6 561
    Par défaut
    Salut
    Méthode Caféine
    En L14/L17 que vient faire CmdRechercheEleveMethodeCafeine dans la syntaxe ? C'est votre bouton de commande !
    "Le savoir est la seule matière qui s'accroit quand on la partage" (Socrate)
    UR - ESIROI - GPME/CG/DCG8
    QTH :21°19'18"S - 055°25'32"E
    Inutile de me contacter par MP
    Merci de cliquer sur si la réponse vous a permis de résoudre votre problème et n'oubliez pas de clôturer le fil en cliquant sur

  3. #3
    Membre confirmé Avatar de morobaboumar
    Homme Profil pro
    Enseignant
    Inscrit en
    Septembre 2009
    Messages
    1 114
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Septembre 2009
    Messages : 1 114
    Points : 491
    Points
    491
    Par défaut
    Bonsoir Hyperion,
    Très heureux de vous retrouver.
    Comme souligner au début
    Je sollicite votre aide afin de bien
    Comprendre le code.
    Cordialement.
    Je ne Suis Pas un Expert en Programmation
    Le savoir est la lumière de l'esprit
    Le chemin de la réussite

    Les savants sont les héritiers de la science
    Qui cherche positivement trouve
    Tout ce qui brille n'est pas l'or ou diamant
    Mais l'or et le diamant se trouvent avec sagesse, intelligence et effort

  4. #4
    Expert éminent
    Homme Profil pro
    Webplanneur
    Inscrit en
    Octobre 2007
    Messages
    4 262
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Réunion

    Informations professionnelles :
    Activité : Webplanneur

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 262
    Points : 6 561
    Points
    6 561
    Par défaut
    Il faudrait que votre form Frm_EvaluationScolaireElevesECIND_ARABE soit fonctionnel. Rien ne fonctionne !
    lstAnnee_Evaluation, lstClasse_Evaluation, ListeComposition_Evaluation et ListeNiveauEVALUATION_AR sont inertes, on ne peut pas sélectionner une quelconque valeur dans ces combobox, et affichent chez moi (Acc2k13Pro) l'erreur #Nom?.

    De plus, il y a une combobox ID_ETABL_FREQ qui n'est pas indépendante, puisqu'on retrouve ID_ETABL_FREQ dans la source de votre form.

    Méthode Caféine
    En L14/L17 que vient faire CmdRechercheEleveMethodeCafeine dans la syntaxe ? C'est votre bouton de commande pour exécuter votre filtre à priori !
    "Le savoir est la seule matière qui s'accroit quand on la partage" (Socrate)
    UR - ESIROI - GPME/CG/DCG8
    QTH :21°19'18"S - 055°25'32"E
    Inutile de me contacter par MP
    Merci de cliquer sur si la réponse vous a permis de résoudre votre problème et n'oubliez pas de clôturer le fil en cliquant sur

  5. #5
    Membre confirmé Avatar de morobaboumar
    Homme Profil pro
    Enseignant
    Inscrit en
    Septembre 2009
    Messages
    1 114
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Septembre 2009
    Messages : 1 114
    Points : 491
    Points
    491
    Par défaut
    Citation Envoyé par hyperion13 Voir le message
    Il faudrait que votre form Frm_EvaluationScolaireElevesECIND_ARABE soit fonctionnel. Rien ne fonctionne !
    lstAnnee_Evaluation, lstClasse_Evaluation, ListeComposition_Evaluation et ListeNiveauEVALUATION_AR sont inertes, on ne peut pas sélectionner une quelconque valeur dans ces combobox, et affichent chez moi (Acc2k13Pro) l'erreur #Nom?.

    De plus, il y a une combobox ID_ETABL_FREQ qui n'est pas indépendante, puisqu'on retrouve ID_ETABL_FREQ dans la source de votre form.

    Méthode Caféine
    En L14/L17 que vient faire CmdRechercheEleveMethodeCafeine dans la syntaxe ? C'est votre bouton de commande pour exécuter votre filtre à priori !
    Bonjour hyperion13,
    Voici pourquoi j'ai essayé de comprendre cette méthode d'adapter à ma recherche multicritère:
    https://www.developpez.net/forums/d2...access-2019-a/
    voir le post #11 de tee_grandbois.
    Je soumets encore une fois de m'aider à comprendre (voir la pièce jointe au post #1 de l'actuelle discussion).

    Bonne journée.
    Je ne Suis Pas un Expert en Programmation
    Le savoir est la lumière de l'esprit
    Le chemin de la réussite

    Les savants sont les héritiers de la science
    Qui cherche positivement trouve
    Tout ce qui brille n'est pas l'or ou diamant
    Mais l'or et le diamant se trouvent avec sagesse, intelligence et effort

  6. #6
    Membre confirmé Avatar de morobaboumar
    Homme Profil pro
    Enseignant
    Inscrit en
    Septembre 2009
    Messages
    1 114
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Septembre 2009
    Messages : 1 114
    Points : 491
    Points
    491
    Par défaut
    Citation Envoyé par morobaboumar Voir le message
    Bonsoir membres du forum,

    1) Voici un code de Jeannot45
    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 txtTitre_Change()
     
        Dim l_strWhere As String
     
            l_strWhere = "WHERE Titre Like " & Chr(34) & _
            "*" & Me.ActiveControl.Text & "*" & Chr(34)
     
            With Me.lstTitre
                .RowSourceType = "Table/Requête"
                .RowSource = "SELECT T_Livres.CodeLivre, T_Livres.TITRE FROM T_Livres " & _
                l_strWhere & _
                " ORDER BY T_Livres.TITRE"
                .Requery
            End With
     
    End Sub
    que j’ai adapté au mien

    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
     
    Private Sub TxtRecherche_ListeELEVES_Chiffre_Littre_Chiffre_Littre_Change()
    Dim l_strWhere As String
     
            l_strWhere = "WHERE NPrenomsEleves Like " & Chr(34) & _
            "*" & Me.ActiveControl.Text & "*" & Chr(34)            
     
            With Me.ListeELEVES_ANNEE_CLASSE_Arabe_ApercuRecherche 
                .RowSourceType = "Table/Requête"
                .RowSource = "SELECT Eleve_INSCRIT_Req_Plus.MleEleve , Eleve_INSCRIT_Req_Plus.NPrenomsEleves,Eleve_INSCRIT_Req_Plus.GenreEleveInscrit,Eleve_INSCRIT_Req_Plus.NPrenomsElevesAR,Eleve_INSCRIT_Req_Plus.ClasseArabe,Eleve_INSCRIT_Req_Plus.ANNEE_SCOL  ,Eleve_INSCRIT_Req_Plus.ID_ETABL_FREQ FROM Eleve_INSCRIT_Req_Plus " & _
                l_strWhere & _
                " ORDER BY Eleve_INSCRIT_Req_Plus.MleEleve"
                .Requery
            End With
     
    End Sub
    Cependant, je souhaiterais que le code filtre les données selon l’année scolaire
    en cours …
    exemple : & " And [ANNEE_SCOL] = " & lstAnnee_Evaluation, etc. mais
    ça marche pas. Quelle serait la solution ?
    Bonsoir membres du forum,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     .RowSource = "SELECT Eleve_INSCRIT_Req_Plus.MleEleve , Eleve_INSCRIT_Req_Plus.NPrenomsEleves,Eleve_INSCRIT_Req_Plus.GenreEleveInscrit,Eleve_INSCRIT_Req_Plus.NPrenomsElevesAR,Eleve_INSCRIT_Req_Plus.ClasseArabe,Eleve_INSCRIT_Req_Plus.ANNEE_SCOL  ,Eleve_INSCRIT_Req_Plus.ID_ETABL_FREQ FROM Eleve_INSCRIT_Req_Plus " & _
                l_strWhere & _
                " ORDER BY Eleve_INSCRIT_Req_Plus.MleEleve"
    j'ai trouvé un code ici https://www.developpez.net/forums/d1...if-formulaire/
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Private Sub Form_ApplyFilter(Cancel As Integer, ApplyType As Integer)
    Dim SQL As String: SQL = "SELECT T_Contacts.id_Contact, T_Contacts.Contact_Nom FROM T_Contacts;"
    SQL = SQL & " where " & Me.Filter 'Applique un filtre correspondant au filtre actif
    Me.ZoneSelection.RowSource = SQL
    End Sub
    Comment pourrais je adapter les deux codes ?
    Merci de bien vouloir m'aider.
    Cordialement.
    Je ne Suis Pas un Expert en Programmation
    Le savoir est la lumière de l'esprit
    Le chemin de la réussite

    Les savants sont les héritiers de la science
    Qui cherche positivement trouve
    Tout ce qui brille n'est pas l'or ou diamant
    Mais l'or et le diamant se trouvent avec sagesse, intelligence et effort

  7. #7
    Membre confirmé Avatar de morobaboumar
    Homme Profil pro
    Enseignant
    Inscrit en
    Septembre 2009
    Messages
    1 114
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Septembre 2009
    Messages : 1 114
    Points : 491
    Points
    491
    Par défaut
    Bonsoir membres du forum,
    Attention, ne riez pas trop!
    Voilà j'ai préparé un cocktail de codes:
    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
    23
    24
    25
    26
    27
     
    Private Sub TxtRecherche_ListeELEVES_Chiffre_Littre_Chiffre_Littre_Change()
    Dim l_strWhere As String
    Dim SQL As String
            l_strWhere = "WHERE NPrenomsEleves Like " & Chr(34) & _
            "*" & Me.ActiveControl.Text & "*" & Chr(34)             ' & " And [ANNEE_SCOL] = " & lstAnnee_Evaluation
     
            With Me.ListeELEVES_ANNEE_CLASSE_Arabe_ApercuRecherche '& " and [lstAnnee_Evaluation] = " & "[Forms]![Frm_EvaluationScolaireElevesECIND_ARABE]![lstAnnee_Evaluation]"
                .RowSourceType = "Table/Requête"
                .RowSource = "SELECT Eleve_INSCRIT_Req_Plus.MleEleve , Eleve_INSCRIT_Req_Plus.NPrenomsEleves,Eleve_INSCRIT_Req_Plus.GenreEleveInscrit,Eleve_INSCRIT_Req_Plus.NPrenomsElevesAR,Eleve_INSCRIT_Req_Plus.ClasseArabe,Eleve_INSCRIT_Req_Plus.ANNEE_SCOL  ,Eleve_INSCRIT_Req_Plus.ID_ETABL_FREQ FROM Eleve_INSCRIT_Req_Plus " & _
                l_strWhere & _
                " ORDER BY Eleve_INSCRIT_Req_Plus.MleEleve"
     
    '=================================================================
    SQL = "SELECT Eleve_INSCRIT_Req_Plus.ANNEE_SCOL';"
    SQL = SQL & " where " & Me.Filter 'Applique un filtre correspondant au filtre actif
    Me.lstAnnee_Evaluation.RowSource = SQL
    Me.ID_ETABL_FREQ.RowSource = SQL
    Me.lstClasse_Evaluation.RowSource = SQL
    Me.ListeNiveauEVALUATION_AR.RowSource = SQL
    Me.ListeComposition_Evaluation.RowSource = SQL
    '=================================================================
     
                .Requery
            End With
     
    End Sub
    Voici le résultat en images:

    Nom : CaptureCodeRecherche ListeDeroulanteAlphaNumérique 13.PNG
Affichages : 191
Taille : 44,8 Ko
    Nom : CaptureCodeRecherche ListeDeroulanteAlphaNumérique 13 B.PNG
Affichages : 199
Taille : 38,1 Ko

    mais je voudrais seulement les infos de l'année en cours.
    Alors là ça va chauffer. Riez un peu et en retour donnez moi le bon code.
    Cordialement.
    Je ne Suis Pas un Expert en Programmation
    Le savoir est la lumière de l'esprit
    Le chemin de la réussite

    Les savants sont les héritiers de la science
    Qui cherche positivement trouve
    Tout ce qui brille n'est pas l'or ou diamant
    Mais l'or et le diamant se trouvent avec sagesse, intelligence et effort

  8. #8
    Membre confirmé Avatar de morobaboumar
    Homme Profil pro
    Enseignant
    Inscrit en
    Septembre 2009
    Messages
    1 114
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Septembre 2009
    Messages : 1 114
    Points : 491
    Points
    491
    Par défaut Introduire 'Filteron' et 'Fiilter' dans le code de Recherche de Jeannot45
    Bonjour membres du forum,
    J'ai réalisé le code suivant ce matin mais il ramène des messages d'erreurs (voir la capture plus bas):
    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
    23
    24
    25
    26
    27
     
    Private Sub TxtRecherche_ListeELEVES_Chiffre_Littre_Chiffre_Littre_Change()
    Dim l_strWhere As String
    'Dim SQL As String
    Dim Filtre As String
     
            l_strWhere = "WHERE NPrenomsEleves Like " & Chr(34) & _
            "*" & Me.ActiveControl.Text & "*" & Chr(34)             ' & " And [ANNEE_SCOL] = " & lstAnnee_Evaluation
     
            With Me.ListeELEVES_ANNEE_CLASSE_Arabe_ApercuRecherche '& " and [lstAnnee_Evaluation] = " & "[Forms]![Frm_EvaluationScolaireElevesECIND_ARABE]![lstAnnee_Evaluation]"
                .RowSourceType = "Table/Requête"
                .RowSource = "SELECT Eleve_INSCRIT_Req_Plus.MleEleve , Eleve_INSCRIT_Req_Plus.NPrenomsEleves,Eleve_INSCRIT_Req_Plus.GenreEleveInscrit,Eleve_INSCRIT_Req_Plus.NPrenomsElevesAR,Eleve_INSCRIT_Req_Plus.ClasseArabe,Eleve_INSCRIT_Req_Plus.ANNEE_SCOL  ,Eleve_INSCRIT_Req_Plus.ID_ETABL_FREQ FROM Eleve_INSCRIT_Req_Plus " & _
                l_strWhere & _
                " ORDER BY Eleve_INSCRIT_Req_Plus.MleEleve"
     
    Me.Filter = "[Eleve_INSCRIT_Req_Plus.ClasseArabe]='" & Me.lstClasse_Evaluation & "' and" _
    'Me.FilterOn = True
    Me.Filter = "[Eleve_INSCRIT_Req_Plus.ANNEE_SCOL]='" & Me.lstAnnee_Evaluation & "' and" _
    'Me.FilterOn = True
    Me.Filter = "[Eleve_INSCRIT_Req_Plus.ID_ETABL_FREQ]=" & Me.ID_ETABL_FREQ & ""
    Me.FilterOn = True
     
                .Requery
     
            End With
     
    End Sub
    Messages d'erreur:

    Nom : CaptureCodeRecherche ListeDeroulanteAlphaNumérique 13 C.PNG
Affichages : 198
Taille : 32,4 Ko
    Nom : CaptureCodeRecherche ListeDeroulanteAlphaNumérique 13 D.PNG
Affichages : 198
Taille : 29,2 Ko

    Voir la pièce jointe ici
    https://drop.infini.fr/r/c3VsqUxTLa#...qLgp419fZEsFQ=

    Cordialement.
    Je ne Suis Pas un Expert en Programmation
    Le savoir est la lumière de l'esprit
    Le chemin de la réussite

    Les savants sont les héritiers de la science
    Qui cherche positivement trouve
    Tout ce qui brille n'est pas l'or ou diamant
    Mais l'or et le diamant se trouvent avec sagesse, intelligence et effort

  9. #9
    Expert éminent
    Homme Profil pro
    Webplanneur
    Inscrit en
    Octobre 2007
    Messages
    4 262
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Réunion

    Informations professionnelles :
    Activité : Webplanneur

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 262
    Points : 6 561
    Points
    6 561
    Par défaut
    Bonjour
    Si vous pouviez éviter d'ouvrir plusieurs post pour un même problème.
    Comme indiqué, je ne sais plus quand, entre la méthode de Jeannot45 et Caféine, dans une série de post, votre bdd laissée en pj est inexploitable.
    En pj un bout de bdd avec reprise de tbl de votre bdd qui traite en partie la problématique de filtrer votre listbox à partir de plusieurs combobox.
    Fichiers attachés Fichiers attachés
    "Le savoir est la seule matière qui s'accroit quand on la partage" (Socrate)
    UR - ESIROI - GPME/CG/DCG8
    QTH :21°19'18"S - 055°25'32"E
    Inutile de me contacter par MP
    Merci de cliquer sur si la réponse vous a permis de résoudre votre problème et n'oubliez pas de clôturer le fil en cliquant sur

  10. #10
    Membre confirmé Avatar de morobaboumar
    Homme Profil pro
    Enseignant
    Inscrit en
    Septembre 2009
    Messages
    1 114
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Septembre 2009
    Messages : 1 114
    Points : 491
    Points
    491
    Par défaut
    Citation Envoyé par hyperion13 Voir le message
    Bonjour
    Si vous pouviez éviter d'ouvrir plusieurs post pour un même problème.
    Comme indiqué, je ne sais plus quand, entre la méthode de Jeannot45 et Caféine, dans une série de post, votre bdd laissée en pj est inexploitable.
    En pj un bout de bdd avec reprise de tbl de votre bdd qui traite en partie la problématique de filtrer votre listbox à partir de plusieurs combobox.
    Bonjour hyperion13,
    Je suis vraiment enjaillé (très très heureux) comme on le dit chez nous.
    Désolé d'ouvrir les sujets partout.

    Je vous rappelle que je suis comme un orpailleur non expert en programmation informatique
    qui cherche coute que coute.

    Merci infiniment le temps de tester votre cadeau royal.
    Pendant ce temps, pourriez vous me si mon code au post #1 est il bon ou mauvais ?

    Cordialement.
    Je ne Suis Pas un Expert en Programmation
    Le savoir est la lumière de l'esprit
    Le chemin de la réussite

    Les savants sont les héritiers de la science
    Qui cherche positivement trouve
    Tout ce qui brille n'est pas l'or ou diamant
    Mais l'or et le diamant se trouvent avec sagesse, intelligence et effort

  11. #11
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Développeur VBA/C#/VB.Net/Power Platform
    Inscrit en
    Juillet 2007
    Messages
    14 593
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur VBA/C#/VB.Net/Power Platform
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 593
    Points : 34 250
    Points
    34 250
    Par défaut
    Salut,

    ici l'erreur dans ton code c'est d'avoir qu'en fin de filtre le mot clé And.

    Utilise la variable pour avoir le suivi du contenu du filtre, pour voir à quoi il ressemble au fur et à mesure que tu concatènes.

    Si à la fin il te reste un AND en trop, il faut le retirer avec par exemple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    If Ucase(Right(Filtre,3))="AND" Then
    Filtre = Left (Filtre,Len(Filtre)-3)
    End If
    Me.Filter = Filtre
    Cycle de vie d'un bon programme :
    1/ ça fonctionne 2/ ça s'optimise 3/ ça se refactorise

    Pas de question technique par MP, je ne réponds pas

    Mes ouvrages :
    Apprendre à programmer avec Access 2016, Access 2019 et 2021

    Apprendre à programmer avec VBA Excel
    Prise en main de Dynamics 365 Business Central

    Pensez à consulter la FAQ Excel et la FAQ Access

    Derniers tutos
    Excel et les paramètres régionaux
    Les fichiers Excel binaires : xlsb,

    Autres tutos

  12. #12
    Membre confirmé Avatar de morobaboumar
    Homme Profil pro
    Enseignant
    Inscrit en
    Septembre 2009
    Messages
    1 114
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Septembre 2009
    Messages : 1 114
    Points : 491
    Points
    491
    Par défaut
    Citation Envoyé par hyperion13 Voir le message
    Bonjour
    Si vous pouviez éviter d'ouvrir plusieurs post pour un même problème.
    Comme indiqué, je ne sais plus quand, entre la méthode de Jeannot45 et Caféine, dans une série de post, votre bdd laissée en pj est inexploitable.
    En pj un bout de bdd avec reprise de tbl de votre bdd qui traite en partie la problématique de filtrer votre listbox à partir de plusieurs combobox.
    Bonjour hyperion13,
    Merci infiniment d'avoir réorganisé mes discussions sur le sujet actuelles.
    J'ai adapté mon code au votre. Ca marche!
    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
     
    Private Sub FiltrerListe()
    Dim strSql As String
     
    If Me.ID_ETABL_FREQ.ListIndex >= 0 Then strSql = strSql & " AND ID_ETABL_FREQ = " & Me.ID_ETABL_FREQ
     
    If Me.lstAnnee_Evaluation.ListIndex >= 0 Then strSql = strSql & " AND ANNEE_SCOL = '" & Me.lstAnnee_Evaluation & "'"
     
    If Me.lstClasse_Evaluation.ListIndex >= 0 Then strSql = strSql & " AND ClasseArabe = '" & Me.lstClasse_Evaluation & "'"
     
    If strSql <> "" Then strSql = " WHERE " & Mid(strSql, 6)
     
    strSql = "SELECT Eleve_INSCRIT_Req_Plus.Mleeleve, Eleve_INSCRIT_Req_Plus.NPrenomsEleves, Eleve_INSCRIT_Req_Plus.GenreEleveInscrit, Eleve_INSCRIT_Req_Plus.NPrenomsElevesAR, Eleve_INSCRIT_Req_Plus.ClasseArabe, Eleve_INSCRIT_Req_Plus.ANNEE_SCOL, Eleve_INSCRIT_Req_Plus.ID_ETABL_FREQ FROM Eleve_INSCRIT_Req_Plus " & strSql
     
    strSql = strSql & " ORDER BY Eleve_INSCRIT_Req_Plus.NPrenomsEleves;"
     
    Me.ListeELEVES_ANNEE_CLASSE_Arabe_ApercuRecherche.RowSource = strSql
    Me.ListeELEVES_ANNEE_CLASSE_Arabe_ApercuRecherche.Requery
    End Sub
    Pourriez vous m'expliquer ce bout de code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     Then strSql = " WHERE " & Mid(strSql, 6)
    et le chiffre 6 que représente t il ?
    Cordialement.
    Je ne Suis Pas un Expert en Programmation
    Le savoir est la lumière de l'esprit
    Le chemin de la réussite

    Les savants sont les héritiers de la science
    Qui cherche positivement trouve
    Tout ce qui brille n'est pas l'or ou diamant
    Mais l'or et le diamant se trouvent avec sagesse, intelligence et effort

  13. #13
    Membre confirmé Avatar de morobaboumar
    Homme Profil pro
    Enseignant
    Inscrit en
    Septembre 2009
    Messages
    1 114
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Septembre 2009
    Messages : 1 114
    Points : 491
    Points
    491
    Par défaut
    Citation Envoyé par Jean-Philippe André Voir le message
    Salut,

    ici l'erreur dans ton code c'est d'avoir qu'en fin de filtre le mot clé And.

    Utilise la variable pour avoir le suivi du contenu du filtre, pour voir à quoi il ressemble au fur et à mesure que tu concatènes.

    Si à la fin il te reste un AND en trop, il faut le retirer avec par exemple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    If Ucase(Right(Filtre,3))="AND" Then
    Filtre = Left (Filtre,Len(Filtre)-3)
    End If
    Me.Filter = Filtre
    Bonjour Jean-Philippe André,
    Merci infiniment pour votre aide précieuse.
    Permettez moi de vous demander encore une fois:
    - pourriez vous m'expliquer comment pourrait on programmer le code suivant
    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
     
    Private Sub TxtRecherche_ListeELEVES_Chiffre_Littre_Chiffre_Littre_Change()
    Dim l_strWhere As String
     
            l_strWhere = "WHERE NPrenomsEleves Like " & Chr(34) & _
            "*" & Me.ActiveControl.Text & "*" & Chr(34)             ' & " And [ANNEE_SCOL] = " & lstAnnee_Evaluation
     
            With Me.ListeELEVES_ANNEE_CLASSE_Arabe_ApercuRecherche '& " and [lstAnnee_Evaluation] = " & "[Forms]![Frm_EvaluationScolaireElevesECIND_ARABE]![lstAnnee_Evaluation]"
                .RowSourceType = "Table/Requête"
                .RowSource = "SELECT Eleve_INSCRIT_Req_Plus.MleEleve , " & vbCrLf & _
                "Eleve_INSCRIT_Req_Plus.NPrenomsEleves,Eleve_INSCRIT_Req_Plus.GenreEleveInscrit," & vbCrLf & _
                "Eleve_INSCRIT_Req_Plus.NPrenomsElevesAR,Eleve_INSCRIT_Req_Plus.ClasseArabe," & vbCrLf & _
                "Eleve_INSCRIT_Req_Plus.ANNEE_SCOL,Eleve_INSCRIT_Req_Plus.ID_ETABL_FREQ FROM Eleve_INSCRIT_Req_Plus " & _
                l_strWhere & _
                " ORDER BY Eleve_INSCRIT_Req_Plus.MleEleve"
                .Requery
     
            End With
     
    End Sub
    de sorte qu'il filtre les données
    en fonction des critères en cours

    (
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    If Me.ID_ETABL_FREQ.ListIndex >= 0 Then strSql = strSql & " AND ID_ETABL_FREQ = " & Me.ID_ETABL_FREQ
     
    If Me.lstAnnee_Evaluation.ListIndex >= 0 Then strSql = strSql & " AND ANNEE_SCOL = '" & Me.lstAnnee_Evaluation & "'"
     
    If Me.lstClasse_Evaluation.ListIndex >= 0 Then strSql = strSql & " AND ClasseArabe = '" & Me.lstClasse_Evaluation & "'"
     
    If strSql <> "" Then strSql = " WHERE " & Mid(strSql, 6)
    ) ?

    Nom : CaptureCodeRecherche ListeDeroulanteAlphaNumérique 13.PNG
Affichages : 226
Taille : 44,8 Ko
    Nom : CaptureCodeRecherche ListeDeroulanteAlphaNumérique 13 B.PNG
Affichages : 234
Taille : 38,1 Ko

    Remarquez les infos de toutes les années sont affichées or seules celles de
    l'année en cours le devraient.

    Cordialement.
    Je ne Suis Pas un Expert en Programmation
    Le savoir est la lumière de l'esprit
    Le chemin de la réussite

    Les savants sont les héritiers de la science
    Qui cherche positivement trouve
    Tout ce qui brille n'est pas l'or ou diamant
    Mais l'or et le diamant se trouvent avec sagesse, intelligence et effort

  14. #14
    Expert éminent
    Homme Profil pro
    Webplanneur
    Inscrit en
    Octobre 2007
    Messages
    4 262
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Réunion

    Informations professionnelles :
    Activité : Webplanneur

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 262
    Points : 6 561
    Points
    6 561
    Par défaut
    A la question posée If strSql <> "" Then strSql = "WHERE " & Mid(strSql, 6) à quoi correspond 6 ? La réponse est ici.
    Pour les difficultés que vous rencontrez pour filtrer votre listbox, comme déjà indiqué, votre bdd du Post#1 est inexploitable. L'extrait que j'ai déposé hier reprend les tables essentielles de votre bdd pour obtenir le résultat attendu à votre problématique.
    Pour ma part à partir de cet extrait, tout fonctionne très bien. La preuve en img.
    Images attachées Images attachées   
    "Le savoir est la seule matière qui s'accroit quand on la partage" (Socrate)
    UR - ESIROI - GPME/CG/DCG8
    QTH :21°19'18"S - 055°25'32"E
    Inutile de me contacter par MP
    Merci de cliquer sur si la réponse vous a permis de résoudre votre problème et n'oubliez pas de clôturer le fil en cliquant sur

  15. #15
    Membre confirmé Avatar de morobaboumar
    Homme Profil pro
    Enseignant
    Inscrit en
    Septembre 2009
    Messages
    1 114
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Septembre 2009
    Messages : 1 114
    Points : 491
    Points
    491
    Par défaut
    Citation Envoyé par hyperion13 Voir le message
    A la question posée If strSql <> "" Then strSql = "WHERE " & Mid(strSql, 6) à quoi correspond 6 ? La réponse est ici.
    Pour les difficultés que vous rencontrez pour filtrer votre listbox, comme déjà indiqué, votre bdd du Post#1 est inexploitable. L'extrait que j'ai déposé hier reprend les tables essentielles de votre bdd pour obtenir le résultat attendu à votre problématique.
    Pour ma part à partir de cet extrait, tout fonctionne très bien. La preuve en img.
    Bonsoir hyperion13,
    Il n'y a aucun problème au niveau de votre bdd exemple que vous m'avez postée.
    Effectivement tout fonctionne.
    Merci pour le lien à travers lequel j'ai eu beaucoup d'infos.
    Je ne Suis Pas un Expert en Programmation
    Le savoir est la lumière de l'esprit
    Le chemin de la réussite

    Les savants sont les héritiers de la science
    Qui cherche positivement trouve
    Tout ce qui brille n'est pas l'or ou diamant
    Mais l'or et le diamant se trouvent avec sagesse, intelligence et effort

  16. #16
    Membre confirmé Avatar de morobaboumar
    Homme Profil pro
    Enseignant
    Inscrit en
    Septembre 2009
    Messages
    1 114
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Septembre 2009
    Messages : 1 114
    Points : 491
    Points
    491
    Par défaut
    Citation Envoyé par morobaboumar Voir le message
    Bonjour Jean-Philippe André,
    Merci infiniment pour votre aide précieuse.
    Permettez moi de vous demander encore une fois:
    - pourriez vous m'expliquer comment pourrait on programmer le code suivant
    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
     
    Private Sub TxtRecherche_ListeELEVES_Chiffre_Littre_Chiffre_Littre_Change()
    Dim l_strWhere As String
     
            l_strWhere = "WHERE NPrenomsEleves Like " & Chr(34) & _
            "*" & Me.ActiveControl.Text & "*" & Chr(34)             ' & " And [ANNEE_SCOL] = " & lstAnnee_Evaluation
     
            With Me.ListeELEVES_ANNEE_CLASSE_Arabe_ApercuRecherche '& " and [lstAnnee_Evaluation] = " & "[Forms]![Frm_EvaluationScolaireElevesECIND_ARABE]![lstAnnee_Evaluation]"
                .RowSourceType = "Table/Requête"
                .RowSource = "SELECT Eleve_INSCRIT_Req_Plus.MleEleve , " & vbCrLf & _
                "Eleve_INSCRIT_Req_Plus.NPrenomsEleves,Eleve_INSCRIT_Req_Plus.GenreEleveInscrit," & vbCrLf & _
                "Eleve_INSCRIT_Req_Plus.NPrenomsElevesAR,Eleve_INSCRIT_Req_Plus.ClasseArabe," & vbCrLf & _
                "Eleve_INSCRIT_Req_Plus.ANNEE_SCOL,Eleve_INSCRIT_Req_Plus.ID_ETABL_FREQ FROM Eleve_INSCRIT_Req_Plus " & _
                l_strWhere & _
                " ORDER BY Eleve_INSCRIT_Req_Plus.MleEleve"
                .Requery
     
            End With
     
    End Sub
    de sorte qu'il filtre les données
    en fonction des critères en cours

    (
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    If Me.ID_ETABL_FREQ.ListIndex >= 0 Then strSql = strSql & " AND ID_ETABL_FREQ = " & Me.ID_ETABL_FREQ
     
    If Me.lstAnnee_Evaluation.ListIndex >= 0 Then strSql = strSql & " AND ANNEE_SCOL = '" & Me.lstAnnee_Evaluation & "'"
     
    If Me.lstClasse_Evaluation.ListIndex >= 0 Then strSql = strSql & " AND ClasseArabe = '" & Me.lstClasse_Evaluation & "'"
     
    If strSql <> "" Then strSql = " WHERE " & Mid(strSql, 6)
    ) ?

    Nom : CaptureCodeRecherche ListeDeroulanteAlphaNumérique 13.PNG
Affichages : 226
Taille : 44,8 Ko
    Nom : CaptureCodeRecherche ListeDeroulanteAlphaNumérique 13 B.PNG
Affichages : 234
Taille : 38,1 Ko

    Remarquez les infos de toutes les années sont affichées or seules celles de
    l'année en cours le devraient.
    Un dernier recours pour fermer la discussion.
    J'aimerais savoir comment puis je associer le présent code ?
    A+
    Je ne Suis Pas un Expert en Programmation
    Le savoir est la lumière de l'esprit
    Le chemin de la réussite

    Les savants sont les héritiers de la science
    Qui cherche positivement trouve
    Tout ce qui brille n'est pas l'or ou diamant
    Mais l'or et le diamant se trouvent avec sagesse, intelligence et effort

  17. #17
    Expert éminent
    Homme Profil pro
    Webplanneur
    Inscrit en
    Octobre 2007
    Messages
    4 262
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Réunion

    Informations professionnelles :
    Activité : Webplanneur

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 262
    Points : 6 561
    Points
    6 561
    Par défaut
    Question idiote.
    Dans la mesure où vous utilisez des combobox (Étab, AnnéeScol, Classe, etc.) pour filtrer votre listbox pourquoi n'utilisez vous pas tout simplement une autre combobox pour aller récupérer les nom d'un élève, que d'utiliser une txtbox ?
    Si vous voulez impérativement une textbox, intégrer une ligne IF ... THEN ... supplémentaire pour tester la valeur de la textbox.
    Je ne sais pas avec quel code vba vous travaillez, mais en analysant la dernière capture de form de votre Post#16, la combobox année affiche 2020-2021, la combobox classe affiche cp2a et pourtant votre listbox affiche toutes les années sauf 2020-2021 et d'autres classes que cp2a.
    "Le savoir est la seule matière qui s'accroit quand on la partage" (Socrate)
    UR - ESIROI - GPME/CG/DCG8
    QTH :21°19'18"S - 055°25'32"E
    Inutile de me contacter par MP
    Merci de cliquer sur si la réponse vous a permis de résoudre votre problème et n'oubliez pas de clôturer le fil en cliquant sur

  18. #18
    Membre confirmé Avatar de morobaboumar
    Homme Profil pro
    Enseignant
    Inscrit en
    Septembre 2009
    Messages
    1 114
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Septembre 2009
    Messages : 1 114
    Points : 491
    Points
    491
    Par défaut
    Citation Envoyé par hyperion13 Voir le message
    Question idiote.
    Si vous voulez impérativement une textbox, intégrer une ligne IF ... THEN ... supplémentaire pour tester la valeur de la textbox.
    Bonsoir hyperion13,
    Vous venez de me donner une idée que je vais exploiter. Voilà ce que j'ai réalisé:
    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
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
     
    Private Sub TxtRecherche_ListeELEVES_Chiffre_Littre_Chiffre_Littre_Change()
    'Dim l_strWhere As String
     
            'l_strWhere = "WHERE NPrenomsEleves Like " & Chr(34) & _
            "*" & Me.ActiveControl.Text & "*" & Chr(34)
     
            'With Me.ListeELEVES_ANNEE_CLASSE_Arabe_ApercuRecherche
            '.RowSourceType = "Table/Requête"
                '.RowSource = "SELECT Eleve_INSCRIT_Req_Plus.MleEleve , " & vbCrLf & _
               ' "Eleve_INSCRIT_Req_Plus.NPrenomsEleves,Eleve_INSCRIT_Req_Plus.GenreEleveInscrit," & vbCrLf & _
                "Eleve_INSCRIT_Req_Plus.NPrenomsElevesAR,Eleve_INSCRIT_Req_Plus.ClasseArabe," & vbCrLf & _
                "Eleve_INSCRIT_Req_Plus.ANNEE_SCOL,Eleve_INSCRIT_Req_Plus.ID_ETABL_FREQ FROM Eleve_INSCRIT_Req_Plus " & _
                l_strWhere & _
                " ORDER BY Eleve_INSCRIT_Req_Plus.MleEleve"
     
                '.Requery
     
            'End With
     
    Dim l_strWhere As String
    Dim SQL As String
    Dim Filtre As String
     
            l_strWhere = "WHERE NPrenomsEleves Like " & Chr(34) & _
            "*" & Me.ActiveControl.Text & "*" & Chr(34)             ' & " And [ANNEE_SCOL] = " & lstAnnee_Evaluation
     
            With Me.ListeELEVES_ANNEE_CLASSE_Arabe_ApercuRecherche '& " and [lstAnnee_Evaluation] = " & "[Forms]![Frm_EvaluationScolaireElevesECIND_ARABE]![lstAnnee_Evaluation]"
                .RowSourceType = "Table/Requête"
                .RowSource = "SELECT Eleve_INSCRIT_Req_Plus.MleEleve , Eleve_INSCRIT_Req_Plus.NPrenomsEleves,Eleve_INSCRIT_Req_Plus.GenreEleveInscrit,Eleve_INSCRIT_Req_Plus.NPrenomsElevesAR,Eleve_INSCRIT_Req_Plus.ClasseArabe,Eleve_INSCRIT_Req_Plus.ANNEE_SCOL  ,Eleve_INSCRIT_Req_Plus.ID_ETABL_FREQ FROM Eleve_INSCRIT_Req_Plus " & _
                l_strWhere & _
                " ORDER BY Eleve_INSCRIT_Req_Plus.MleEleve"
     
    If Me.Filter = "[Eleve_INSCRIT_Req_Plus.ClasseArabe]='" & _
    Me.lstClasse_Evaluation & "' and[Eleve_INSCRIT_Req_Plus.ANNEE_SCOL]='" & Me.lstAnnee_Evaluation & "'and [Eleve_INSCRIT_Req_Plus.ID_ETABL_FREQ]=" & Me.ID_ETABL_FREQ & "" Then
     
    Me.FilterOn = True
    End If
                .Requery
     
            End With
     
    End Sub
    Merci de bien vouloir le tester tester pour moi.
    Cordialement.
    Je ne Suis Pas un Expert en Programmation
    Le savoir est la lumière de l'esprit
    Le chemin de la réussite

    Les savants sont les héritiers de la science
    Qui cherche positivement trouve
    Tout ce qui brille n'est pas l'or ou diamant
    Mais l'or et le diamant se trouvent avec sagesse, intelligence et effort

  19. #19
    Expert éminent
    Homme Profil pro
    Webplanneur
    Inscrit en
    Octobre 2007
    Messages
    4 262
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Réunion

    Informations professionnelles :
    Activité : Webplanneur

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 262
    Points : 6 561
    Points
    6 561
    Par défaut
    A partir de l'extrait de bdd que j'ai déposé ici et txtNPrenomsEleve visible sur le form (img)
    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
    Private Sub txtNPrenomsEleve_Change()
    Dim strSql As String, strWhere As String
     
    strWhere = " AND ID_ETABL_FREQ = " & Me.cboEtab
    strWhere = strWhere & " AND ANNEE_SCOL = '" & Me.cboAnnee & "'"
    strWhere = strWhere & " AND Eleve_INSCRIT.NPrenomsEleves Like '*" & Me.txtNPrenomsEleve.Text & "*'"
     
    strSql = "SELECT mleeleve_fk, NPrenomsEleves, GenreEleveInscrit, NPrenomsElevesAR, ClasseArabe, ANNEE_SCOL, ID_ETABL_FREQ" _
    & " FROM ELEVE, Eleve_INSCRIT, INSCRIPTION_SCOLARITE" _
    & " WHERE ELEVE.mleeleve = Eleve_INSCRIT.mleeleve_fk" _
    & " AND Eleve_INSCRIT.Num_Inscription = INSCRIPTION_SCOLARITE.NumInscriptionEleveInscrit" _
    & " AND Eleve_INSCRIT.mleeleve_fk = INSCRIPTION_SCOLARITE.mleeleve_fk1" _
    & " AND Eleve_INSCRIT.ID_ETABL_FREQ = INSCRIPTION_SCOLARITE.Id_etablissement"
     
    strSql = strSql & strWhere
     
    Me.lstEleve.RowSource = strSql
    Me.lstEleve.Requery
     
    End Sub
    Images attachées Images attachées  
    "Le savoir est la seule matière qui s'accroit quand on la partage" (Socrate)
    UR - ESIROI - GPME/CG/DCG8
    QTH :21°19'18"S - 055°25'32"E
    Inutile de me contacter par MP
    Merci de cliquer sur si la réponse vous a permis de résoudre votre problème et n'oubliez pas de clôturer le fil en cliquant sur

  20. #20
    Membre confirmé Avatar de morobaboumar
    Homme Profil pro
    Enseignant
    Inscrit en
    Septembre 2009
    Messages
    1 114
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Septembre 2009
    Messages : 1 114
    Points : 491
    Points
    491
    Par défaut
    Citation Envoyé par hyperion13 Voir le message
    A partir de l'extrait de bdd que j'ai déposé ici et txtNPrenomsEleve visible sur le form (img)
    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
    Private Sub txtNPrenomsEleve_Change()
    Dim strSql As String, strWhere As String
     
    strWhere = " AND ID_ETABL_FREQ = " & Me.cboEtab
    strWhere = strWhere & " AND ANNEE_SCOL = '" & Me.cboAnnee & "'"
    strWhere = strWhere & " AND Eleve_INSCRIT.NPrenomsEleves Like '*" & Me.txtNPrenomsEleve.Text & "*'"
     
    strSql = "SELECT mleeleve_fk, NPrenomsEleves, GenreEleveInscrit, NPrenomsElevesAR, ClasseArabe, ANNEE_SCOL, ID_ETABL_FREQ" _
    & " FROM ELEVE, Eleve_INSCRIT, INSCRIPTION_SCOLARITE" _
    & " WHERE ELEVE.mleeleve = Eleve_INSCRIT.mleeleve_fk" _
    & " AND Eleve_INSCRIT.Num_Inscription = INSCRIPTION_SCOLARITE.NumInscriptionEleveInscrit" _
    & " AND Eleve_INSCRIT.mleeleve_fk = INSCRIPTION_SCOLARITE.mleeleve_fk1" _
    & " AND Eleve_INSCRIT.ID_ETABL_FREQ = INSCRIPTION_SCOLARITE.Id_etablissement"
     
    strSql = strSql & strWhere
     
    Me.lstEleve.RowSource = strSql
    Me.lstEleve.Requery
     
    End Sub
    Bonsoir hyperion13,
    Au départ voici comment votre code affichait les données:

    Nom : CaptureCodeRecherche ListeDeroulanteAlphaNumérique 14.PNG
Affichages : 144
Taille : 55,9 Ko

    alors j'y ai ajouté cette ligne au code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    strWhere = strWhere & " AND ClasseArabe = '" & Me.lstClasse_Evaluation & "'"
    et voilà comment l'affichage se présente:

    Nom : CaptureCodeRecherche ListeDeroulanteAlphaNumérique 15.PNG
Affichages : 130
Taille : 33,5 Ko

    ce je recherchais.
    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
     
    Private Sub txtNPrenomsEleve_Change()
    Dim strSql As String, strWhere As String
     
    strWhere = " AND ID_ETABL_FREQ = " & Me.cboEtab
    strWhere = strWhere & " AND ANNEE_SCOL = '" & Me.cboAnnee & "'"
    strWhere = strWhere & " AND ClasseArabe = '" & Me.cboClasse & "'"
    strWhere = strWhere & " AND Eleve_INSCRIT.NPrenomsEleves Like '*" & Me.txtNPrenomsEleve.Text & "*'"
     
    strSql = "SELECT mleeleve_fk, NPrenomsEleves, GenreEleveInscrit, NPrenomsElevesAR, ClasseArabe, ANNEE_SCOL, ID_ETABL_FREQ" _
    & " FROM ELEVE, Eleve_INSCRIT, INSCRIPTION_SCOLARITE" _
    & " WHERE ELEVE.mleeleve = Eleve_INSCRIT.mleeleve_fk" _
    & " AND Eleve_INSCRIT.Num_Inscription = INSCRIPTION_SCOLARITE.NumInscriptionEleveInscrit" _
    & " AND Eleve_INSCRIT.mleeleve_fk = INSCRIPTION_SCOLARITE.mleeleve_fk1" _
    & " AND Eleve_INSCRIT.ID_ETABL_FREQ = INSCRIPTION_SCOLARITE.Id_etablissement"
     
    strSql = strSql & strWhere
     
    Me.lstEleve.RowSource = strSql
    Me.lstEleve.Requery
     
    End Sub
    Pièce jointe

    Merci infiniment hyperion13. N'eut été voir générosité, ce serait pas chose facile pour moi.
    Que le Seigneur vous protège ainsi que toute la famille.
    Cordialement.
    Fichiers attachés Fichiers attachés
    Je ne Suis Pas un Expert en Programmation
    Le savoir est la lumière de l'esprit
    Le chemin de la réussite

    Les savants sont les héritiers de la science
    Qui cherche positivement trouve
    Tout ce qui brille n'est pas l'or ou diamant
    Mais l'or et le diamant se trouvent avec sagesse, intelligence et effort

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 3 123 DernièreDernière

Discussions similaires

  1. [AC-2003] recherche multicritère ( tuto caféine)
    Par Scopas dans le forum Requêtes et SQL.
    Réponses: 7
    Dernier message: 18/03/2016, 18h27
  2. Réponses: 1
    Dernier message: 19/12/2013, 08h35
  3. [MySQL] Recherche multicritères selon listes déroulantes
    Par LIMITE dans le forum PHP & Base de données
    Réponses: 8
    Dernier message: 10/05/2013, 01h22
  4. Recherche multicritères de Caféine.
    Par Julieta dans le forum VBA Access
    Réponses: 1
    Dernier message: 12/12/2007, 11h08
  5. recherche multicritères
    Par onlineduel dans le forum Débuter
    Réponses: 3
    Dernier message: 30/03/2004, 16h15

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