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 :

Supprimer une ligne d'un fichier Excel


Sujet :

MATLAB

  1. #1
    Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Mars 2009
    Messages
    105
    Détails du profil
    Informations personnelles :
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2009
    Messages : 105
    Points : 40
    Points
    40
    Par défaut Supprimer une ligne d'un fichier Excel
    Bonjour,

    Est ce que c'est possible de supprimer une ligne entièrement avec ses attributs d'un fichier Excel avec Matlab?

  2. #2
    Expert éminent sénior
    Avatar de Caro-Line
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    9 458
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 9 458
    Points : 14 828
    Points
    14 828
    Par défaut
    Réponse rapide : oui.

    Mais comme je suppose que cela ne te suffira pas :

    Comment interfacer MATLAB avec Excel ?

    Si on utilise la solution 1 cela signifierait tout lire puis tout réécrire sans la ligne.
    Donc surement la solution 2.
    Sur la 3 je ne l'ai pas et n'ai jamais testé donc peut-être.
    Et pas la 4.

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    51
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 51
    Points : 38
    Points
    38
    Par défaut
    Voivi un petit bout de code qui permet d'ouvrir un fichier xls avec Matlab, en utilisant ActiveX
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    [FileName,PathName] = uigetfile('*.xls','Select an existing File :'); 
    [type, sheets] = xlsfinfo(fullfile(PathName,FileName));
    hdlActiveX = actxserver('Excel.Application');
    hdlActiveX.Visible = true;
    trace(hdlActiveX.Visible);
    hdlActiveX.get
    hdlXlsDoc = invoke(hdlActiveX.Workbook, 'Open', fullfile(PathName,FileName));
    Pour avoir une idée du code à écrire ensuite, fais une macro sous excel "à la main" et edit-la.

  4. #4
    Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Mars 2009
    Messages
    105
    Détails du profil
    Informations personnelles :
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2009
    Messages : 105
    Points : 40
    Points
    40
    Par défaut
    J'ai regardé la solution 2 ça me parrait trop compliqué pour une simple suppression de ligne, d'autant plus que je n'ai aucune connaissance de l'utilisation du ActiveX
    est ce que vous pouvez me fournire plus d'indices

    pourquoi ne pas utiliser la solution 1, il suffirait de lire le fichier avec xlsread et de le réecrire en commensant par la deuxième ligne? ou c'est plus compliqué que ce que je pense consernant la solution 1

  5. #5
    Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Mars 2009
    Messages
    105
    Détails du profil
    Informations personnelles :
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2009
    Messages : 105
    Points : 40
    Points
    40
    Par défaut
    Citation Envoyé par sandrillon Voir le message
    Voivi un petit bout de code qui permet d'ouvrir un fichier xls avec Matlab, en utilisant ActiveX
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    [FileName,PathName] = uigetfile('*.xls','Select an existing File :'); 
    [type, sheets] = xlsfinfo(fullfile(PathName,FileName));
    hdlActiveX = actxserver('Excel.Application');
    hdlActiveX.Visible = true;
    trace(hdlActiveX.Visible);
    hdlActiveX.get
    hdlXlsDoc = invoke(hdlActiveX.Workbook, 'Open', fullfile(PathName,FileName));
    Pour avoir une idée du code à écrire ensuite, fais une macro sous excel "à la main" et edit-la.
    qu'est vous entendez par une macro sous excel

  6. #6
    Expert éminent sénior
    Avatar de Caro-Line
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    9 458
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 9 458
    Points : 14 828
    Points
    14 828
    Par défaut
    Citation Envoyé par slayer21 Voir le message
    pourquoi ne pas utiliser la solution 1, il suffirait de lire le fichier avec xlsread et de le réecrire en commensant par la deuxième ligne? ou c'est plus compliqué que ce que je pense consernant la solution 1
    Sisi tu peux, je n'ai jamais dit le contraire.
    Pour s'en persuader il suffit d'essayer

    Citation Envoyé par slayer21 Voir le message
    qu'est vous entendez par une macro sous excel
    Ah bah oui là forcément sans aucune connaissance sur les macros Excel ça va être plus délicat.
    Une macro Excel c'est du code écrit en VBA (j'espère ne pas dire de trop grosse bêtise).
    Il y a un outil sous Excel qui permet de les créer en automatique.
    Tu fais un truc du style Outils > Macro > Enregistrer (je n'ai pas Excel donc c'est de l'à peu près), tu fais des actions (comme supprimer une ligne), puis Stopper l'enregistrement et là ta macro apparait.

  7. #7
    Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Mars 2009
    Messages
    105
    Détails du profil
    Informations personnelles :
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2009
    Messages : 105
    Points : 40
    Points
    40
    Par défaut
    Est ce que je suis obligé de passer par des macro en VBA(dont je ne copnnais rien) pour trouver la solution en Matlab?

  8. #8
    Expert éminent sénior
    Avatar de Caro-Line
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    9 458
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 9 458
    Points : 14 828
    Points
    14 828
    Par défaut
    Non, essaye la solution qui consiste à lire la feuille, supprimer la ligne, réécrire la feuille.
    Ca fonctionne très bien, c'est juste qu'en général tout le monde demande des solution plus optimisées mais si tu n'y connais rien en macro c'est le plus simple.

Discussions similaires

  1. Comment supprimer une ligne d'un fichier excel ?
    Par dreadnight dans le forum VB.NET
    Réponses: 4
    Dernier message: 14/04/2010, 19h45
  2. Supprimer une ligne dans un fichier text
    Par philippe13 dans le forum Entrée/Sortie
    Réponses: 4
    Dernier message: 14/03/2006, 16h43
  3. Supprimer une ligne dans un fichier
    Par tsing dans le forum Linux
    Réponses: 4
    Dernier message: 06/02/2006, 14h45
  4. [VBA] insérer une ligne dans un fichier excel
    Par cokinoumasterflash dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 21/07/2005, 18h52
  5. Supprimer une ligne dans un fichier
    Par sbeu dans le forum Langage
    Réponses: 3
    Dernier message: 13/05/2003, 10h30

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