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

Excel Discussion :

filtrer un tableau suivant une chaîne de caractères saisie au clavier [XL-2007]


Sujet :

Excel

  1. #1
    Candidat au Club
    Homme Profil pro
    Enseignant
    Inscrit en
    Octobre 2014
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2014
    Messages : 12
    Points : 3
    Points
    3
    Par défaut filtrer un tableau suivant une chaîne de caractères saisie au clavier
    Bonjour.
    Je suis on ne peut plus novice en VBA.
    J'ai créé un tableau pour gérer ma vidéothèque dans excelle 2007.
    J'ai ajouté quelques macros pour trier par auteurs, titres, ..., et pour saisir automatiquement une nouvelle ligne. Mais j’atteins là les limites de ma compétence.
    Je voudrais pouvoir trier filtrer le fichier à partir d'une entrée saisie au clavier pour afficher, par exemple, tous les lignes concernant les vidéos de Kubrick (saisie de Kubrick au clavier) ou toutes les lignes des vidéos dans lesquelles joue Bogart (saisie de Bogart au clavier) puis retour à l'ensemble du fichier bien sur.
    Quelqu'un peut-il m'aider ?
    Merci pas avance

  2. #2
    Expert éminent sénior
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Points : 18 677
    Points
    18 677
    Par défaut


    Bonjour, bonjour !

    Ne pas confondre trier et filtrer !

    Un simple filtre pourrait faire l'affaire, et ce sans une ligne de code …

    Si un code est vraiment nécessaire, activer l'Enregistreur de macro puis paramétrer le filtre : le code est livré sur un plateau !
    C'est parce que la vitesse de la lumière est plus rapide que celle du son que tant de gens paressent brillants avant d'avoir l'air con ! (Thomas Boishardy)

  3. #3
    Candidat au Club
    Homme Profil pro
    Enseignant
    Inscrit en
    Octobre 2014
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2014
    Messages : 12
    Points : 3
    Points
    3
    Par défaut
    Bonjour.
    Merci pour la réponse.
    Il s'agit en effet de filtrer.
    Cependant, passer par le filtre excel ne résout pas mon problème. J'ai probablement plus d'une centaine de réalisateurs et un nombre considérable d'acteurs, qui sont répertoriés dans 5 colonnes. C'est pourquoi je cherche un autre type de solution.

  4. #4
    Expert éminent sénior
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Points : 18 677
    Points
    18 677
    Par défaut




    Si la feuille est bien conçue, il doit y avoir une colonne pour les réalisateurs et une autre pour les acteurs.

    Sinon cela risque d'être une usine à gaz ! Et là je passe la main …

    C'est parce que la vitesse de la lumière est plus rapide que celle du son que tant de gens paressent brillants avant d'avoir l'air con ! (Thomas Boishardy)

  5. #5
    Expert éminent sénior Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Points : 32 866
    Points
    32 866
    Par défaut
    Si tu ne veux pas t'embêter, utilise simplement la fonction de recherche (à droit du ruban Accueil ou simplement Ctrl + F) + en cliquant sur le bouton "Rechercher tout".
    Il faut savoir parfois rester simple.
    Merci de cliquer sur pour chaque message ayant aidé puis sur pour clore cette discussion.

  6. #6
    Candidat au Club
    Homme Profil pro
    Enseignant
    Inscrit en
    Octobre 2014
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2014
    Messages : 12
    Points : 3
    Points
    3
    Par défaut
    Le tableau n'est pas mal conçu, merci, mais il possède actuellement plus de 600 lignes et 13 colonnes, dont 5 dédiées aux interprètes.
    La fonction rechercher tout permet de passer d'une occurrence à une autre, pas de les afficher ensemble. Elle ne répond pas à ce que je recherche.

  7. #7
    Expert éminent sénior
    Homme Profil pro
    aucune
    Inscrit en
    Septembre 2011
    Messages
    8 203
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Septembre 2011
    Messages : 8 203
    Points : 14 354
    Points
    14 354
    Par défaut
    Bonjour,

    Est-ce que tu as une colonne par réalisateur, une autre pour les acteurs etc. ? Dis-nous comment sont organisées tes données. D'autre part, il vaut mieux éviter de faire un filtre d'après une saisie manuelle; les listes de validation sont préférables.
    Cordialement.

    Daniel

    La plus perdue de toutes les journées est celle où l'on n'a pas ri. Chamfort

  8. #8
    Candidat au Club
    Homme Profil pro
    Enseignant
    Inscrit en
    Octobre 2014
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2014
    Messages : 12
    Points : 3
    Points
    3
    Par défaut
    Le tableau n'est pas mal conçu, merci, mais il possède actuellement plus de 600 lignes et 13 colonnes, dont 5 dédiées aux interprètes.
    La fonction rechercher tout permet de passer d'une occurrence à une autre, pas de les afficher ensemble. Elle ne répond pas à ce que je recherche.

  9. #9
    Expert éminent sénior
    Homme Profil pro
    aucune
    Inscrit en
    Septembre 2011
    Messages
    8 203
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Septembre 2011
    Messages : 8 203
    Points : 14 354
    Points
    14 354
    Par défaut
    Le même interprète peut-il se trouver dans plusieurs colonnes ? Pour gagner du temps, tu devrais nous indiquer, pour chaque colonne, ce que tu veux chercher.
    Cordialement.

    Daniel

    La plus perdue de toutes les journées est celle où l'on n'a pas ri. Chamfort

  10. #10
    Candidat au Club
    Homme Profil pro
    Enseignant
    Inscrit en
    Octobre 2014
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2014
    Messages : 12
    Points : 3
    Points
    3
    Par défaut
    Le tableau est effectivement conçu avec une colonne réalisateur, une titre une année... etc, mais les interprètes sont entrés sur cinq colonnes. Le mêem interprete peut se retrouver sur une colonne pour un film, et une autre pour un autre film...
    Je ne sais pas ce qu'est une "liste de validation"...

  11. #11
    Candidat au Club
    Homme Profil pro
    Enseignant
    Inscrit en
    Octobre 2014
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2014
    Messages : 12
    Points : 3
    Points
    3
    Par défaut
    Je voudrais pouvoir filtrer tous les films où joue un acteur, par exemple.
    Ou bien tous les films contenant le mot "guerre" dans leur titre.
    C'est ce genre de chose que je voudrais obtenir.

  12. #12
    Expert éminent sénior
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Points : 18 677
    Points
    18 677
    Par défaut

    Pour les données à colonne unique, le simple filtre suffit amplement.

    Pour les données réparties sur plusieurs colonnes, concaténer leurs contenus dans une nouvelle colonne
    afin de pouvoir y utiliser un filtre par exemple …

    Sinon voir aussi du côté des filtres avancés.

    __________________________________________________________________________________________

    Merci de cliquer sur pour chaque message ayant aidé puis sur pour clore cette discussion …
    C'est parce que la vitesse de la lumière est plus rapide que celle du son que tant de gens paressent brillants avant d'avoir l'air con ! (Thomas Boishardy)

  13. #13
    Expert éminent sénior Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Points : 32 866
    Points
    32 866
    Par défaut
    Citation Envoyé par Piere Voir le message
    La fonction rechercher tout permet de passer d'une occurrence à une autre, pas de les afficher ensemble. Elle ne répond pas à ce que je recherche.
    Ce que tu cherches à faire, c'est utiliser Excel comme une base de données. Et il n'est absolument pas conçu pour ça (c'est avant tout un outil de calcul), comme le montrent tes difficultés.
    Si tu veux faire des bases de données, utilise MS Acces ou Open/Libre Office Base qui répondront beaucoup mieux à ton besoin.
    Tu pourras, en particulier, créer des tables indexée qui te permettront de mettre autant d'acteurs que tu le souhaites pour chaque titre et de réaliser des tris bien plus performants que ceux d'Excel.
    Merci de cliquer sur pour chaque message ayant aidé puis sur pour clore cette discussion.

  14. #14
    Candidat au Club
    Homme Profil pro
    Enseignant
    Inscrit en
    Octobre 2014
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2014
    Messages : 12
    Points : 3
    Points
    3
    Par défaut
    Merci pour le conseil, Menhir.
    Mais mon fichier existe déjà et il a nécessité pas mal de temps de saisie (d'autant qu'il y a des images et des commentaires associés !)
    Et je maîtrise un petit peu excel, mais pas du tout acces !

  15. #15
    Expert éminent sénior Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Points : 32 866
    Points
    32 866
    Par défaut
    Citation Envoyé par Piere Voir le message
    Mais mon fichier existe déjà et il a nécessité pas mal de temps de saisie
    Nous sommes au 21è siècle : les logiciels savent faire des échanges entre eux.
    Merci de cliquer sur pour chaque message ayant aidé puis sur pour clore cette discussion.

  16. #16
    Expert éminent sénior
    Homme Profil pro
    aucune
    Inscrit en
    Septembre 2011
    Messages
    8 203
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Septembre 2011
    Messages : 8 203
    Points : 14 354
    Points
    14 354
    Par défaut
    Bonjour,

    Eh ! Mais qu'est-ce que vous avez tous aujourd'hui ! Bien sûr qu'Excel sert de base de données pour des tables simples ! J'en ai des dizaines pour mon usage personnel !
    Regarde le classeur : Piere.xlsm
    La macro se trouve dans le module de la feuille Feuil1 :

    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
    Private Sub Worksheet_Change(ByVal Target As Range)
        Dim C As Range, Plage As Range
        If Target.Address = "$C$1" And Target.Count = 1 Then
            [H7].Resize(65000).ClearContents
            Set Plage = Range("B7", Cells(Rows.Count, 2).End(xlUp))
            For Each C In Plage
                If IsNumeric(Application.Match([C1], C.Offset(, 2).Resize(, 5), 0)) Then
                    C.Offset(, 6) = "X"
                End If
            Next C
            Set Plage = Range("A6", Cells(Rows.Count, 1).End(xlUp)).Resize(, 8)
            Plage.AutoFilter
            Plage.AutoFilter 8, "X"
        End If
    End Sub
    Elle se déclenche automatiquement quand tu changes la valeur de C1 (la liste alimentant la liste déroulante de C1 se trouve sur la même feuille, en colonne P. J'utilise un filtre en colonne H. Les colonnes H et P peuvent être masquées. S'il y a quelque chose que tu ne comprends pas ou si tu ne parviens pas adapter la macro, n'n'hésite pas à le dire.
    Cordialement.

    Daniel

    La plus perdue de toutes les journées est celle où l'on n'a pas ri. Chamfort

  17. #17
    Candidat au Club
    Homme Profil pro
    Enseignant
    Inscrit en
    Octobre 2014
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2014
    Messages : 12
    Points : 3
    Points
    3
    Par défaut
    Merci Daniel
    Ça ressemble à ce que je désire obtenir, en effet.
    Cependant, en voulant tester ton exemple, je ne parviens pas à la liste initiale. Ou, dit autrement, comment dois-je faire pour revenir au tableau non filtré ?
    Et que pour que ton exemple fonctionne, faut-il entrer dans une colonne (P dans ton exemple) tous les nom qui sont susceptible de servir au filtrage ?

  18. #18
    Expert éminent sénior
    Homme Profil pro
    aucune
    Inscrit en
    Septembre 2011
    Messages
    8 203
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Septembre 2011
    Messages : 8 203
    Points : 14 354
    Points
    14 354
    Par défaut
    La sélection reste affichée, en effet, pour que tu aies le temps de la consulter. On peut soit la recopier ailleurs, soit mettre un bouton pour effacer le filtre. Par contre, si tu veux une sélection multiple, il faut procéder différemment. Avant que le fasse, précise si tu veux les films où apparaissent, par exemple, Acteur1 et Acteur2 ou les films où apparaissent Acteur1 ou Acteur2.
    Cordialement.

    Daniel

    La plus perdue de toutes les journées est celle où l'on n'a pas ri. Chamfort

  19. #19
    Candidat au Club
    Homme Profil pro
    Enseignant
    Inscrit en
    Octobre 2014
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2014
    Messages : 12
    Points : 3
    Points
    3
    Par défaut
    Non non, la recherche sur un seul nom me suffit.
    Il faut effectivement un bouton d'effacement des filtres.
    Mais si je comprends bien, il faut que ce qui est tapé dans la cellule C1 de ton exemple corresponde exactement à une saisie dans les colonnes C, D, E, F ou G et pas seulement à une partie ?
    Je m'explique : si je veux filtrer selon "Nom13", je ne peux pas taper seulement "13" ?
    Mes noms d'acteurs ne sont pas saisis toujours de la même façon : quelques-uns sont seulement avec le nom, d'autre avec le prénom. J'aimerais pouvoir filtrer aussi bien "Humphrey Bogart" que "Bogart", ou "humphrey bogart" en tapant Bogart...

  20. #20
    Expert éminent sénior
    Homme Profil pro
    aucune
    Inscrit en
    Septembre 2011
    Messages
    8 203
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Septembre 2011
    Messages : 8 203
    Points : 14 354
    Points
    14 354
    Par défaut
    Mais si je comprends bien, il faut que ce qui est tapé dans la cellule C1 de ton exemple corresponde exactement à une saisie dans les colonnes C, D, E, F ou G et pas seulement à une partie ?
    Tu peux ne saisir qu'une partie du nom. Pas de problème, c'était juste pour t'éviter une saisie : Piere.v2.xlsm
    Cordialement.

    Daniel

    La plus perdue de toutes les journées est celle où l'on n'a pas ri. Chamfort

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

Discussions similaires

  1. Réponses: 37
    Dernier message: 02/02/2015, 09h15
  2. Remplir une chaîne de caractère dans un tableau
    Par Windsor123 dans le forum C
    Réponses: 4
    Dernier message: 03/11/2007, 01h29
  3. Réponses: 3
    Dernier message: 24/10/2007, 01h47
  4. Convertir une chaîne de caractère (saisie dans un textbox) en décimal
    Par sab_etudianteBTS dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 23/09/2007, 21h17

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