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 :

Associer plusieurs infos dans une cellule et garder la possibilité du filtre auto


Sujet :

Excel

  1. #1
    Nouveau Candidat au Club
    Inscrit en
    Février 2009
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 6
    Points : 1
    Points
    1
    Par défaut Associer plusieurs infos dans une cellule et garder la possibilité du filtre auto
    Bonjour,

    Voila j'ai essayé de chercher précédemment la solution à mon problème mais vu que c'est assez spécifique, j'ai du passer à côté de pas mal de choses...

    Je suis en train de créer une base de données sur Excel (on m'a dit qu'Access est mieux pour ça, mais on n'a pas les droits sur les postes utilisés. Et je ne sais pas si ca me permettrait de survoler toutes les infos sans tri).

    La question est: comment il serait possible d'associer plusieurs infos dans une cellule et après pouvoir utiliser le filtre automatique pour chaque information indépendante sur la colonne où l'on trouve ce type de cellules.

    Bon je vais donner un exemple: J'ai des thèmes, donc une colonne "Thème". Il se peut que lors d'un ajout d'une ligne, cette ligne correspond à plusieurs thèmes. Donc je voudrais mettre tous les thèmes correspondants dans la cellule "thème". De plus, je voudrais pouvoir utiliser un filtre auto pour tous les thèmes. Donc si je choisis un thème, je veux garder toutes les lignes qui ont au moins ce thème marqué dans la cellule "thème".

    J'ai pensé utiliser le retour à la ligne pour séparer les thèmes mais je n'ai plus accès comme je veux au filtre auto (ou sinon je ne sais pas comment).

    Est-ce que quelqu'un pourrait m'aider?

    Je vous remercie d'avance, et je vous remercie d'avoir tout lu...

    Loïc

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    357
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Mars 2008
    Messages : 357
    Points : 417
    Points
    417
    Par défaut
    Bonjour,

    Tu peux mettre toutes les infos dans une cellules et utiliser un filtre automatique personnalisé
    il te suffit ensuite de choisir "contient" puis le thème désiré

  3. #3
    Nouveau Candidat au Club
    Inscrit en
    Février 2009
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 6
    Points : 1
    Points
    1
    Par défaut
    Merci pour la réponse

    Alors ca me parait bien...
    Seulement, les utilisateurs finaux voudront quelque chose d'assez simple. Donc, quand je clique sur la flèche de filtre j'aimerais avoir, si c'est possible, seulement les thèmes qui sont marqués dans les cellules suivantes et ne pas avoir la fusion de plusieurs thèmes, et j'aimerais que ma liste de thème soit évolutive.

    Alors ce qui me paraîtrait bien (c'est une question de filtre finalement), c'est avoir une liste de thèmes sur une autre feuille et le filtre auto m'afficherait seulement les thèmes de la liste et pour lui il s'agirait de toujours chercher avec "contient".

    J'espère que je ne suis pas trop sombre dans mon explication.

  4. #4
    Membre émérite Avatar de Fvandermeulen
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2007
    Messages
    1 869
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juillet 2007
    Messages : 1 869
    Points : 2 662
    Points
    2 662
    Par défaut
    Bonjour,
    Juste une petite réflexion.
    Est-ce qu'un tableau croisé dynamique ne serait pas plus simple ?
    N'oubliez pas le si votre problème est solutionné.

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    357
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Mars 2008
    Messages : 357
    Points : 417
    Points
    417
    Par défaut
    Sinon tu peux passer par VBA

    Dans mon exemple, j'ai placé en B3 une liste déroulante avec les différents thèmes, puis en lignes 4 à 10, les données avec le ou les thèmes en colonne B

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Address = "$B$3" Then
    Range("B4:B10").EntireRow.Hidden = False
        For Each cel In Range("B4:B10")
            If InStr(1, cel, Target.Value) = 0 Then
            cel.EntireRow.Hidden = True
            End If
        Next
    End If
    End Sub
    Dès que tu vas modifier le thème dans la cellule B3, le code va masquer toutes les lignes ne contenant pas le thème chercher

  6. #6
    Nouveau Candidat au Club
    Inscrit en
    Février 2009
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 6
    Points : 1
    Points
    1
    Par défaut
    Citation Envoyé par Fvandermeulen Voir le message
    Est-ce qu'un tableau croisé dynamique ne serait pas plus simple ?
    C'est-à-dire?? comment tu utiliserais ça dans ce cas là?


    Pour David

    Merci je vais essayer ça et je reviens pour donner mon avis.

  7. #7
    Membre émérite Avatar de Fvandermeulen
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2007
    Messages
    1 869
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juillet 2007
    Messages : 1 869
    Points : 2 662
    Points
    2 662
    Par défaut
    Tu indiques que tu es occupé à créer ta base de donnée, si tu prévois une architecture convenable tu peux ensuite créer un (des) tableau(x) croisés pour rendre le résultat voulu.
    Suivant ton exemple, tu mettras le champs Thème en 'page' et les "sub_thèmes" en 'colonne'
    Ou alors j'ai vraiment rien compris au problème...
    N'oubliez pas le si votre problème est solutionné.

  8. #8
    Nouveau Candidat au Club
    Inscrit en
    Février 2009
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 6
    Points : 1
    Points
    1
    Par défaut
    Pour David:

    Merci, c'est exactement ca. En plus j'ai rajouté un "tous" dans la liste et j'ai rajouté quelque chose dans le code pour qu'avec "tous" on voit toutes les lignes...
    MAIS (je vais craquer!), quand j'ai essayé avec une base déjà existante avec un peu plus de mille lignes... ça a pris pas mal de temps... de quoi aller prendre 2 cafés... C'est pour cela que je n'avais pas trop chercher la voie du VB pour ça et que j'espérais une solution qui existerait dans Excel.


    Pour Fvandermeulen:

    Désolé mais je n'ai toujours pas compris.

    Merci bien... je vais peut être trouver une autre façon de voir les choses. Je vais peut être simplement déplacer le problème

  9. #9
    Membre averti
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    357
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Mars 2008
    Messages : 357
    Points : 417
    Points
    417
    Par défaut
    Cette manip sera surement plus rapide car elle utilise le filtre automatique

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Address = "$B$3" Then
    Range("B3").AutoFilter Field:=1, Criteria1:="=*" & Range("B3") & "*"
    End If
    End Sub

  10. #10
    Nouveau Candidat au Club
    Inscrit en
    Février 2009
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 6
    Points : 1
    Points
    1
    Par défaut
    Citation Envoyé par David2304 Voir le message
    Cette manip sera surement plus rapide car elle utilise le filtre automatique
    Effectivement c'est exactement ce qu'il me fallait! Merci infiniment!!!
    Ca me sort un tronc d'arbre du pied! Juste à rajouter pour ne pas avoir de soucis avec 2 listes sur la même cellule.

    Sinon il y a juste quelque chose que je n'ai pas bien saisi: Qu'est ce que c'est le "Field"? J'ai compris que ça joue sur les colonnes de recherche mais exactement? Comment bien le définir?

  11. #11
    Nouveau Candidat au Club
    Inscrit en
    Février 2009
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 6
    Points : 1
    Points
    1
    Par défaut
    Ca y est! Je crois avoir compris le Field... C'est le numéro de colonne où l'on fait le tri. Ca me paraissait bizarre parce que lors de mon essai j'avais une colonne cachée donc le compte ne paraissait pas bon.

    Merci Beaucoup!

    J'espère que ca pourra aider d'autres personnes

Discussions similaires

  1. recuperer plusieurs valeurs dans une cellule
    Par Mimosa777 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 20/03/2008, 21h40
  2. FlexGrid ecrire sur plusieur ligne dans une cellule
    Par label55 dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 05/02/2008, 14h54
  3. Texte sur plusieurs lignes dans une cellule de JTable
    Par JeanECN dans le forum Composants
    Réponses: 3
    Dernier message: 10/04/2006, 17h20
  4. Réponses: 14
    Dernier message: 17/11/2005, 14h36
  5. Réponses: 5
    Dernier message: 29/09/2005, 13h55

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