Bonjour,

dépendant de la source (je connais pas le site, donc pas possible de savoir
si faisable),
1) calc peut lire des flux web pour les intégrer via : Données - flux
(ça éviterait peut-être le script python),
2) Il y a aussi la possibilité de développer le script python comme
"plugin" calc,
3) la recopie manuelle se fait très facilement : (une fois que la cellule
D1 est faite, se positionner dessus, puis :
Ctrl-C + Ctrl-Shift-End + Ctrl-V    :)
4) script Libreoffice via un bouton associé au script,

bref, y'a plein de moyen d'y arriver ;)
Bon dimanche
Yves

Le dim. 30 mai 2021 à 10:01, <[email protected]> a écrit :

> bonjour à tous,
> et encore merci pour toutes vos contributions.
> Oui, ici aussi on a profité du soleil hier ;-) et on recommence
> aujourd'hui, donc pas de souci Jean-Michel !
> pour répondre à la question "d'où viennent ces données ? "
> C'est un script Python que j'ai programmé, qui vient quotidiennement
> extraire d'un site web en ligne les données prix/promotions sur 250
> produits. Le script constitue une base de données (le fichier CSV), qui
> grossit donc tous les jours.
> Oui : je pourrais  modifier mon script pour ajouter cette fameuse colonne
> PromotionExists, mais j'avais envie d'apprendre à me servir de LibreOffice,
> que je n'ai jamais vraiment utilisé, donc je ne voulais pas faire un
> constat d'échec dès le début ;-)
> Force est de constater que BASE + table CSV, ça ne marche pas. Tant pis.
>
> Initialement, j'étais parti sur cette idée de faire un lien de données
> externes dans CALC comme proposé par Yves. Mais le fait de devoir
> manuellement "prolonger" les formules jusqu'à la dernière ligne pour que le
> graphique final soit à jour ne m'allait pas. C'est pourquoi je m'étais
> rabbattu sur l'idée d'une requête dans BASE (dont la formule n'a pas besoin
> d'être corrigée quotidiennement).
>
> Donc je reviens à mon idée initiale, mais avec cette fois-ci comme
> problématique de prolonger automatiquement les formules jusqu'à la dernière
> ligne. Je vais partir sur une macro je pense.
> A ce stade, je devrais pouvoir me débrouiller (il faut juste que je
> comprenne quels sont les objets accessibles par macro en LibreOffice, ansi
> que leurs attributs et méthodes)
> Merci à tous pour votre aide,
>
> et profitez bien de la journée !
> Le 29/05/2021 à 14:25, yves dutrieux a écrit :
>
> bonjour,
>
> supposons ton fichier .csv avec 3 champs dont le dernier est le champ
> "promotion".
> A partir de calc,
> Feuilles - lien vers données externes - <choisir ton fichier .csv>
> le fichier sera importé dans ta feuille,
> dans la colonne D1 : =SI(C1="";0;1)
>
> indiquera 1 si promotion different de zéro (tu copies/colles cette formule
> sur toutes les lignes).
> Si ensuite, fon fichier csv venait à être modifié : Editon - liens de
> données externes- [actualiser]
>
> idée rapide et à l'arrache. A voir si ça peut convenir.
> nb: ton problème avec la requêtes est sql est probablement du à ce que
> base ne considère pas un fichier .csv comme une table "standard" sql de
> base.
> Si tu importes ton fichier normalement et le transforme comme une table,
> probablement que cela fonctionnera.
>
> Yves
>
> Le sam. 29 mai 2021 à 09:44, <[email protected]> a écrit :
>
>> Merci à tous les deux.
>>
>> Concernant le forum https://ask.libreoffice.org/fr/questions/, je
>> l'avais vu, mais il ne m'a pas semblé très actif autour de Base, et
>> comme sur la page officielle de LibreOffice, ils mentionnent que le
>> canal officiel pour demander de l'aide, c'est la liste...je suis allé
>> par là.
>> Concernant ma version (obsolète) de LibreOffice, c'est parceque je
>> travaille sous Linux, distribution non compilée Gentoo, qui du coup a
>> toujours un peu de retard dans la mise à disposition de paquets stables,
>> pour privilégier la stabilité des versions officiellement stables (même
>> si je peux installer la nouvelle version de LibreOffice en "forçant" le
>> paquet jugé instable sous Gentoo)
>> Merci Jean-Michel (COSTE) pour le lien vers la documentation (dont il
>> semble que vous êtes le traducteur ? Merci pour ça !).
>> J'y apprends qu'il y a 2 manières de se connecter à un fichier CSV :
>> 1) Tables de texte dans une base de données HSQLDB interne
>> 2)Les tables texte comme base d’une base de données autonome
>> J'ai utilisé la 2ème méthode. Et dans ce cas, la documentation indique
>> "L’accès aux tables par requêtes est également limité à une table à la
>> fois et sans l’utilisation de
>> fonctions. De même, les relations ne sont pas prises en charge"...
>> Si on ne peut pas utiliser de fonctions, ça explique donc pourquoi ma
>> colonne reste toujours vide !
>> Donc j'ai testé la méthode 1). Mais elle ne convient pas non plus, car
>> je n'ai pas de clé primaire numérique dans mon fichier CSV...donc
>> impossible de lier la table (je peux créer le squelette vide à l'aide de
>> l'instruction SQL, mais pas faire la liaison)
>>
>> Je suis donc un peu coincé...
>> A l'origine, mon vrai besoin était de créer des analyses graphiques
>> depuis les données sources du fichier CSV, et j'avais besoin de
>> simplifier le champ "Promotion" par une simple information "présence ou
>> absence : 1 ou 0. Et de restituer, pour 1 produit au choix, un
>> historique de prix sous forme de graphique "courbe" et des batons
>> lorsqu'une période est sous promotion (bâtons à 1 lors d'une période
>> sous promotion, et à 0 (donc invisible) hors période de promotion).
>> Je pensais donc faire le graphique dans CALC, grâce à un tableau croisé
>> dynamique dont la source aurait été une base de données BASE
>> (enregistrée pour être utilisable dans CALC) qui elle-même aurait été
>> liée à mon fichier CSV.
>> Manifestement, je ne peux pas faire ça.
>> A tout hasard, auriez une idée pour contourner le problème ?
>> En tout cas, merci de vos contributions fort utiles !
>> Cordialement,
>>
>> Le 29/05/2021 à 08:09, Jean-Michel PIERRE a écrit :
>> > Il est aussi possible de poser les questions sur cette page :
>> > https://ask.libreoffice.org/fr/questions/
>> > Un fichier peut y être téléversé pour être testé
>> >
>> > Jean-Michel PIERRE
>> > Tél : 05.49.255.333
>> > Tél : 06.19.55.73.22
>> >
>> >> Le 29 mai 2021 à 00:53, Jean-Michel COSTE <[email protected]>
>> a écrit :
>> >>
>> >> Bonjour,
>> >>
>> >>> Le 28/05/2021 à 19:23, [email protected] a écrit :
>> >>> Bonjour à tous,
>> >>> C'est la 1ère fois que j'utilise une liste comme moyen de solliciter
>> de l'aide. J'espère que j'ai bien saisi le principe, et que mon message
>> n'est pas à côté de la plaque ;-)
>> >>> J'ai cherché sur Internet pour trouver une réponse à mon problème,
>> mais aucune des solutions que j'ai trouvé ne fonctionne, bien qu'elles
>> semblent pertinentes.
>> >>>
>> >>> J'utilise LibreOffice 6.4.7.2
>> >> Cette version est obsolète, la dernière version stable est la 7.06
>> (mais ce n'est pas la cause du problème)
>> >>> Le problème : j'ai une table HistoriquePromo (qui est un fichier CSV,
>> la base de donnée est connectée à ce fichier CSV). J'ai un champ Promotion
>> dans cette table, qui contient parfois une information (libellé de la
>> promotion, c'est du texte). Le reste du temps, il est vide (il n'y a donc
>> pas de promotion).
>> >>> Mon besoin : Dans une requête SELECT "Article" "Article",
>> "Description" "Description", "Date" "Date", "Prix" "Prix", "Promotion"
>> "Promotion" FROM "HistoriquePromo", je veux ajouter une colonne à la
>> requête qui renvoit 1 si une promotion est présente (le champ est rempli
>> avec du texte), 0 sinon.
>> >>>
>> >>> J'ai testé : SELECT "Article" "Article", "Description" "Description",
>> "Date" "Date", "Prix" "Prix", "Promotion" "Promotion", COALESCE (
>> "Promotion", 1, 0 ) "PromotionExists" FROM "HistoriquePromo"
>> >>>
>> >>> mais la nouvelle colonne "PromotionExists" reste vide. Je n'ai,
>> cependant, pas de message d'erreur.
>> >> Attention, il y a deux manières de gérer une table texte, il est
>> possible que ça ne fonctionne pas dans l'une des deux. Lire le chapitre 2
>> du Guide Base ;
>> https://wiki.documentfoundation.org/Documentation/Publications/fr#Guide_Base
>> <
>> https://wiki.documentfoundation.org/Documentation/Publications/fr#Guide_Base
>> >
>> >>
>> >> Il est précisé dans la documentation que pour qu'une base CSV soit
>> modifiable, elle doit être munie d'un champ numérique à valeurs uniques.
>> >>
>> >>> J'ai testé CASE WHEN "Promotion" = "" THEN 0 ELSE 1 END : la nouvelle
>> colonne reste vide.
>> >> J’essaierais  CASE "Promotion" WHEN "" THEN 0 ELSE 1
>> >>
>> >> Cordialement,
>> >>
>> >>
>> >> --
>> >>
>> >>
>> >>        Jean-Michel COSTE
>> >>
>> >>
>> >> --
>> >> Envoyez un mail à [email protected] pour vous
>> désinscrire
>> >> Les archives de la liste sont disponibles à
>> https://listarchives.libreoffice.org/fr/users/
>> >> Privacy Policy: https://www.documentfoundation.org/privacy
>>
>> --
>> Envoyez un mail à [email protected] pour vous
>> désinscrire
>> Les archives de la liste sont disponibles à
>> https://listarchives.libreoffice.org/fr/users/
>> Privacy Policy: https://www.documentfoundation.org/privacy
>>
>
>
> --
> web site : http://www.molenbaix.com
>
>

-- 
web site : http://www.molenbaix.com

-- 
Envoyez un mail à [email protected] pour vous désinscrire
Les archives de la liste sont disponibles à 
https://listarchives.libreoffice.org/fr/users/
Privacy Policy: https://www.documentfoundation.org/privacy

Répondre à