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 :

Filtrer Listbox à l'aide d'une saisie dans Textbox


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre très actif
    Femme Profil pro
    Assistante
    Inscrit en
    Février 2016
    Messages
    166
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Assistante

    Informations forums :
    Inscription : Février 2016
    Messages : 166
    Par défaut Filtrer Listbox à l'aide d'une saisie dans Textbox
    Bonjour à tous,

    Je souhaite trouver le moyen de filtrer le contenu de ma listbox en fonction de la saisie de ma textbox (des dates seront uniquement saisies JJ/MM/AAAA)
    J'y arrive avec des boutons d'option, mais pas avec une textbox.


    J'appel une fonction pour charger ma listbox qui fonctionne parfaitement, mais au niveau du filtre (saisie textbox), du coup je coince :
    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
    44
    45
    46
    47
    48
    49
    Function P3()
     
    'la condition du filtre devrait être placé ici, pour donner un truc comme ça :
    If P3Textbox.Value <> "" Then
    lefiltre = 'Serait une date
    End If
     
     
     
     
    'alimente la listbox
    Dim col As Byte
    Dim lign As Long, drlig As Long
    If P3Cbformation = "" Then Exit Function
    P3Listbox.Clear
    With Workbooks("FORMATIONS").Worksheets("formations")
        drlig = Workbooks("FORMATIONS").Worksheets("formations").range("A" & Workbooks("FORMATIONS").Worksheets("formations").Rows.Count).End(xlUp).Row
         If lefiltre = P3Textbox.Value Then
            For lign = 1 To drlig
                If .Cells(lign, 6) = P3Cbformation Then
                    P3Listbox.AddItem .Cells(lign, 1)
                    For col = 1 To 9
                        If col = 8 Then
                            P3Listbox.List(P3Listbox.ListCount - 1, col) = .Cells(lign, 36)
                        Else
                            P3Listbox.List(P3Listbox.ListCount - 1, col) = .Cells(lign, col + 1)
                        End If
                    Next col
                End If
            Next lign
        Else
            For lign = 1 To drlig
                If .Cells(lign, 6) = P3Cbformation And .Cells(lign, 33) = lefiltre Then '(Mes dates sont insérées dans la colonne 33 de ma feuille)
                    P3Listbox.AddItem .Cells(lign, 1)
                    For col = 1 To 9
                        If col = 8 Then
                            P3Listbox.List(P3Listbox.ListCount - 1, col) = .Cells(lign, 36)
                        Else
                            P3Listbox.List(P3Listbox.ListCount - 1, col) = .Cells(lign, col + 1)
                        End If
                    Next col
                End If
            Next lign
        End If
     
     
    End With
     
    End Function

    Merci beaucoup

  2. #2
    Expert confirmé
    Homme Profil pro
    aucune
    Inscrit en
    Avril 2016
    Messages
    7 563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 84
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Avril 2016
    Messages : 7 563
    Par défaut
    Bonjour
    Déjà, pour éviter de comparer des carottes avec des navets :
    1)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If lefiltre = P3Textbox.Value Then
    est à remplacer par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If lefiltre = cdate(P3Textbox.Value) Then
    et 2)
    la variable lefiltre est à typer en date

  3. #3
    Membre très actif
    Femme Profil pro
    Assistante
    Inscrit en
    Février 2016
    Messages
    166
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Assistante

    Informations forums :
    Inscription : Février 2016
    Messages : 166
    Par défaut
    D'accord, et ensuite svp ?


  4. #4
    Membre très actif
    Femme Profil pro
    Assistante
    Inscrit en
    Février 2016
    Messages
    166
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Assistante

    Informations forums :
    Inscription : Février 2016
    Messages : 166
    Par défaut
    J'ai résolu mon problème, merci.
    En modifiant simplement comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If .Cells(lign, 6) = P3Cbformation And .Cells(lign, 33) = CDate(P3Textbox.Value) Then
    Merci quand même.

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

Discussions similaires

  1. controle d une saisie dans un formulaire
    Par jpaulandre dans le forum Langage
    Réponses: 1
    Dernier message: 17/07/2007, 11h08
  2. [Formulaire]vérifier une saisie dans une zone de liste
    Par ludovicparis dans le forum IHM
    Réponses: 6
    Dernier message: 02/04/2007, 14h51
  3. brider une saisie dans le champ d'un formualire
    Par zeloutre dans le forum Access
    Réponses: 5
    Dernier message: 19/10/2006, 15h13
  4. [Oracle] aide sur une requète dans un count
    Par d_token dans le forum Langage SQL
    Réponses: 4
    Dernier message: 05/09/2006, 15h32
  5. une saisie dans un sous formulaire
    Par T'chab dans le forum Access
    Réponses: 3
    Dernier message: 05/05/2006, 09h01

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