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 :

Connaître les éléments d'étiquettes de lignes d'une valeur d'un TCD [XL-2010]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre actif
    Homme Profil pro
    Chargé du Pilotage
    Inscrit en
    Mars 2017
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Chargé du Pilotage
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2017
    Messages : 21
    Par défaut Connaître les éléments d'étiquettes de lignes d'une valeur d'un TCD
    Bonjour,

    Cela fait plusieurs jours que j'essaye d'obtenir le résultat escompté en travaillant différents codes VBA mais sans succès, je fais donc appel à votre expertise

    Dans le fichier joint j'aimerais extraire en automatique la donnée "étiquettes de lignes" d'une valeur du TCD...Par exemple, si je clique sur la cellule B82 de la feuille TCD 1 je voudrais extraire la donnée d'étiquettes de lignes "103 : Employé absent sans justificatif"..et si possible que l'on m'explique la solution pour "pêcher seul mon poisson" la prochaine fois merci

  2. #2
    Expert éminent Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    Dim Pvt As PivotTable
     
    Set Pvt = ActiveSheet.PivotTables(1)
    If Not Intersect(Target, Pvt.DataBodyRange) Is Nothing Then
        MsgBox Pvt.RowRange(Intersect(Target, Pvt.DataBodyRange).Row - Pvt.TableRange1.Row - 1)
    End If
    Set Pvt = Nothing
    End Sub

  3. #3
    Membre actif
    Homme Profil pro
    Chargé du Pilotage
    Inscrit en
    Mars 2017
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Chargé du Pilotage
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2017
    Messages : 21
    Par défaut
    Merci pour ta réponse mercatog, mais as-tu testé ton code avec le fichier joint?
    Cela ne revoie pas le résultat escompté, ton code me renvoie l'équivalent d'un MsgBox ActiveCell.Offset(0, -1).Value.. soit dans mon exemple, je clique sur la cellule B82, cela me donne la valeur en A82...

  4. #4
    Expert éminent

    Profil pro
    Conseil, Formation, Développement - Indépendant
    Inscrit en
    Février 2010
    Messages
    8 564
    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 564
    Par défaut
    Bonjour à tous

    La question n'est pas claire du tout !

    En A82 on a 310 : Motif non-autorisé pour la region de cet agent et non 103 : Employé absent sans justificatif et A82 correspond bien à l'étiquette de ligne de la valeur située en B82

    En plus tu évoques un filtre mais ton TCD n'est pas filtré

  5. #5
    Membre actif
    Homme Profil pro
    Chargé du Pilotage
    Inscrit en
    Mars 2017
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Chargé du Pilotage
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2017
    Messages : 21
    Par défaut
    [QUOTE=78chris;10889663]

    La question n'est pas claire du tout !

    Alors dans un TCD il y a ce que l'on appelle développer/réduire...alors si tu veux bien faire "développer tout" auparavant tu comprendras ma question désolé. J'ai également modifié le titre pour parler d'étiquettes de lignes.
    Je veux connaitre la première étiquette de ligne d'une donnée prise au hasard dans un TCD pour résumer ma question. La première, la deuxième, ou troisième selon les cas si plusieurs étiquettes de lignes existent...

    Ce n'était pas clair j'ai allumé la lumière

  6. #6
    Expert éminent

    Profil pro
    Conseil, Formation, Développement - Indépendant
    Inscrit en
    Février 2010
    Messages
    8 564
    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 564
    Par défaut
    Re

    Si tu veux faire de l'humour à 2 balles, OK mais alors utilise la terminologie adéquate.

    Réduire et développer n'est un filtre mais une option d'affichage.

    Ce que tu veux obtenir est la valeur du champ placé en niveau 1 des étiquettes de lignes pour la valeur sélectionnée

    Par ailleurs si tu fournis un fichier (ce que l'on évite ici) mets-le au moins sous une forme correspondant à la question posée

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Private Sub Worksheet_SelectionChange(ByVal Target As Range)
     
    If Intersect(Target, PivotTables("TCD2").DataBodyRange) Is Nothing Then Exit Sub
    If Target.PivotCell.RowItems.Count > 0 Then MsgBox Target.PivotCell.RowItems(1)
    End Sub

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

Discussions similaires

  1. Connaître les éléments d'une image
    Par nanouchg dans le forum Images
    Réponses: 3
    Dernier message: 08/01/2011, 20h47
  2. Lister les éléments d'un champ avec une formule
    Par noob77 dans le forum SAP Crystal Reports
    Réponses: 10
    Dernier message: 26/05/2009, 11h46
  3. Réponses: 3
    Dernier message: 02/06/2008, 16h37
  4. Connaître les éléments d'une page qui VA être affichée
    Par NikoBe dans le forum Servlets/JSP
    Réponses: 5
    Dernier message: 09/11/2006, 14h57
  5. Réponses: 9
    Dernier message: 16/10/2006, 16h35

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