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 :

Filtrer sur liste [AC-2013]


Sujet :

VBA Access

  1. #1
    Membre éprouvé Avatar de HDU71000
    Homme Profil pro
    Développement Access - En recherche de poste télétravail (invalide)
    Inscrit en
    Août 2016
    Messages
    716
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : Développement Access - En recherche de poste télétravail (invalide)

    Informations forums :
    Inscription : Août 2016
    Messages : 716
    Points : 1 023
    Points
    1 023
    Par défaut Filtrer sur liste
    Bonjour,

    et désolé pour le multi postage, mais je ne sais pas trop où poster, car cela concerne aussi bien les forms, query que vba.

    Voici mon message :

    Bonjour,
    suite à mon message : https://www.developpez.net/forums/d1...s-liste-choix/

    je me suis tourné vers des zones de liste à choix multiples pour mon form de filtrage.

    Par contre, juste à la première liste (j'en aurai une dizaine), j'ai une erreur sur le code vba. En effet, j'aimerais, une fois les sélections faites, afficher un formulaire filtré selon les choix opérés :

    Sur un formulaire indépendant, j'ai mis une zone de liste avec possibilité de choix multiple, et j'ai créé un bouton pour tester. Voici le code


    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 Commande13_Click()
     
      Dim varI As Variant
      Dim strFiltre As String
     
      strFiltre = ""
      If Me.listelangue.ItemsSelected.Count = 0 Then
        MsgBox "Aucune langue n'a été sélectionnée"
      Else
        For Each varI In Me!listelangue.ItemsSelected
          If strFiltre <> "" Then strFiltre = strFiltre & " OR "
            strFiltre = strFiltre & "[langue]='" & _
              Me!listelangue.ItemData(varI) & "'"
          Next varI
             DoCmd.OpenForm "f_organisme", acNormal, , strFiltre
      End If
    End Sub
    J'ai un beau message qui m'annonce que :
    Nom : Capture.PNG
Affichages : 83
Taille : 5,6 Ko


    Merci.

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

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

    Informations forums :
    Inscription : Juin 2012
    Messages : 3 183
    Points : 5 515
    Points
    5 515
    Par défaut
    Bonjour,

    Si j'en crois ce post, une possibilité serait d'indiquer [Langue].Value

    Si cela ne marche pas, je suggererais de tester sur une autre machine, et voir si l'erreur s'y produit. Si sur cette autre machine, il n'y a pas de problème, voir si ce n'est pas un problème Windows. Voir ceci et ceci. Non testé.

    Cordialement.

  3. #3
    Membre éprouvé Avatar de HDU71000
    Homme Profil pro
    Développement Access - En recherche de poste télétravail (invalide)
    Inscrit en
    Août 2016
    Messages
    716
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : Développement Access - En recherche de poste télétravail (invalide)

    Informations forums :
    Inscription : Août 2016
    Messages : 716
    Points : 1 023
    Points
    1 023
    Par défaut
    Bonjour et merci,

    j'ai résolu le souci en faisant comme ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    If Me.listelangue.ItemsSelected.Count = 0 Then 'idem
        'MsgBox "Aucune langue n'a été sélectionnée" pour obliger à sélectionner
        strFiltre = strFiltre
    Else
        For Each varI In Me!listelangue.ItemsSelected
            If strFiltre <> "" Then strFiltre = strFiltre & " AND "
            strFiltre = strFiltre & "([Lookup_langue].[langue]=" & "'" & Me!listelangue.ItemData(varI) & "'" & ")"
        Next varI
    End If
    A+

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

Discussions similaires

  1. [AC-2013] Filtrer sur liste
    Par HDU71000 dans le forum IHM
    Réponses: 0
    Dernier message: 29/04/2017, 01h35
  2. Réponses: 4
    Dernier message: 27/10/2011, 15h06
  3. [XL-2007] Filtrer sur TCD à partir d'une Liste
    Par Just-Soft dans le forum Excel
    Réponses: 32
    Dernier message: 04/08/2010, 17h05
  4. Réponses: 5
    Dernier message: 15/12/2009, 19h47
  5. Filtrer une liste sur les valeurs d'une colonne
    Par julien.63 dans le forum SharePoint
    Réponses: 3
    Dernier message: 13/02/2009, 08h43

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