Page 2 sur 4

Posté : 06 juin 2007, 08:19
par mm91
Suite :

Le fichier « tousmestags.csv » est bien crée et mis a jour par les tâches planifiées.

Voir un exemple ici : http://perso.orange.fr/michel.mo/meteo/tousmestags.csv

Quelques améliorations souhaitées :

- remplissage à chaque ligne et non toutes les 15 lignes

- suppression des unités (heures, minutes) (je pensai que c’était la raison de « %unit_off% » dans le fichier « pourmestags.txt », mais ça ne marche pas)


- il y a sans doute un pb. de synchronisation des taches planifiées : on a par exemple deux fois 8 :40 et 8 :45 n’est pas enregistré. Y a-t-il une astuce pour avoir une ligne toutes les cinq minutes ?

Si je comprends bien le principe du fichier .bat : il crée un fichier .csv (au format Excel), mais sans aucune possibilité de formater ce tableau (mettre des titres des colonnes par exemple). D’où la nécessité de copier manuellement chaque ligne de ce tableau .csv dans un autre tableau Excel si l’on veut une meilleure présentation.
Mais il est quand même possible de faire des graphiques directement dans le fichier .csv ?

C’est bien ça ?

Posté : 06 juin 2007, 09:03
par jackT
Michel,
Les 15 lignes sont certainement dues au fait que tu as inséré 15 lignes "vides" dans ton fichier "pourmestags.txt". Ouvre ce fichier dans le bloc note, et à l'aide de la touche "flèche vers le bas" déplace le curseur le plus bas que tu peux dans le fichier. Tu n'as qu'à ensuite presser plusieurs fois la touche "retour en arrière(backspace)" pour effacer ces lignes vides jusqu'à ce que le curseur se trouve juste en dessous de la ligne contenant les tags. Sauvegarde ce fichier et cela devrait jouer.

Pour l'ensoleillement, tu peux utiliser %sunday_s%, %sunweek_s% et %sunmonth_s% pour ne pas avoir d'unité. Pour le %sunday24h%, on a visiblement pas le choix et le mot "heure sera toujours affiché. Tu peux autrement choisir d'afficher ces valeurs en mode décimal %sunday_d%, %sunday24_d%, %sunweek_d% et %sunmonth_d%.

Pour la tâche planifiée, je te conseille de décaler celle-ci de 3 minutes par rapport à wswin pour être sûr que le fichier "mestags.txt" a été modifié par wswin. Tu peux cliquer avec le bouton droit sur la tâche planifiée et changer l'heure de début à 00:03. Ainsi, les valeurs des tags seront copiées à 00:03, 00:08, 00:13....etc.

Une fois le fichier .csv ouvert (et éventuellement converti pour que les données soient affichées correctement en lignes et colonnes), tu peux à ce moment là formater le tableau, rajouter des titres, créer des graphiques...etc
Il faudra simplement ensuite sauvegarder le fichier au format "Classeur Microsoft Excel (.xls) (et non pas .csv comme proposé par défaut) pour ne pas perdre le formatage et les éventuels graphiques en sélectionnant "enregistrer sous..." et en modifiant le type de fichier en bas de la fenêtre de sélection de fichiers.

Posté : 06 juin 2007, 12:26
par mm91
1/
Pour les 15 lignes, c’est réglé

Voir : http://perso.orange.fr/michel.mo/meteo/tousmestags.xls

2/
Pour l’affichage « heure », finalement ça n’est pas gênant puisque destiné uniquement à un contrôle visuel.

Par contre j’ai mis les tags suivants :

%customfile=C:\Program Files\WsWin\mestags\mestags.txt%
%unit_off%%ws_date%,%ws_time%,%sunday%,%sunweek%,%sunmonth%,%sunintenscur%,%curval[2]%,%curval[1]%

avec curval[2] pour température extérieure et curval[1] pour température solaire (= température intérieure).
Ce qui donne :
06/06/2007,13:15,6:50 heures,26:58 heures,58:58 heures,1230,26,5,40,5

Comment faire pour que les valeurs décimales des températures ne soient pas dans une colonne séparée ?

3/
Tâche planifiées : avec départ à 00h03, pour l’instant ça marche.

4/
csv sauvegardé en xls : OK, ça marche (voir le lien ci-dessus)

Posté : 06 juin 2007, 12:37
par jackT
mm91 a écrit :1/
Comment faire pour que les valeurs décimales des températures ne soient pas dans une colonne séparée ?
Je n'ai pas eu ce problème chez moi car mon PC est réglé pour écrire les chiffres décimaux avec un point et non une virgule...

Dans ton cas, il faut simplement remplacer les virgules qui séparent tes tags par des points virgules:

%customfile=C:\Program Files\WsWin\mestags\mestags.txt%
%unit_off%%ws_date%;%ws_time%;%sunday%;%sunweek%;%sunmonth%;%sunintenscur%;%curval[2]%;%curval[1]%

Posté : 06 juin 2007, 12:39
par webmaster
mm91 a écrit : Comment faire pour que les valeurs décimales des températures ne soient pas dans une colonne séparée ?
Et bien sépare tes différents tags par des points virgules par exemple !

Posté : 06 juin 2007, 18:30
par mm91
Belle unanimité !

Et bien non, avec les point-virgules ( ;) c’est à dire ceci :

%customfile=C:\Program Files\WsWin\mestags\mestags.txt%
%unit_off%%ws_date%;%ws_time%;%sunday%;%sunweek%;%sunmonth%;%sunintenscur%;%suntxt%;%sunproz%;%curval[2]%;%curval[1]%

Voila ce que ça donne

http://perso.orange.fr/michel.mo/meteo/tousmestags2.csv

Quelle autre solution ?

Posté : 06 juin 2007, 19:39
par webmaster
Je ne vois pas le problème là !
Ta décimale est bien liée à sa valeur.

Posté : 06 juin 2007, 20:51
par jackT
mm91 a écrit :Voila ce que ça donne

http://perso.orange.fr/michel.mo/meteo/tousmestags2.csv

Quelle autre solution ?
Michel,
De mon côté aussi, ce fichier est correct lorsque je l'ouvre avec Excel...avec les valeurs décimales pour les températures.
Quel est ton problème exactement? Quelle version d'Excel as-tu?

Posté : 06 juin 2007, 21:47
par mm91
La ça devient compliqué car on ne voit pas la même chose.

Ici, avec des point-virgules entre les tags du fichier « pourmestags.txt », dans le fichier .csv crée, presque toutes les valeurs sont placées dans la même cellule et tout est illisible.

Alors qu’avec des virgule, le tableau .csv est parfait (sauf le pb des décimales de température qui sont dans une colonne séparée).

J’ai Excel 2000

Il y a quelque chose de bizarre

Posté : 07 juin 2007, 07:09
par mm91
Voici, avec une copie d’écran ce que ça donne :

http://perso.orange.fr/michel.mo/meteo/tousmestags.jpg

La première partie du tableau est le fichier .csv générée avec les virgules
Les deux dernières lignes sont générées avec les point virgules.
(ça fait la même chose, avec les pt virgules, en générant un nouveau fichier .csv)

Dans le deuxième cas, les valeurs des tags sont presque toutes placées dans la première cellule.

Je suis bien ennuyé car en résolvant ce problème, tout le système fonctionnerait très bien et me permettrait :
d’une part de surveiller les erreurs de calcul d’ensoleillement,
et d’autre part de recommencer toute mon étude sur la correspondance entre la différence de température soleil/abri et l’ensoleillement théorique (sunintenscur). Etude très longue et très intéressante que j’ai toute perdue dans le crash de mon Disque Dur.

Posté : 07 juin 2007, 07:15
par jackT
mm91 a écrit :La ça devient compliqué car on ne voit pas la même chose.

Ici, avec des point-virgules entre les tags du fichier « pourmestags.txt », dans le fichier .csv crée, presque toutes les valeurs sont placées dans la même cellule et tout est illisible.

Alors qu’avec des virgule, le tableau .csv est parfait (sauf le pb des décimales de température qui sont dans une colonne séparée).

J’ai Excel 2000

Il y a quelque chose de bizarre
Ok Michel, il te reste une petite opération à faire pour que tes données soient affichées correctement :
Une fois le fichier ouvert dans Excel:
1. Sélectionne toute la première colonne en cliquant sur l'entête de la colonne "A"
2. Sélectionne le menu "Données", "Convertir"
3. Sélectionne "Délimité" puis cliques sur "Suivant"
4. Coche "Point-virgule" puis cliques sur "Suivant", puis "Terminer"

Explication : Dans le réglage des options régionales de chaque PC, il y a un champ appelé "Séparateur de listes" qui définit le caractère qui sera reconnu par défaut comme séparateur.(voir dans "Panneau de configuration", "Options Régionales et linguisitiques", bouton "Personaliser...").
Il semble donc que chez toi, la virgule est définie comme séparateur de liste. Avec ce réglage, un fichier "csv" délimité par des points-virgule ne sera pas reconnu automatiquement, et il faudra donc le convertir comme expliqué ci-dessus. Si tu n'utilises pas d'autres fichiers csv délimités par des virgules, tu peux alors définir le séparateur de listes par défaut comme étant un point-virgule, et ton fichier s'ouvrira correctement. sans avoir besoin de le convertir.

Posté : 07 juin 2007, 08:19
par mm91
Comme je ne génère pas d’autre fichier csv, j’ai regardé dans les « Options régionales », mais c’est bien le pt virgule qui était sélectionné comme séparateur, d’ailleurs, que je sélectionne la virgule ou le pt virgule ne change rien dans mon tableau csv.
Il y a là quelque chose de pas normal, c’est ce pb qu’il faut résoudre.

Ta première méthode fonctionne (à un détail près), mais a le gros inconvénient que le fichier csv crée ne sera jamais lisible directement.
C’est dommage, alors qu’on ne doit pas être loin de la solution avec « options régionales »

Posté : 07 juin 2007, 09:22
par mm91
qui sera reconnu par défaut comme séparateur.
"par défaut" sous-entend: si aucun séparateur n'est défini par ailleur.

A quel endroit un autre séparateur (virgule au lieu de pt virgule) peut-il être défini ?

Posté : 07 juin 2007, 09:36
par webmaster
A ma connaissance :
Dans les paramètres XP, Options régionales, personnaliser.
Dans Excel, Options, onglet International.
Et au moment de l’importation si importation il ya…

Posté : 07 juin 2007, 09:46
par jackT
webmaster a écrit :A ma connaissance :
Dans les paramètres XP, Options régionales, personnaliser.
Dans Excel, Options, onglet International.
Et au moment de l’importation si importation il ya…
Le problème est qu'avec Excel 2000 , il n'y a pas d'onglet "International" dans "Options" et de plus Excel 2000 ne semble pas "regarder" le réglage régional et considère qu'un fichier csv doit utiliser la virgule comme séparateur.
Les versions plus récentes (Excel 2002, 2003 ou 2007) "lisent" ce réglage régional (et donc importent directement le fichier csv sans aucun problème si le point virgule est définit comme séparateur).....

Michel, si cela te gène de faire la conversion de données lorsque tu ouvres le fichier csv, je vois deux possibilités :
-Tu mets à jour ta version d'Excel
ou
-Tu choisis dans les options régionales le point comme symbole décimal et la virgule comme séparateur de listes.