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 :

Filtre par textbox


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de GADENSEB
    Homme Profil pro
    Responsable Administratif et Financier
    Inscrit en
    Mars 2014
    Messages
    569
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Responsable Administratif et Financier
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2014
    Messages : 569
    Par défaut Filtre par textbox
    Bonjour le forum

    Je cherche à faire un filtre d'une zone via un textbox

    mais cela ne fonctionne pas tt à fait .....
    qqn aurait une idée




    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Private Sub Tx_Recherche_Change()
     
        If Tx_Recherche <> "" Then
        ActiveSheet.Range("$b$3:$d$1000").AutoFilter Field:=2, Criteria1:= _
            "=*" & Tx_Recherche & "*", Operator:=xlAnd
      End If
     
    End Sub ?








  2. #2
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    13 184
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 13 184
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Très intrigué par le fait que tu signales que ton code ne fonctionne pas, j'ai voulu tester sur une de mes liste de données et je n'ai pas de problème
    Pour le test, j'ai utilisé une variable objet nommée rng et pour définir la liste des données j'utilise la propriété CurrentRegion (ma liste commence en cellule A1 et les étiquettes de colonnes en première ligne)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Private Sub Tx_Recherche_Change()
     Dim rng As Range
     Set rng = ActiveSheet.Range("A1").CurrentRegion
      If Tx_Recherche <> "" Then
      rng.AutoFilter Field:=2, Criteria1:="=*" & Tx_Recherche & "*", Operator:=xlAnd
     End If
    End Sub
    Cependant dans ta remarque,
    mais cela ne fonctionne pas tt à fait .....
    qqn aurait une idée
    tu n'es pas très précis.
    Qu'est-ce qui ne fonctionne pas tout à fait ?
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

  3. #3
    Inactif  

    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2012
    Messages
    4 903
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2012
    Messages : 4 903
    Billets dans le blog
    36
    Par défaut
    Bonjour Philippe,

    Citation Envoyé par Philippe Tulliez Voir le message
    Bonjour,

    Cependant dans ta remarque,

    tu n'es pas très précis.
    Qu'est-ce qui ne fonctionne pas tout à fait ?
    Hélas, ce n'est pas la première fois.

    De plus, il n'avait sûrement pas pensé que son fichier-joint pourrait prendre le chemin des oubliettes; malgré l'avertissement de Pierre Fauconnier. Il a maintenant le lien direct; si jamais, il ne l'a pas déjà lu.

  4. #4
    Membre éclairé Avatar de GADENSEB
    Homme Profil pro
    Responsable Administratif et Financier
    Inscrit en
    Mars 2014
    Messages
    569
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Responsable Administratif et Financier
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2014
    Messages : 569
    Par défaut
    bonjour à Tous

    Désolé de ne pas avoir été assez clair, je vais faire un effort ;-)

    Pour ce qu'il est du fichier joint, je n'avais pas vu le message en début de forum...
    Mes données du fichier joint ne sont pas sensibles

    Bon reprenons
    j'ai suvi les conseil de Philippe Tulliez http://www.developpez.net/forums/d15...x/#post8396842
    (ma liste commence en cellule A1 et les étiquettes de colonnes en première ligne)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Private Sub Tx_Recherche_Change()
     Dim rng As Range
     Set rng = ActiveSheet.Range("A1").CurrentRegion
      If Tx_Recherche <> "" Then
      rng.AutoFilter Field:=2, Criteria1:="=*" & Tx_Recherche & "*", Operator:=xlAnd
     End If
    End Sub
    mais cela ne fonctionne pas :
    Si par exemple je tape "tel" je m'attends à ce que les lignes 2 et 5 uniquement soit visibles ... mais je n'ais q'une ligne vide

    autres exemples :
    avec "AI" les lignes 1 2 et 3 devraient être visible
    avec "Mi" uniquement la ligne 4 devrait être visible



    Est-ce plus clair comme cela ? ;-)

  5. #5
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    13 184
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 13 184
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Comme écrit plus haut, je n'ai pas de soucis le filtre s'effectue parfaitement. Si je tape "au", j'ai bien toutes les lignes ayant en colonne 2, une chaîne contenant "AU".
    La seule chose qui ne fait pas, c'est libérer le filtre si la chaîne de recherche (TextBox) est vide mais j'ai ajouté une ligne pour cela.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Private Sub Tx_Recherche_Change()
     Dim rng As Range
     Set rng = ActiveSheet.Range("A1").CurrentRegion
     With rng
      If Tx_Recherche <> "" Then
        .AutoFilter Field:=2, Criteria1:="=*" & Tx_Recherche & "*", Operator:=xlAnd
       Else
       .Worksheet.ShowAllData
      End If
     End With
    End Sub
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

  6. #6
    Membre éclairé Avatar de GADENSEB
    Homme Profil pro
    Responsable Administratif et Financier
    Inscrit en
    Mars 2014
    Messages
    569
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Responsable Administratif et Financier
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2014
    Messages : 569
    Par défaut
    J'ai compris.....
    effectivement je me suis mal exprimé

    tu me précise que cela tri sur la colonne 2

    moi je voulais que cela filtre sur toutes les colonnes.... que la recherche fouille dans toutes les cellules de la base et que les lignes filtrées soient celles qui comportenent la recherche du textbox peu importe la colonne .

    sorry de la mauvaise expression

Discussions similaires

  1. [XL-2007] VBA - Prb Filtre TCD entre 2 dates par TextBox
    Par Naru31 dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 08/09/2011, 01h08
  2. Cumuler des Filtres par Selection en VBA ?
    Par Fredo67 dans le forum Access
    Réponses: 4
    Dernier message: 05/07/2006, 15h00
  3. Envoyer plusieurs états filtrés par mail...
    Par Thierry'' dans le forum IHM
    Réponses: 8
    Dernier message: 20/09/2005, 13h02
  4. Réponses: 3
    Dernier message: 23/02/2005, 17h51

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