Developpez.com - Rubrique MATLAB

Le Club des Développeurs et IT Pro

Contrôle d'Excel par MATLAB via Automation

Ajout d'un 8e article sur la gestion des feuilles de classeur, par Jérôme Briot

Le 2013-02-07 10:48:47, par Jerome Briot, Rédacteur/Modérateur
Contrôle d'Excel par MATLAB via Automation

Contrôle d'Excel par MATLAB via Automation est constitué des articles suivants :

  1. Généralités ;
  2. Connexion ;
  3. Les objets et leur manipulation ;
  4. Gestion des feuilles ;
  5. Les plages de cellules ;
  6. Limites ;
  7. Écriture de données et mise en forme ;
  8. Lecture de données.

Grâce à ces articles contenant de nombreux exemples, vous apprendrez à interfacer efficacement Excel et MATLAB sous Windows.

Ces articles sont principalement destinés aux développeurs MATLAB quel que soit leur niveau.

En plus de l'apprentissage des techniques d'interfaçage, ils peuvent également initier le développeur MATLAB à l'environnement VBA (Excel, Word, PowerPoint…).

Les développeurs VBA pourront également y trouver des informations utiles afin de se familiariser avec MATLAB.
Lien : http://briot-jerome.developpez.com/matlab/tutoriels/excel-automation/sommaire/

N'hésitez pas à donner vos avis et à apporter des commentaires sur cet article à la suite de ce message

Vous pouvez également noter cet article en utilisant l'outil de notation de cette discussion dans la barre de menu en haut à droite




Retrouver les meilleurs cours et tutoriels pour apprendre Microsoft Office Excel
  Discussion forum
17 commentaires
  • FLB
    Modérateur
    Salut Dut,
    merci pour ce riche article!
    Je me permet de partager 2 liens, qui sont annexes au sujet présenté. Ils pointent vers le site undocumentedmatlab.com, par Yair Altman :
    Comment modifier actxserver pour utiliser une instance excel déjà démarrée, qui pourra alléger vos traitements de nombreuses fiches excels
    Utiliser un équivalent de xlswrite sous linux ou mac, sans passer par le format csv (par exemple).
    Florent
  • issoram
    Membre éprouvé
    Merci pour cet article intéressant, très instructif et bien construit.

    Bonne continuation
  • duf42
    Expert confirmé

    Le tuto est vraiment bien fait, bien construit et bien détaillé, bravo.
  • le fab
    Modérateur
    lu en diagonale, mais super article !
    faut que je m'y plonge un de ces 4 pour améliorer la solution bâtarde que j'avais apporté à un problème rencontré lors de la migration en 64 bits
    d'ailleurs à l'époque j'avais difficilement trouvé de l'aide sur les objet COM sur le net ! (et je ne connaissait pas l'option « Référence du développeur » dans Excel)

    bref, top!
  • Jerome Briot
    Rédacteur/Modérateur
    Envoyé par Dut
    Il faut mettre le chemin absolu et non pas relatif vers le fichier xlsx.

    Donc par ../../../ mais D:\...\...\...\

    J'ai ajouté cette remarque dans le tutoriel : Connexion - Ouvrir un fichier existant
  • Adjen
    Membre régulier
    Article très clair et vraiment très bien détaillé avec lequel il a été aisé de me faire la main sur le sujet et qui m'a été d'un grand secours.

    Un grand bravo et encore merci !

    Edit : petite coquille au Chapitre IV - Comparaison avec xlswrite de l'Ecriture des Données et Mise en Forme :

    Ce code présente troisdeux inconvénients que nous allons développer dans les chapitres suivants.
  • Jerome Briot
    Rédacteur/Modérateur
    Un 8ème article vient compléter la série : Gestion des feuilles
  • Jerome Briot
    Rédacteur/Modérateur
    Envoyé par Adjen
    Edit : petite coquille au Chapitre IV - Comparaison avec xlswrite de l'Ecriture des Données et Mise en Forme :
    C'est corrigé

  • coraline38
    Nouveau Candidat au Club
    Tout d'abord un grand merci pour ce tutoriel qui est vraiment très bien réalisé!

    Peut être qu'une question n'a pas sa place ici, mais je désire en poser une à propos de la mise en forme conditionnelle. Je cherche à utiliser une échelle de couleur. En suivant votre modèle j'arrive à :
    Code :
    colsc = range.FormatConditions.Add(xlColorScale);%où la cst VB xlColorScale=3

    ou encore :
    Code :
    colsc = range.FormatConditions.AddColorScale(ColorScaleType);  %où la cst VB ColorScaleType=2 pour une échelle à 2 couleurs
    maintenant je voudrais inverser cette échelle qui va du rouge pour les faibles valeurs au jaune pour les grandes valeurs pour un soucis de représentativité

    j'ai tenté d'utiliser quelque chose comme :

    Code :
    1
    2
    colsc.ColorScaleCriteria(1).FormatColor.Color = 65535;
    colsc.ColorScaleCriteria(2).FormatColor.Color = 255;
    en m'appuyant sur les codes VB mais sans résultat. J'ai le message d'erreur suivant :
    No appropriate method, property, or field FormatColor for class
    Interface.00024494_0000_0000_C000_000000000046.
    Le message parle par lui même. FormatColor n'est pas le champs approprié sous MATLAB. Quel champs ou simplement quelle formulation serait donc approprié(e)?
    Merci par avance pour vos lumières! ^^
  • Basto92
    Futur Membre du Club
    Merci pour ce tutoriel, que je lis d'ailleurs pour la seconde fois.

    Je me permets juste de signaler un infime détail, il manque une simple quote ' section III-B-2 dans le code suivant juste après Feuil3 sur la première ligne.
    Code :
    1
    2
    >> sheet = Excel.Worksheets.Item('Feuil3);
    >> sheet.Name = 'Mesures';
    Sinon super boulot!