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 :

Champ de saisie dans un segment


Sujet :

Excel

  1. #1
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2012
    Messages
    345
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2012
    Messages : 345
    Points : 103
    Points
    103
    Par défaut Champ de saisie dans un segment
    Bonjour à tous,

    J'aimerais savoir s'il est possible (comme pour un filtre dans un tableau croisé dynamique) de saisir du texte dans un filtre pour effectuer une présélection.

    En image, est - il possible de faire cela :

    Nom : img2.png
Affichages : 1545
Taille : 3,9 Ko

    avec un segment (slicers) ?

    Je vous remercie d'avance,

    Vivien

  2. #2
    Membre émérite Avatar de antonysansh
    Homme Profil pro
    Chargé d'études RH
    Inscrit en
    Mai 2014
    Messages
    1 115
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chargé d'études RH
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2014
    Messages : 1 115
    Points : 2 439
    Points
    2 439
    Par défaut
    Bonjour italia57,

    Je ne pense pas que les Segments soient conçus pour faire ça.

    Par contre voici un petit morceau de code qui te permet après saisi dans la cellule F1 de la feuille 1 de sélectionner l'ensemble des items de ton Slicer qui contienne le texte saisi :

    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
    Sub test()
     
    Application.ScreenUpdating = False
     
    Dim Sh As Worksheet
    Dim SC As SlicerCache
    Dim SI As SlicerItem
     
     
    Set Sh = ThisWorkbook.Sheets("Feuil1")
    Set SC = Sh.Parent.SlicerCaches("Segment_prenom")
     
    For Each SI In SC.SlicerItems
        If InStr(SI.Caption, Sh.[F1].Value) = 0 Then
            SI.Selected = False
        Else
            SI.Selected = True
        End If
    Next
     
    Application.ScreenUpdating = True
     
    End Sub
    Personnellement j'utilise ça pour filtrer sur un segment qui lui est synchronisé sur plusieurs TCD.

    En espérant avancer ton problème

    Antony
    Antony

    Mieux vaut ne rien dire et passer pour un con que de l'ouvrir et ne laisser aucun doute à ce sujet.
    Gustave Parking


    Si le post vous est utile un petit fait toujours plaisir et pensez à passer en

    Et surtout -> Balise CODE

  3. #3
    Expert éminent sénior

    Profil pro
    Conseil, Formation, Développement - Indépendant
    Inscrit en
    Février 2010
    Messages
    8 419
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Conseil, Formation, Développement - Indépendant

    Informations forums :
    Inscription : Février 2010
    Messages : 8 419
    Points : 16 262
    Points
    16 262
    Par défaut
    Bonjour

    Une autre solution :

    Sur 2013 tu peux utiliser les Chronologies : segments spécifiques à l'échelle du temps. Avec une chronologie sur l'année et une autre sur une autre unité, tu arrives vite à filtrer les dates.

    Les chronologies peuvent, comme les segments, synchroniser plusieurs TCD.
    Chris
    PowerQuery existe depuis plus de 13 ans, est totalement intégré à Excel 2016 &+. Utilisez-le !

    Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson.
    Confucius

    ----------------------------------------------------------------------------------------------
    En cas de résolution, n'hésitez pas cliquer sur c'est toujours apprécié...

  4. #4
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2012
    Messages
    345
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2012
    Messages : 345
    Points : 103
    Points
    103
    Par défaut
    Tout d'abord merci pour ta réponse, car elle peut être un bon moyen de substitution.

    Par contre je ne m'y connais pas du tout en macro Excel...

    Comme puis-je faire pour renseigner le code que vous m'avez donné et ensuite l'utiliser ?

    Je vous remercie d'avance,

    Vivien

    EDIT 1: j'ai pris l'exemple des dates dans mon exemple mais moi je souhaite l'appliquer à une liste de clients contenu dans le segment

  5. #5
    Expert éminent sénior

    Profil pro
    Conseil, Formation, Développement - Indépendant
    Inscrit en
    Février 2010
    Messages
    8 419
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Conseil, Formation, Développement - Indépendant

    Informations forums :
    Inscription : Février 2010
    Messages : 8 419
    Points : 16 262
    Points
    16 262
    Par défaut
    Bonjour

    Je suppose que l'édit 1 concerne ma proposition...

    Il y a une possibilité de pré-filter les longues listes mais elle nécessite l'ajout d'une colonne dans la source.

    Par exemple on ajoute une formule pour l'initiale du nom situé en colonne A: Puis on crée un segment sur l'initiale et un autre sur le nom : en deux clics, on arrive au nom voulu car les noms commençant par le lettre sélectionnée dans le 1er segment remontent en tête du second segment.
    Chris
    PowerQuery existe depuis plus de 13 ans, est totalement intégré à Excel 2016 &+. Utilisez-le !

    Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson.
    Confucius

    ----------------------------------------------------------------------------------------------
    En cas de résolution, n'hésitez pas cliquer sur c'est toujours apprécié...

  6. #6
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2012
    Messages
    345
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2012
    Messages : 345
    Points : 103
    Points
    103
    Par défaut
    Encore merci pour votre réponse. Effectivement l'edit concerne votre réponse.

    Le problème que j'ai avec cette solution c'est que ma source est un Cube SSAS, je ne peux donc pas rajouter cet élément.

    Savez-vous comment mettre en place la première solution proposée ?

  7. #7
    Membre émérite Avatar de antonysansh
    Homme Profil pro
    Chargé d'études RH
    Inscrit en
    Mai 2014
    Messages
    1 115
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chargé d'études RH
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2014
    Messages : 1 115
    Points : 2 439
    Points
    2 439
    Par défaut
    L'idéal est que tu consultes un des Tutos du Forum qui explique comment créer une macro ensuite tu n'auras qu'a copier / coller le code fourni.

    http://silkyroad.developpez.com/VBA/DebuterMacros/
    Antony

    Mieux vaut ne rien dire et passer pour un con que de l'ouvrir et ne laisser aucun doute à ce sujet.
    Gustave Parking


    Si le post vous est utile un petit fait toujours plaisir et pensez à passer en

    Et surtout -> Balise CODE

  8. #8
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2012
    Messages
    345
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2012
    Messages : 345
    Points : 103
    Points
    103
    Par défaut
    Merci pour ce lien.

    Je viens de créer un module dans lequel j'ai copié/collé votre procédure.

    Cependant, lorsque j'exécute j'ai une erreur à la ligne suivante (début de boucle) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    For Each SI In SC.SlicerItems
    Erreur d'exécution '1004', Erreur définie par l'application ou pas l'objet
    ça vous dit quelque chose ?

    Je vous remercie d'avance,

    Vivien

  9. #9
    Expert éminent sénior

    Profil pro
    Conseil, Formation, Développement - Indépendant
    Inscrit en
    Février 2010
    Messages
    8 419
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Conseil, Formation, Développement - Indépendant

    Informations forums :
    Inscription : Février 2010
    Messages : 8 419
    Points : 16 262
    Points
    16 262
    Par défaut
    Re

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Set SC = Sh.Parent.SlicerCaches("Segment_prenom")
    cette ligne doit être adaptée pour le nom de ton propre segment.

    Cependant, de mémoire pour les sources cube, la syntaxe est différente.

    Utilise l'enregistreur de macro : clique sur une valeur puis une autre du segment, arrête l'enregistrement, regarde la syntaxe obtenue et reviens nous dire.
    Chris
    PowerQuery existe depuis plus de 13 ans, est totalement intégré à Excel 2016 &+. Utilisez-le !

    Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson.
    Confucius

    ----------------------------------------------------------------------------------------------
    En cas de résolution, n'hésitez pas cliquer sur c'est toujours apprécié...

Discussions similaires

  1. Champ de saisie dans DBGrid
    Par sondo dans le forum Bases de données
    Réponses: 9
    Dernier message: 15/06/2009, 18h02
  2. Copier le contenu d'un champ de saisie dans le presse-papier
    Par pegase23 dans le forum VBA Access
    Réponses: 2
    Dernier message: 12/12/2008, 17h50
  3. Plusieurs champs de saisie dans un JOptionPane
    Par Solly dans le forum Agents de placement/Fenêtres
    Réponses: 5
    Dernier message: 13/10/2008, 17h33
  4. Protection de champs de saisie dans Word 2000
    Par keketteboy dans le forum Word
    Réponses: 13
    Dernier message: 02/09/2008, 19h06
  5. Aligner champs de saisie dans formulaire
    Par lg022 dans le forum ASP.NET
    Réponses: 15
    Dernier message: 27/05/2008, 10h02

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