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
