Ouvrir un fichier CSV avec des formules et en afficher les résultats [Résolu]

Signaler
Messages postés
19295
Date d'inscription
samedi 17 mars 2007
Statut
Contributeur
Dernière intervention
29 juin 2020
-
Messages postés
19295
Date d'inscription
samedi 17 mars 2007
Statut
Contributeur
Dernière intervention
29 juin 2020
-
Bonjour,

En ce moment je développe un outil Python 27 pour exploiter des données au format CSV.
Cet outil part d'un fichier source .csv, en exploite les données et crée un fichier résultat .csv.

Dans ce fichier résultat .csv, je dois mettre aux bons endroits des valeurs mais aussi des formules de calcul Excel qui seront appliquées lors de l'ouverture du fichier sous Excel.

Jusqu'à hier, je développais mon script Python sur mon iMac mid2007 et j'étais très content car quand j'ouvrais le fichier résultat.csv avec mon Excel version Mac 2011 14.7.3, tout était nickel: les valeurs étaient aux bons endroits et les calculs faits par mes formules étaient exacts, ... bref j'étais heureux.

Seulement, mon outil Python doit surtout marcher sur Windows 10 et Excel.
Donc ce matin, j'ai pris un PC Windows 10 avec Excel 2019 v16.0.12624.20348 64bits, j'ai lancé mon outil Python qui a bien généré le fichier résultat .csv.
Quand je le compare à celui obtenu sur mon iMac, il n'y a aucune différence.

Quand j'ouvre ce fichier résultat .csv avec Excel, alors partout où il y a des formules, j'ai "#NOM?"

Quand je clique sur une cellule ayant cette erreur, je vois "Erreur due à un nom non valide".
Pourtant la formule qui s'affiche me semble tout à fait correcte:
=SI(OU(G3<>"";H3<>"";I3<>"";K3<>"";M3<>"";N3<>"";U3<>"";V3<>"";W3<>"";X3<>"");1;0)

Point intéressant:
- Si je clique sur une de ces cellules "#NOM?", la formule s'affiche dans la zone adéquate.

- Si je clique dans la zone où la formule s'affiche, les cellules impliquées dans la formule se colorisent dans la feuille Excel et ce sont les bonnes cellules.

- Si je fais alors un retour chariot dans cette zone d'affichage de la formule, alors l'erreur "#NOM?" disparaît de la cellule pour faire place à la valeur calculée et tant espérée !!


Pourquoi Excel ne l'a-t-il pas fait avant ?

Sachant qu'il y a des centaines de cellules "#NOM?" dans mon fichier, je me vois mal appliquer la recette sur chaque cellule.

Quelqu'un saurait-il me décoincer ?
Merci de m'avoir lu jusqu'au bout,
Ritchi


Configuration: Windows 10 / Excel Pro 2019

2 réponses

Messages postés
2803
Date d'inscription
samedi 1 janvier 2011
Statut
Contributeur
Dernière intervention
26 juin 2020
654
Pour avoir eu le fichier entre les mains (virtuelles, bien sûr), j'ai pu constater que, dans la version pour Windows 16.0.11929.20618 64 bits l'ouverture du CSV se passe normalement et les formules sont correctement interprétées.

Par contre, dans la version 2019 pour Mac, les formules ne sont pas interprétées, comme dans la version 16.0.12624 pour Windows évoquée ci-dessus. Mais si, dans le CSV on les met dans leur forme US (=IF(OR(...)) elles sont traduites et correctement interprétées.

Changement d'orientation ? Bug (donc provisoire) de localisation ? Difficile de savoir. Il serait utile de le signaler aux aux équipes produit via le bouton "smiley", à droite de la barre d'outils pour la version 2019 sur Mac ou en haut à droite dans la page "Fichier" de la version pour Windows...

Messages postés
19295
Date d'inscription
samedi 17 mars 2007
Statut
Contributeur
Dernière intervention
29 juin 2020
4 777
Bonjour,
Excellente initiative que d'avoir proposé cette mise en langue de Shakespeare les formules présentes dans mon fichier .csv : cela a parfaitement corrigé mon souci dans Excel Pro 2019.
Je vais donc modifier mon script Python pour qu'il crée les formules en version outre-manche ou plutôt en version outre-atlantique.
Un grand "MERCI !!!" pour cette brillante idée.
Ritchi
Messages postés
8128
Date d'inscription
dimanche 13 juin 2010
Statut
Membre
Dernière intervention
24 juin 2020
1 430
Bonjour,

EDIT : Essaies :
Dim r As Range

  Set r = ActiveSheet.Range("a1").CurrentRegion
  r.Replace "=", "="



Cordialement
Patrice

Personne ne peut détenir tout le savoir, c'est pour ça qu'on le partage.
Messages postés
19295
Date d'inscription
samedi 17 mars 2007
Statut
Contributeur
Dernière intervention
29 juin 2020
4 777
Bonjour Patrice,
Merci de cette proposition, mais je ne peux pas la mettre en place dans un fichier .csv
Ritchi
Messages postés
8128
Date d'inscription
dimanche 13 juin 2010
Statut
Membre
Dernière intervention
24 juin 2020
1 430 >
Messages postés
19295
Date d'inscription
samedi 17 mars 2007
Statut
Contributeur
Dernière intervention
29 juin 2020

Le problème ne situe pas dans le fichier csv mais dans Excel.

Ceci dit, un fichier csv est un fichier texte, il n'est pas prévu pour contenir des formules, il me paraît logique qu'Excel n'interprète pas les formules : il ne devrait jamais le faire, mais Excel et les csv c'est une très vieille histoire d'anomalies d'interprétation.