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

C# Discussion :

Excel interop C# formula sur range non cote a cote


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé

    Profil pro
    Inscrit en
    Avril 2004
    Messages
    421
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2004
    Messages : 421
    Par défaut Excel interop C# formula sur range non cote a cote
    bonjour,

    j'essaie de generer un fichier excel avec c# pour l'instant, je m'en sort plutot bien mais je suis confronter a un probleme quand il faut y inserer des formules.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     ( ( Excel.Range ) sheet.Cells[2, 2] ).Formula= "=MIN(" +speedRange+ ")";
    j'essaie de mettre dans la cellulle 2,2 le minimum d'un ensemble de cellule.

    speedrange vaut F13:F37;F42:F65;F70:F93
    et donc ma formule =MIN(F13:F37;F42:F65;F70:F93)
    mais j'ai une erreur COM

    par contre, si j'ai un seul MIN(F13:F37), la tout fonctionne bien.

    qqn a t il une idée.

    PS : dans excel, pas de probleme evidemment avec la longue formule

    merci

    a++

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    24
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : Canada

    Informations forums :
    Inscription : Juin 2009
    Messages : 24
    Par défaut excel en anglais
    si tu as excel en francais, fais attention : L'été dernier, j'ai été confronté à un problème similaire, du moins je crois. Je codais e nvb derrière une feuille excel, et je me suis rendu compte que je devais utiliser des "," au lieu des ";"

    Donc, essaie de remplacer pour

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    speedRange = "F13:F37,F42:F65,F70:F93";
    J'ai testé avec vb, pas avec c#, pour faire vite, mais je crois que l'erreur est là.

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    24
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : Canada

    Informations forums :
    Inscription : Juin 2009
    Messages : 24
    Par défaut Raison
    La raison est que ton ordinateur est sans doute configuré en français. Cela fait en sorte que tes délimiteurs (séparateurs de listes) sont configuré comme étant des ;. Excel étant de microsoft, et microsoft étant une compagnie américaine, les délimiteurs sont configurés par défaut à ","

    Tu as donc le choix. Ou bien tu te souviens d'utiliser des "," en accédant à des feuilles excel par le biais de la méthode .formula, ou alors tu vas dans panneau de config-->Options régionales et linguistiques, onglet options régionales-->Personnaliser et tu changes "Séparateur de listes --> ; "

    Voilà, c'est plus détaillé comme ça.

Discussions similaires

  1. VBA Excel Loop sur Range de Cells - Copie Ficher
    Par bebert00 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 05/09/2010, 18h11
  2. [EXCEL 2003] Echec autofill sur la classe range
    Par buhrne dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 04/12/2008, 17h03
  3. erreur sur un non filtre
    Par nico.chev dans le forum Access
    Réponses: 1
    Dernier message: 20/09/2005, 12h16
  4. [C#] [FTP] Envoi et suppression fichier sur ftp NON ANONYME!
    Par djsbens dans le forum Windows Forms
    Réponses: 14
    Dernier message: 30/03/2005, 10h20
  5. [Debutant][Install][VS]erreur sur fichier non trouvé.
    Par silvermoon dans le forum DirectX
    Réponses: 4
    Dernier message: 16/07/2004, 20h59

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