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

Bibliothèques tierces Python Discussion :

Erreur lors de la création d'une formule avec xlwt [Python 2.X]


Sujet :

Bibliothèques tierces Python

  1. #1
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2014
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2014
    Messages : 4
    Points : 4
    Points
    4
    Par défaut Erreur lors de la création d'une formule avec xlwt
    Bonjour,

    J'essaye de créer une formule qui fait un calcul avec des valeurs de différentes feuilles d'un fichier XLS. Mais lors de la création de cette formule :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    xlwt.ExcelFormulaParser.FormulaParseException: can't parse formula E9+IF(ISNA(INDEX(J0166Y!A9:E60,MATCH(A9,J0166Y!A9:A60,0),5)),0,INDEX(J0166Y!A9:E60;MATCH(A9,J0166Y!A9:A60,0),5))+IF(ISNA(INDEX(J0168B!A9:E60,MATCH(A9,J0168B!A9:A60,0),5)),0,INDEX(J0168B!A9:E60;MATCH(A9,J0168B!A9:A60,0),5))
    Est-ce parce que la formule est trop longue ? J'ai essayé à la place des virgules de mettre des points-virgules mais aucun changement... Je me suis dis aussi qu'il fallait peut-être faire les calculs en dernier(que les feuilles concernées soient crées avant mais encore l'erreur...)

    Voici le code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    formule += "+IF(ISNA(INDEX(%s!%s:%s,MATCH(%s,%s!%s:%s,0),5)),0,INDEX(%s!%s:%s;MATCH(%s,%s!%s:%s,0),5))" % (code,caseDebutFormule,caseQte,matRecherche,code,caseDebutFormule,caseFinFormule,code,caseDebutFormule,caseQte,matRecherche,code,caseDebutFormule,caseFinFormule)
    Merci.

  2. #2
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 283
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 283
    Points : 36 770
    Points
    36 770
    Par défaut
    Salut,

    Déjà vérifier si cette formule est correcte côté Excel ...

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  3. #3
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2014
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2014
    Messages : 4
    Points : 4
    Points
    4
    Par défaut
    Merci pour votre réponse et oui j'ai bien entendu vérifié que cette formule était correcte du côté Excel, je l'ai même créée d'abord sur le fichier avant d'essayer de la porter sous Python.

  4. #4
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 283
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 283
    Points : 36 770
    Points
    36 770
    Par défaut
    Citation Envoyé par Pythondelafournaise Voir le message
    Merci pour votre réponse et oui j'ai bien entendu vérifié que cette formule était correcte du côté Excel, je l'ai même créée d'abord sur le fichier avant d'essayer de la porter sous Python.
    Je parlais de la chaîne de caractère produite par Python: LibreOffice n'en veut pas.

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  5. #5
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2014
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2014
    Messages : 4
    Points : 4
    Points
    4
    Par défaut
    Citation Envoyé par wiztricks Voir le message
    Je parlais de la chaîne de caractère produite par Python: LibreOffice n'en veut pas.

    - W
    Quand je copie la chaîne dans Excel, il faut que je te traduise les mots clés(IF -> SI, ISNA->ESTNA, MATCH -> EQUIV) et rajoute des points-virgules mais la formule marche.


    Mais j'ai donc trouvé une solution, je ne passe plus par mais à la place je passe la formule sous la forme d'une chaîne classique :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    formule = formuleQte(j,semiFini,4,len(donneesMat))
    feuilleXLS.write(j,14,formule,styleQte)
    Il a fallut rajouter un égal en début de chaîne et directement traduire les mots clés mais là, pas d'erreur, le fichier est créé et les formules s'appliquent bien.

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

Discussions similaires

  1. [MySQL] Erreur lors de la création d'une table avec mysql
    Par zemzoum89 dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 14/05/2010, 01h03
  2. Réponses: 1
    Dernier message: 22/02/2008, 11h30
  3. Erreur lors de la création d'une variable
    Par neuro6 dans le forum C++
    Réponses: 5
    Dernier message: 22/01/2007, 08h40
  4. Réponses: 4
    Dernier message: 21/02/2006, 16h47
  5. message d'erreur lors de la création d'une base
    Par franculo_caoulene dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 16/04/2004, 15h47

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