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 :

[Excel][Automation] Propriétés de mise en forme


Sujet :

MATLAB

  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2015
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juin 2015
    Messages : 33
    Points : 14
    Points
    14
    Par défaut [Excel][Automation] Propriétés de mise en forme
    Bonjour,

    J'ai quelques soucis pour mettre en forme différents textes dans des fiches Excel à partir de Matlab.

    Premièrement, cette ligne de code me retourne une erreur :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Excel.ActiveChart.SeriesCollection(1).name = '';
    Ensuite, c'est celle-ci qui pose problème :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Excel.Selection.TickLabels.AutoScaleFont = true;
    Enfin, celles-ci aussi :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Excel.ActiveChart.Axes(1).AxisTitle.Select;
    Excel.Selection.Font.name = 'Arial';
    La 1ère fonctionne et sélectionne bien la légende en abcisse mais la 2ème ne fonctionne pas.

    Merci par avance pour les éléments de réponse.

    Yul

  2. #2
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2015
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juin 2015
    Messages : 33
    Points : 14
    Points
    14
    Par défaut
    Bonjour,

    Les trois problèmes précédents sont résolus, j'ai finalement réussi.

    Cependant, un nouveau porblème se pose, j'ai besoin de modifier d'autres propriétés dont voici le code VBA :

    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
    24
    25
    26
    27
    28
    29
    ActiveChart.Legend.Select
            ActiveChart.Legend.LegendEntries(1).LegendKey.Select
            With Selection.Border
                .ColorIndex = 57
                .Weight = xlThick
                .LineStyle = xlContinuous
            End With
            With Selection
                .MarkerBackgroundColorIndex = 8
                .MarkerForegroundColorIndex = 41
                .MarkerStyle = xlCircle
                .Smooth = True
                .MarkerSize = 8
                .Shadow = False
            End With
            ActiveChart.Legend.LegendEntries(2).LegendKey.Select
            With Selection.Border
                .ColorIndex = 3
                .Weight = xlThick
                .LineStyle = xlContinuous
            End With
            With Selection
                .MarkerBackgroundColorIndex = 3
                .MarkerForegroundColorIndex = 41
                .MarkerStyle = xlCircle
                .Smooth = True
                .MarkerSize = 8
                .Shadow = False
            End With
    Et voici ma contribution sous Matlab :

    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
    24
    25
    26
    Excel.ActiveChart.Legend.Select;
    legend = Excel.ActiveChart.Legend.LegendEntries.Item(1).LegendKey;
     
    legend.Border.ColorIndex = 2;
    legend.Border.Weight = 4;
    legend.Border.LineStyle = 1;
     
    legend.MarkerBackgroundColorIndex = 8;
    legend.MarkerForegroundColorIndex = 41;
    legend.MarkerStyle = 8;
    legend.Smooth = true;
    legend.MarkerSize = 8;
    legend.Shadow = false;
     
    legend = Excel.ActiveChart.Legend.LegendEntries.Item(2).LegendKey;
     
    legend.Border.ColorIndex = 3;
    legend.Border.Weight = 4;
    legend.Border.LineStyle = 1;
     
    legend.MarkerBackgroundColorIndex = 3;
    legend.MarkerForegroundColorIndex = 41;
    legend.MarkerStyle = 8;
    legend.Smooth = true;
    legend.MarkerSize = 8;
    legend.Shadow = false;
    Ce code génère une erreur à partir de :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    legend.Border.ColorIndex = 2;
    Impossible pour lui d'appliquer la couleur, la syntaxe n'est pas bonne, j'ai beau essayer différentes structures, rien ne fonctionne.

    J'ai même essayé la structure fournit par le File Exchange de xlschart :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Excel.ActiveChart.Legend.LegendEntries(i).LegendKey.Border.ColorIndex = colors(k);
    mais même celle-ci ne fonctionne pas.

    Merci par avance pour votre aide.

    Yul

  3. #3
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2015
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juin 2015
    Messages : 33
    Points : 14
    Points
    14
    Par défaut
    Bonjour,

    Je me permets de remonter le topic n'ayant pas eu de réponse depuis plusieurs jours.

    J'ai réussi à résoudre une partie du problème (la partie concernant les marqueurs).

    Cependant, la partie concernant la mise en forme de la légende ne fonctionne toujours pas, je n'arrive pas à ajouter une bordure à la légende et modifier ses propriétés.

    Je reposte le code en question :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    ActiveChart.Legend.LegendEntries(1).LegendKey.Select
    With Selection.Border
                .ColorIndex = 57
                .Weight = xlThick
                .LineStyle = xlContinuous
    End With
    Bonne journée.

    Yul

Discussions similaires

  1. Copie de tableaux d'Excel vers Word - Conservation mise en forme
    Par flav_cm dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 18/12/2015, 11h13
  2. [XL-2003] Macro excel pour copier la mise en forme d'un document à plusieurs autres documents.
    Par antoinepoirier dans le forum Macros et VBA Excel
    Réponses: 43
    Dernier message: 21/07/2015, 18h17
  3. Automation Excel : mise en forme
    Par sweetmercy dans le forum VBA Access
    Réponses: 8
    Dernier message: 06/05/2011, 15h23
  4. [VBA EXCEL]: Savoir si une mise en forme conditionnelle est active
    Par ADONET dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 03/01/2007, 14h59

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