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

Windows Forms Discussion :

Interfaçage avec EXCEL


Sujet :

Windows Forms

  1. #1
    Membre régulier
    Profil pro
    Ingénieur de développement
    Inscrit en
    Avril 2005
    Messages
    169
    Détails du profil
    Informations personnelles :
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur de développement

    Informations forums :
    Inscription : Avril 2005
    Messages : 169
    Points : 96
    Points
    96
    Par défaut Interfaçage avec EXCEL
    Bonjour.

    J'ai une application C# interfacée avec EXCEL comme suit :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    //--- Appel Excel
    m_exAppExcel = new Excel.ApplicationClass();
    m_exAppExcel.Caption = "Mon Excel";
    m_exClasseur = m_exAppExcel.Workbooks.Add(Excel.XlWBATemplate.xlWBATWorksheet);
    m_exFeuille = (Excel._Worksheet)m_exClasseur.ActiveSheet;
    m_exFeuille.Name = "Mesures";
    m_exAppExcel.Visible = true;
    Mon soucis est le suivant :
    Lorsque j'écris dans une cellule "m_exFeuille.Cells[1, 1] = "toto";" et qu'une cellule est en cours d'édition dans Excel (sur la feuille Excel, commencez à taper du texte dans une cellule quelconque mais sans valider), j'ai une exception qui est levée.

    Comment valider la cellule en cours d'édition avant de vouloir écrire dans une autre. Je ne trouve pas une telle fonction !!.
    La seule astuce consiste à enregistrer la feuille ("m_exClasseur.Save();")pour valider les saisies mais c'est un peu ennuyant

  2. #2
    Rédacteur/Modérateur
    Avatar de Skalp
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2006
    Messages
    1 694
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 694
    Points : 2 927
    Points
    2 927
    Par défaut
    La cellule n'a aucune raison de se trouver "en cours d'édition" lorsque tu pilotes Excel par programmation.
    A moins que le fichier puisse être édité par l'utilisateur en même temps ? Dans ce cas, forcer l'arrêt de l'édition va perturber l'utilisateur.

    Utilises-tu les Visual Studio Tools for Office ?

  3. #3
    Membre régulier
    Profil pro
    Ingénieur de développement
    Inscrit en
    Avril 2005
    Messages
    169
    Détails du profil
    Informations personnelles :
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur de développement

    Informations forums :
    Inscription : Avril 2005
    Messages : 169
    Points : 96
    Points
    96
    Par défaut
    Citation Envoyé par Skalp Voir le message
    La cellule n'a aucune raison de se trouver "en cours d'édition" lorsque tu pilotes Excel par programmation.
    Je suis d'accord mais les utilisateurs ....

    Citation Envoyé par Skalp Voir le message
    A moins que le fichier puisse être édité par l'utilisateur en même temps ? Dans ce cas, forcer l'arrêt de l'édition va perturber l'utilisateur.
    Rien n'empêche l'utilisateur de "tripoter" le fichier EXCEL. ET si par hasard il bricole dans une cellule et qu'il oublie de la valider, c'est la que commence les ennuis

    Citation Envoyé par Skalp Voir le message
    Utilises-tu les Visual Studio Tools for Office ?
    Non je n'en dispose pas. Serait-ce mieux pour les développements ?

  4. #4
    Expert éminent sénior

    Avatar de Philippe Vialatte
    Homme Profil pro
    Architecte technique
    Inscrit en
    Juillet 2004
    Messages
    3 029
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juillet 2004
    Messages : 3 029
    Points : 12 465
    Points
    12 465
    Par défaut
    Rien n'empêche l'utilisateur de "tripoter" le fichier EXCEL
    Si ton utilisateur utilise un programme office pendant que tu manipules le programme en question par automation, il va introduire des pbs fonctionnels...

    Dans le meilleur des cas, il va s'en rendre compte, dans le pire des cas...c'est un client qui s'en rends compte (et je parles d'experience...)

    Si tes utilisateurs ne sont pas capable de lâcher leur clavier deux minutes, faut les jeter...

    Mon Blog

    The Cake is still a lie !!!



    Vous voulez contribuer à la rubrique .NET ? Contactez-moi par MP.
    Vous voulez rédiger des articles pour la rubrique .NET ? Voici la procédure à suivre.

  5. #5
    Rédacteur/Modérateur
    Avatar de Skalp
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2006
    Messages
    1 694
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 694
    Points : 2 927
    Points
    2 927
    Par défaut
    +1 avec Philippe. Le mieux serait effectivement de ne pas laisser la main à l'utilisateur.

    As-tu un réel besoin de piloter Excel par programmation tout en laissant la main à l'utilisateur ? (il est tout à fait possible de piloter Excel de façon totalement invisible (m_exAppExcel.Visible = false))

    Les VSTO permettent de piloter plus facilement et efficacement les documents office. Pour plus d'informations, voir cet article : Visual Studio 2005 Tools for Microsoft Office: L'automation Office en .NET

  6. #6
    Membre régulier
    Profil pro
    Ingénieur de développement
    Inscrit en
    Avril 2005
    Messages
    169
    Détails du profil
    Informations personnelles :
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur de développement

    Informations forums :
    Inscription : Avril 2005
    Messages : 169
    Points : 96
    Points
    96
    Par défaut
    Bon, je crois que je vais arrêter de me prendre la tête.

    J'intercepte proprement l'erreur, j'envoie un message du genre "Erreur écriture" et l'utilisateur ne refera pas la bêtise.
    Dans tous les cas, mon programme ne se plante pas.

    Merci à tous.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Comment créer des onglets comme avec Excel (sheet1/sheet2)
    Par pierrot10 dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 20/09/2005, 17h36
  2. [MFC] [CRecordset] Problème avec Excel
    Par Yellowmat dans le forum MFC
    Réponses: 4
    Dernier message: 20/07/2005, 16h24
  3. Analyse avec Excel
    Par Ric500 dans le forum Access
    Réponses: 6
    Dernier message: 15/02/2005, 16h12
  4. Interfaçage avec les API de cdrtools
    Par jeanbi dans le forum API, COM et SDKs
    Réponses: 4
    Dernier message: 17/07/2004, 17h35
  5. [C#] [EXCEL] Travailler avec EXCEL sans ouvrir le logiciel
    Par Fabsou dans le forum Windows Forms
    Réponses: 3
    Dernier message: 16/07/2004, 11h29

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