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

MATLAB Discussion :

[MATLAB][Excel][Automation] Tableau croisé dynamique - Pivot table


Sujet :

MATLAB

  1. #1
    Futur Membre du Club
    Inscrit en
    août 2013
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : août 2013
    Messages : 9
    Points : 6
    Points
    6
    Par défaut [MATLAB][Excel][Automation] Tableau croisé dynamique - Pivot table
    Bonjour a tous,

    Est ce que quelqu'un pourrait me donner le code de base pour créer et paramétrer un peu une pivot table Excel depuis Matlab?
    (et le pivot chart qui va avec si possible ^^)

    J'ai vu des exemples de VBA tels que les suivants:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    ActiveWorkbook.PivotCaches.Add(xlDatabase,ActiveSheet.UsedRange);
     
    ActiveWorkbook.PivotCaches.Add(SourceType:=xlDatabase, SourceData:= ActiveSheet.UsedRange).CreatePivotTable TableDestination:='',  TableName:= 'PivotTable1', DefaultVersion:=xlPivotTableVersion10
     
    ActiveSheet.PivotTableWizard TableDestination:=ActiveSheet.Cells(1, 1)
    Mais je dois avouer que j'y comprends pas grand chose... Du coup si quelau'un peu me donner un petit code facile a comprendre qui me servira de base a améliorer je lui en serait grandement reconnaissant!

    Merci d'avance!

  2. #2
    Rédacteur/Modérateur

    Avatar de Jerome Briot
    Homme Profil pro
    Freelance mécatronique - Conseil, conception et formation
    Inscrit en
    novembre 2006
    Messages
    20 280
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Freelance mécatronique - Conseil, conception et formation

    Informations forums :
    Inscription : novembre 2006
    Messages : 20 280
    Points : 54 631
    Points
    54 631
    Par défaut
    La question aurait sans doute plus sa place dans le forum Macros et VBA Excel, non ?
    Ingénieur indépendant en mécatronique - Conseil, conception et formation
    • Conception mécanique (Autodesk Fusion 360)
    • Impression 3D (Ultimaker)
    • Développement informatique (Python, MATLAB, C)
    • Programmation de microcontrôleur (Microchip PIC, ESP32, Raspberry Pi, Arduino…)

    « J'étais le meilleur ami que le vieux Jim avait au monde. Il fallait choisir. J'ai réfléchi un moment, puis je me suis dit : "Tant pis ! J'irai en enfer" » (Saint Huck)

  3. #3
    Futur Membre du Club
    Inscrit en
    août 2013
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : août 2013
    Messages : 9
    Points : 6
    Points
    6
    Par défaut
    Peut-être... Mais je ne cherche pas une macro VBA Excel, je cherche comment adapter le VBA a Matlab.

    Comme tu le vois dans les exemple de code que j'ai donne j'ai déjà trouve certaines lignes de code sur internet, mais je ne sais pas bien faire la transition VBA => Matlab.

    DU coup il me faudrait un code matlab de base sur les pivot table/chart. Que je pourrai bidouiller ensuite pour comprendre comment ca marche =)

    Merci d'avance!

  4. #4
    Rédacteur/Modérateur

    Avatar de Jerome Briot
    Homme Profil pro
    Freelance mécatronique - Conseil, conception et formation
    Inscrit en
    novembre 2006
    Messages
    20 280
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Freelance mécatronique - Conseil, conception et formation

    Informations forums :
    Inscription : novembre 2006
    Messages : 20 280
    Points : 54 631
    Points
    54 631
    Par défaut
    Voici un début de réponse avec un exemple tiré de ce tutoriel

    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
    ActiveSheet.Range('A1:D1').Value = {'Region' 'Date' 'Etablissement' 'Resultat'};
    ActiveSheet.Range('A2:A7').Value = {'Region 01';'Region 01';'Region 01';'Region 02';'Region 01';'Region 02'};
    ActiveSheet.Range('B2:B7').Value = 39412+[0;0;1;2;3;4];
    ActiveSheet.Range('B2:B7').NumberFormatLocal = 'jj/mm/aaaa';
    ActiveSheet.Range('C2:C7').Value = {'Et 01 A';'Et 01 B';'Et 01 C';'Et 02 A';'Et 01 A';'Et 02 B'};
    ActiveSheet.Range('D2:D7').Value = [50;10;5;40;7;25];
     
    xlDatabase = 1;
    SourceData = ActiveSheet.Range('A1:D7');
    TableDestination = ActiveSheet.Range('F3');
     
    pt = ActiveSheet.PivotTableWizard(xlDatabase, SourceData, TableDestination,'TabCroiDyn');
     
    xlRowField = 1;
    ActiveSheet.PivotTables('TabCroiDyn').PivotFields('Region').Orientation = xlRowField;
    ActiveSheet.PivotTables('TabCroiDyn').PivotFields('Region').Position = 1;
     
    pf = ActiveSheet.PivotTables('TabCroiDyn').PivotFields('Resultat');
    df = ActiveSheet.PivotTables('TabCroiDyn').AddDataField( pf, 'Moyenne de Resultat');
    xlAverage = -4106; 
    set(df,'Function',xlAverage)
    Utilise ensuite le générateur de macro pour obtenir ce que tu souhaites vraiment
    Ingénieur indépendant en mécatronique - Conseil, conception et formation
    • Conception mécanique (Autodesk Fusion 360)
    • Impression 3D (Ultimaker)
    • Développement informatique (Python, MATLAB, C)
    • Programmation de microcontrôleur (Microchip PIC, ESP32, Raspberry Pi, Arduino…)

    « J'étais le meilleur ami que le vieux Jim avait au monde. Il fallait choisir. J'ai réfléchi un moment, puis je me suis dit : "Tant pis ! J'irai en enfer" » (Saint Huck)

  5. #5
    Futur Membre du Club
    Inscrit en
    août 2013
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : août 2013
    Messages : 9
    Points : 6
    Points
    6
    Par défaut
    Encore une fois merci beaucoup a toi!
    Je te proclame grand manitou de mes problèmes Excel/Matlab ;-p
    Je teste ca, je comprends, je bidouille et je reviens te voir si j'ai un soucis

Discussions similaires

  1. Tableau Croisé Dynamique(pivot table)
    Par JAKman dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 12/02/2008, 07h40
  2. Excel 2007, Tableau Croisé Dynamique
    Par phenixnerull dans le forum Excel
    Réponses: 5
    Dernier message: 22/06/2007, 16h22
  3. Pb de chemin en VBA excel sur tableau croisé dynamique
    Par hiline6 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 21/02/2007, 14h23
  4. [Jexcel] fichier Excel avec tableau croisé dynamique
    Par jeanmarc67 dans le forum Documents
    Réponses: 2
    Dernier message: 16/02/2007, 16h51
  5. Problème avec Excel et tableau croisé dynamique
    Par françois62 dans le forum VBScript
    Réponses: 9
    Dernier message: 19/11/2006, 22h17

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