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 :

Obtenir champs/éléments d'une valeur d'un TCD


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Futur Membre du Club
    Homme Profil pro
    contrôle de gestion
    Inscrit en
    Janvier 2017
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : contrôle de gestion

    Informations forums :
    Inscription : Janvier 2017
    Messages : 3
    Par défaut Obtenir champs/éléments d'une valeur d'un TCD
    Bonjour et merci d'avance pour votre attention !

    Je voudrais savoir s'il est possible d'obtenir sous forme de texte les champs et éléments amenant à la valeur d'une cellule dans un tcd
    En gros comme le fait la formule LIRETCD quand on clique sur la cellule

    Par exemple : =LIREDONNEESTABCROISDYNAMIQUE("Heures";$A$5;"Base";"Interv. DA Montélimar Pierrelatte";"Libellé Processus";"Assurer Perf. Opérationnelle";"Mois";"fév";"Année";2016)
    => je voudrais extraire en texte :
    -Base ; Interv. DA Montélimar Pierrelatte
    -Libellé Processus ; Assurer Perf. Opérationnelle
    -etc

    J'ai trouvé quelques pistes en fouillant mais je n'arrive à rien de concluant
    Je croyais toucher au but en tombant sur ce lien http://www.globaliconnect.com/excel/...=79&Itemid=475 mais je n'arrive pas à exploiter..

    Merci d'avance

  2. #2
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Inscrit en
    Juillet 2007
    Messages
    14 682
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Canada

    Informations professionnelles :
    Activité : Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 682
    Par défaut
    Bonjour,

    je comprends le besoin, mais je ne saisis pas le format de sortie

    Tu veux voir quel resultat sous quel forme ?

    Un exemple exhaustif complet (pas de etc idealement)..
    Cycle de vie d'un bon programme :
    1/ ça fonctionne 2/ ça s'optimise 3/ ça se refactorise

    Pas de question technique par MP, je ne réponds pas

    Mes ouvrages :
    Migrer les applications VBA Access et VBA Excel vers la Power Platform
    Apprendre à programmer avec Access 2016, Access 2019 et 2021

    Apprendre à programmer avec VBA Excel
    Prise en main de Dynamics 365 Business Central

    Coffrets disponibles de mes ouvrages : https://www.editions-eni.fr/jean-philippe-andre
    Pensez à consulter la FAQ Excel et la FAQ Access

    Derniers tutos
    Excel et les paramètres régionaux
    Les fichiers Excel binaires : xlsb,

    Autres tutos

  3. #3
    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

    La question m'a intéressé.

    Solution sur la partie Contribuez https://www.developpez.net/forums/d1...d/#post8937509

  4. #4
    Futur Membre du Club
    Homme Profil pro
    contrôle de gestion
    Inscrit en
    Janvier 2017
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : contrôle de gestion

    Informations forums :
    Inscription : Janvier 2017
    Messages : 3
    Par défaut
    Merci pour vos réponses !
    Merci Chris pour le lien, ça correspond à peu près à ce que je veux faire
    Cependant je n'arrive pas à l'adapter à mon fichier, au niveau du format d'extraction
    je voudrais dans l'idéal envoyer les informations dans un formulaire vba mais je suis pas assez compétent pour décoder suffisamment le code de Chris

    Pour reprendre son exemple, voici ce que je voudrais faire :

    Ci-dessous ce qu'on obtient avec la fonction de Chris
    "CA
    Vendeur : Gargantua
    Client : PANTAGRUEL
    Prix unitaire : 0-2
    Produit : Merida
    Catégorie : Café"

    Ce que je voudrais dans mon formulaire (d'ailleurs ça rejoint l'intervention de eriiic sur le sujet que Chris a créé) :

    Label1 = Vendeur :
    Textbox1 = Garguantua
    Label2 = Client :
    Textbox2 = PANTAGRUEL
    Label3 = Prix unitaire :
    Textbox3 = 0-2
    Label4 = Produit :
    Textbox4 = Merida
    Label5 = Catégorie :
    Textbox5 = Café"
    Label6 = CA
    Textbox6 = valeur de la cellule sélectionnée

    Merci d'avance pour votre aide

    edit :

    j'ai enfin trouvé les bons termes pour réussir ce que je voulais d'une manière moins compliqué.. pas instinctif tout ça !
    j'en suis là
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    UserFormCom.Label1 = Application.Range("k15").PivotTable.ColumnFields(1).Name
    UserFormCom.TextBox1 = Application.Range("k15").PivotCell.ColumnItems.Item(1)
    Me reste à remplacer k15 par la cellule sélectionnée par l'utilisateur
    Puis gérer le "comptage" des fields et items mais normalement j'ai la solution dans le fichier de Chris



    edit2 :
    voilà pour aujourd'hui, ça donne ça :

    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
    Sub Commentaire()
     
        F = Application.ActiveCell.PivotTable.PageFields.Count
            For i = 1 To F
        UserFormCom.Controls("LabelF" & i) = Application.ActiveCell.PivotTable.PageFields(i).Name
    '    UserFormCom.Controls("TextBoxF" & i) = Application.ActiveCell.PivotTable.PageItems.Item(i)
            Next i
     
        C = Application.ActiveCell.PivotTable.ColumnFields.Count
            For i = 1 To C
        UserFormCom.Controls("LabelC" & i) = Application.ActiveCell.PivotTable.ColumnFields(i).Name
        UserFormCom.Controls("TextBoxC" & i) = Application.ActiveCell.PivotCell.ColumnItems.Item(i)
            Next i
     
        L = Application.ActiveCell.PivotTable.RowFields.Count
            For i = 1 To L
        UserFormCom.Controls("LabelL" & i) = Application.ActiveCell.PivotTable.RowFields(i).Name
        UserFormCom.Controls("TextBoxL" & i) = Application.ActiveCell.PivotCell.RowItems.Item(i)
            Next i
     
    UserFormCom.Show
    End Sub
    Pour la ligne laissée en commentaire, c'est que je trouve pas la syntaxe pour sortir la valeur du filtre..
    Sinon ça fonctionne bien, par contre pour l'instant ça donne une erreur quand y'a des champs "réduits" car la fonction "count" compte les champs masqués

    à suivre !

Discussions similaires

  1. Réponses: 6
    Dernier message: 18/11/2007, 17h30
  2. Réponses: 1
    Dernier message: 19/02/2007, 15h05
  3. obtenir l arrondi d une valeur
    Par morrison29 dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 16/11/2006, 18h21
  4. Champ NuméroAuto depuis une valeur
    Par edonis dans le forum Access
    Réponses: 5
    Dernier message: 11/09/2006, 10h56
  5. Réponses: 4
    Dernier message: 24/01/2006, 13h18

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