tag:linuxfr.org,2005:/tags/excel/publicLinuxFr.org : les contenus étiquetés avec « excel »2024-03-22T05:28:11+01:00/favicon.pngtag:linuxfr.org,2005:Bookmark/80782024-03-22T04:17:53+01:002024-03-22T04:17:53+01:00Formula 1 chief appalled to find team using Excel to manage 20,000 car parts<a href="https://arstechnica.com/cars/2024/03/formula-1-chief-appalled-to-find-team-using-excel-to-manage-20000-car-parts/">https://arstechnica.com/cars/2024/03/formula-1-chief-appalled-to-find-team-using-excel-to-manage-20000-car-parts/</a> <p>
<strong>Commentaires :</strong>
<a href="//linuxfr.org/nodes/135184/comments.atom">voir le flux Atom</a>
<a href="https://linuxfr.org/users/yboy360/liens/formula-1-chief-appalled-to-find-team-using-excel-to-manage-20-000-car-parts#comments">ouvrir dans le navigateur</a>
</p>
YBoy360https://linuxfr.org/nodes/135184/comments.atomtag:linuxfr.org,2005:Bookmark/78562024-01-28T13:07:36+01:002024-01-28T13:07:36+01:00[Youtube] Un processeur 16-Bit dans Excel<a href="https://www.youtube.com/watch?v=5rg7xvTJ8SU">https://www.youtube.com/watch?v=5rg7xvTJ8SU</a> <p>
<strong>Commentaires :</strong>
<a href="//linuxfr.org/nodes/134749/comments.atom">voir le flux Atom</a>
<a href="https://linuxfr.org/users/linkdd/liens/youtube-un-processeur-16-bit-dans-excel#comments">ouvrir dans le navigateur</a>
</p>
David Delassushttps://linuxfr.org/nodes/134749/comments.atomtag:linuxfr.org,2005:Bookmark/73862023-10-23T14:39:47+02:002023-10-23T14:39:47+02:00Excel will allow certain auto data conversions to be turned off<a href="https://insider.microsoft365.com/en-us/blog/control-data-conversions-in-excel-for-windows-and-mac">https://insider.microsoft365.com/en-us/blog/control-data-conversions-in-excel-for-windows-and-mac</a> <p>
<strong>Commentaires :</strong>
<a href="//linuxfr.org/nodes/133713/comments.atom">voir le flux Atom</a>
<a href="https://linuxfr.org/users/mousquetaire_g2/liens/excel-will-allow-certain-auto-data-conversions-to-be-turned-off#comments">ouvrir dans le navigateur</a>
</p>
mousquetaire G2https://linuxfr.org/nodes/133713/comments.atomtag:linuxfr.org,2005:Bookmark/35112021-08-27T13:05:12+02:002021-08-27T13:05:12+02:00L'abus du tableur Excel peut conduire à des erreurs médicales, des faillites et des émeutes.<a href="https://theconversation.com/excel-autocorrect-errors-still-plague-genetic-research-raising-concerns-over-scientific-rigour-166554">https://theconversation.com/excel-autocorrect-errors-still-plague-genetic-research-raising-concerns-over-scientific-rigour-166554</a> <p>
<strong>Commentaires :</strong>
<a href="//linuxfr.org/nodes/125241/comments.atom">voir le flux Atom</a>
<a href="https://linuxfr.org/users/vendrediouletrollsauvage/liens/l-abus-du-tableur-excel-peut-conduire-a-des-erreurs-medicales-des-faillites-et-des-emeutes#comments">ouvrir dans le navigateur</a>
</p>
voltshttps://linuxfr.org/nodes/125241/comments.atomtag:linuxfr.org,2005:Bookmark/34772021-08-17T13:58:55+02:002021-08-17T13:58:55+02:00Quand Excel met des bâtons dans les roues des généticiens<a href="https://www.zdnet.fr/actualites/quand-excel-met-des-batons-dans-les-roues-des-geneticiens-39927619.htm">https://www.zdnet.fr/actualites/quand-excel-met-des-batons-dans-les-roues-des-geneticiens-39927619.htm</a> <p>
<strong>Commentaires :</strong>
<a href="//linuxfr.org/nodes/125165/comments.atom">voir le flux Atom</a>
<a href="https://linuxfr.org/users/colargol/liens/quand-excel-met-des-batons-dans-les-roues-des-geneticiens#comments">ouvrir dans le navigateur</a>
</p>
Colargolhttps://linuxfr.org/nodes/125165/comments.atomtag:linuxfr.org,2005:Bookmark/33832021-07-24T01:43:42+02:002021-07-24T01:43:42+02:00LuckySheet - un tableur en ligne qui en met plein les yeux<a href="https://github.com/mengshukeji/Luckysheet">https://github.com/mengshukeji/Luckysheet</a> <p>
<strong>Commentaires :</strong>
<a href="//linuxfr.org/nodes/124958/comments.atom">voir le flux Atom</a>
<a href="https://linuxfr.org/users/dzecniv/liens/luckysheet-un-tableur-en-ligne-qui-en-met-plein-les-yeux#comments">ouvrir dans le navigateur</a>
</p>
dzecnivhttps://linuxfr.org/nodes/124958/comments.atomtag:linuxfr.org,2005:Diary/393852020-10-06T16:57:24+02:002020-10-06T16:57:24+02:00En finir avec CSV ou Excel pour échanger des donnéesLicence CC By‑SA http://creativecommons.org/licenses/by-sa/4.0/deed.fr<p>Du Excel-engineering dans tout sa splendeur:<br>
<a href="https://www.bbc.com/news/technology-54423988">Excel: Why using Microsoft's tool caused Covid-19 results to be lost</a></p>
<p>Mais je suis aussi à blâmer: j'ai souvent utilisé Excel ou CSV pour échanger des données alors que je sais pertinemment que c'est mal.<br>
Je ne compte pas les soucis que j'ai eu à cause d'un mauvais formatage de fichiers CSV (texte non quoté, retour à la ligne dans les valeurs, texte avec guillemets, etc.). Ou encore Excel qui persiste à interpréter "00123" comme "123".</p>
<p>Je me suis donc enfin décider à chercher une alternative.<br>
Après avoir jeté oeil sur <a href="https://fr.wikipedia.org/wiki/Data_Interchange_Format">DIF</a> et <a href="https://fr.wikipedia.org/wiki/Symbolic_Link">SYLK</a>, je suis tombé sur <a href="https://en.wikipedia.org/wiki/Delimiter#ASCII_delimited_text">ASCII Delimited Text</a>:<br>
<a href="https://ronaldduncan.wordpress.com/2009/10/31/text-file-formats-ascii-delimited-text-not-csv-or-tab-delimited-text/">Text File formats – ASCII Delimited Text – Not CSV or TAB delimited text</a></p>
<p>Le gros soucis c'est que ce format n'est supporté par personne. Même vim ou emacs l'affiche bizarrement. Celui qui s'en sort le mieux out-of-the-box est Notepad++.<br>
Mais bon dans l'idée on n'édite pas un tel fichier à la main, donc ce n'est pas grave.</p>
<p>Je me suis donc inspiré d'un <a href="https://stackoverflow.com/a/30226173">bout de code</a> pour proposer un convertisseur de "ASCII Delimited Text" en Excel.<br>
C'est très moche je trouve mais je n'ai pas réussi à faire plus simple (si quelqu'un arrive à faire plus simple, défi TapTempo !).</p>
<pre><code class="python"><span class="kn">from</span> <span class="nn">openpyxl</span> <span class="kn">import</span> <span class="n">Workbook</span>
<span class="kn">import</span> <span class="nn">csv</span><span class="o">,</span> <span class="nn">argparse</span>
<span class="k">def</span> <span class="nf">readlines</span><span class="p">(</span><span class="n">f</span><span class="p">,</span> <span class="n">newline</span><span class="o">=</span><span class="s1">'</span><span class="se">\n</span><span class="s1">'</span><span class="p">):</span>
<span class="k">while</span> <span class="bp">True</span><span class="p">:</span>
<span class="n">line</span> <span class="o">=</span> <span class="p">[]</span>
<span class="k">while</span> <span class="bp">True</span><span class="p">:</span>
<span class="n">ch</span> <span class="o">=</span> <span class="n">f</span><span class="o">.</span><span class="n">read</span><span class="p">(</span><span class="mi">1</span><span class="p">)</span>
<span class="k">if</span> <span class="n">ch</span> <span class="o">==</span> <span class="s1">''</span><span class="p">:</span> <span class="c1"># end of file?</span>
<span class="k">return</span>
<span class="k">elif</span> <span class="n">ch</span> <span class="o">==</span> <span class="n">newline</span><span class="p">:</span> <span class="c1"># end of line?</span>
<span class="n">line</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="s1">'</span><span class="se">\n</span><span class="s1">'</span><span class="p">)</span>
<span class="k">break</span>
<span class="n">line</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">ch</span><span class="p">)</span>
<span class="k">yield</span> <span class="s1">''</span><span class="o">.</span><span class="n">join</span><span class="p">(</span><span class="n">line</span><span class="p">)</span>
<span class="k">def</span> <span class="nf">process</span><span class="p">(</span><span class="nb">input</span><span class="p">,</span> <span class="n">output</span><span class="p">):</span>
<span class="n">wb</span> <span class="o">=</span> <span class="n">Workbook</span><span class="p">(</span><span class="n">write_only</span><span class="o">=</span><span class="bp">True</span><span class="p">)</span>
<span class="n">ws</span> <span class="o">=</span> <span class="n">wb</span><span class="o">.</span><span class="n">create_sheet</span><span class="p">()</span>
<span class="k">with</span> <span class="nb">open</span><span class="p">(</span><span class="nb">input</span><span class="p">,</span> <span class="s1">'r'</span><span class="p">,</span> <span class="n">encoding</span><span class="o">=</span><span class="s1">'utf-8'</span><span class="p">)</span> <span class="k">as</span> <span class="n">f</span><span class="p">:</span>
<span class="n">reader</span> <span class="o">=</span> <span class="n">csv</span><span class="o">.</span><span class="n">reader</span><span class="p">(</span><span class="n">readlines</span><span class="p">(</span><span class="n">f</span><span class="p">,</span> <span class="n">newline</span><span class="o">=</span><span class="nb">chr</span><span class="p">(</span><span class="mi">30</span><span class="p">)),</span> <span class="n">delimiter</span><span class="o">=</span><span class="nb">chr</span><span class="p">(</span><span class="mi">31</span><span class="p">))</span>
<span class="p">[</span><span class="n">ws</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">row</span><span class="p">)</span> <span class="k">for</span> <span class="n">i</span><span class="p">,</span><span class="n">row</span> <span class="ow">in</span> <span class="nb">enumerate</span><span class="p">(</span><span class="n">reader</span><span class="p">)]</span>
<span class="n">wb</span><span class="o">.</span><span class="n">save</span><span class="p">(</span><span class="n">output</span><span class="p">)</span>
<span class="k">if</span> <span class="vm">__name__</span> <span class="o">==</span> <span class="s1">'__main__'</span><span class="p">:</span>
<span class="n">parser</span> <span class="o">=</span> <span class="n">argparse</span><span class="o">.</span><span class="n">ArgumentParser</span><span class="p">(</span><span class="n">description</span><span class="o">=</span><span class="s1">'convert to xlsx'</span><span class="p">)</span>
<span class="n">parser</span><span class="o">.</span><span class="n">add_argument</span><span class="p">(</span><span class="s1">'input'</span><span class="p">,</span> <span class="n">help</span><span class="o">=</span><span class="s1">'csv file'</span><span class="p">)</span>
<span class="n">parser</span><span class="o">.</span><span class="n">add_argument</span><span class="p">(</span><span class="s1">'output'</span><span class="p">,</span> <span class="n">help</span><span class="o">=</span><span class="s1">'xlsx file'</span><span class="p">)</span>
<span class="n">args</span> <span class="o">=</span> <span class="n">parser</span><span class="o">.</span><span class="n">parse_args</span><span class="p">()</span>
<span class="n">process</span><span class="p">(</span><span class="n">args</span><span class="o">.</span><span class="n">input</span><span class="p">,</span> <span class="n">args</span><span class="o">.</span><span class="n">output</span><span class="p">)</span></code></pre>
<p>Et vous de votre côté ? Vous utilisez quoi pour échanger des données ? SQLite ?</p>
<p>Note: impossible de mettre un exemple de "ASCII Delimited Text", même linuxfr n'est pas compatible :-(</p>
<div><a href="https://linuxfr.org/users/desktop-ready-0/journaux/en-finir-avec-csv-ou-excel-pour-echanger-des-donnees.epub">Télécharger ce contenu au format EPUB</a></div> <p>
<strong>Commentaires :</strong>
<a href="//linuxfr.org/nodes/121828/comments.atom">voir le flux Atom</a>
<a href="https://linuxfr.org/users/desktop-ready-0/journaux/en-finir-avec-csv-ou-excel-pour-echanger-des-donnees#comments">ouvrir dans le navigateur</a>
</p>
desktop.readyhttps://linuxfr.org/nodes/121828/comments.atomtag:linuxfr.org,2005:Bookmark/18972020-08-18T17:53:29+02:002020-08-18T17:53:29+02:00Quand Excel fait plier la nomenclature du génome<a href="https://www.lemondeinformatique.fr/actualites/lire-quand-excel-fait-plier-la-nomenclature-du-genome-79965.html#bloc_commentaire">https://www.lemondeinformatique.fr/actualites/lire-quand-excel-fait-plier-la-nomenclature-du-genome-79965.html#bloc_commentaire</a> <p>
<strong>Commentaires :</strong>
<a href="//linuxfr.org/nodes/121354/comments.atom">voir le flux Atom</a>
<a href="https://linuxfr.org/users/hitmanu/liens/quand-excel-fait-plier-la-nomenclature-du-genome#comments">ouvrir dans le navigateur</a>
</p>
hitmanuhttps://linuxfr.org/nodes/121354/comments.atomtag:linuxfr.org,2005:Post/335432014-01-08T17:47:11+01:002014-01-08T17:47:11+01:00Développement d'une interface de saisie sur tablette<p>Bonjour.</p>
<p>Actuellement, lors d'un audit énergétique de bâtiment, on prend des notes sur un cahier (types de murs, dimensions des pièces, équipements de chaufferie, éclairages, etc) et ensuite on entre ça dans un logiciel de calcul, dans un rapport,…</p>
<p>On aimerait se doter d'un logiciel sur une tablette pour faciliter les saisies, une simple interface graphique avec des cases à remplir et des menus déroulants.</p>
<ul>
<li>intégration d'une base de données d'équipements / matériaux</li>
<li>la saisie logicielle évite d'oublier de saisir des éléments</li>
<li>moins de problèmes de relecture</li>
<li>idéalement sortie sous forme de tableur (Excel) puisque c'est ce que les collègues utilisent</li>
</ul><p>Un stagiaire a développé un truc en Excel / user forms à exécuter sur une tablette Microsoft. Ça donne une idée mais dans la pratique, je vais probablement repartir de zéro. Et quitte à repartir de zéro, je changerais bien de technologie / plateforme. Seulement Excel / userforms, malgré certaines limites, c'est pratique. C'est sale et rapide.</p>
<p>J'ai pensé qu'avec Qt je pourrais développer sur linux et avoir compatibilité Windows et Android. Mon idée aussi est que quitte à y passer du temps, j'aimerais bien utiliser un cadriciel pour lequel j'éprouve de l'intérêt.</p>
<p>Visiblement, un <a href="https://developer.android.com/tools/devices/emulator.html">émulateur</a> permet de tester l'appli Android depuis un PC. J'espérais qu'Android étant linux, le portage sur Android serait trivial, mais apparemment, c'est plutôt récent puisque ça ne devient accessible que depuis <a href="http://blog.qt.digia.com/blog/2013/12/12/qt-5-2-released-the-best-qt-yet/">Qt 5.2</a> (Debian experimental).</p>
<p>N'ayant aucune vision, je veux bien des conseils.</p>
<ul>
<li>Les tablettes, c'est nécessairement Android, Apple ou MS, n'est-ce pas ? </li>
</ul><p>Oui, je pars de loin. En lisant <a href="http://fr.wikipedia.org/wiki/Tablette_tactile">la page WP</a>, j'en vois d'autres, notamment Ubuntu Linux, mais ça a l'air en développement et la liste des appareils pris en charge est limitée : pas de tablette, seulement des téléphones.</p>
<ul>
<li>Si c'est Android, quelles possibilités pour créer des GUI ?</li>
</ul><p>Je cherche un environnement qui me permette de dessiner mes fenêtres façon userforms ou QtCreator.</p>
<ul>
<li>Peut-être existe-t-il des choses qui vont encore plus loin, et qui comprennent la structure des données pour fabriquer automatiquement des fenêtres de saisie en fonction des entités voulues ? </li>
</ul><p>Exemple: </p>
<p>Une classe chaudière avec deux paramètres : rendement (float) et brûleur (pointeur vers instance classe brûleur). Je peux dessiner une fenêtre, placer un champ qui demande un float, un autre avec une liste déroulante de mes instances de brûleurs, et créer ou mettre à jour une instance de chaudière quand on clique sur Valider. Mais est-ce qu'il ne pourrait pas exister des méthodes qui créent les fenêtres en introspectant les classes (en gros) ?</p>
<p>Merci pour vos retours.</p><div><a href="https://linuxfr.org/forums/programmationautre/posts/developpement-d-une-interface-de-saisie-sur-tablette.epub">Télécharger ce contenu au format EPUB</a></div> <p>
<strong>Commentaires :</strong>
<a href="//linuxfr.org/nodes/100888/comments.atom">voir le flux Atom</a>
<a href="https://linuxfr.org/forums/programmationautre/posts/developpement-d-une-interface-de-saisie-sur-tablette#comments">ouvrir dans le navigateur</a>
</p>
jihelehttps://linuxfr.org/nodes/100888/comments.atomtag:linuxfr.org,2005:Diary/312152011-06-04T23:13:44+02:002011-06-04T23:13:44+02:00Vérifier ou retrouver un mot de passe sur un fichier XLS/DOC avec pseudo-sécurité XORLicence CC By‑SA http://creativecommons.org/licenses/by-sa/3.0/deed.fr<p>J'ai eu récemment à retrouver un mot de passe sur un fichier DOC et un fichier XLS (deux formats propriétaires créés par Microsoft). Il s'agissait d'un mot de passe bloquant l'ouverture des fichiers, stocké dans une méthode basique, le XOR (l'algo est légèrement différent pour les deux formats).</p>
<p>Visiblement lorsque l'on cherche un peu des logiciels pour faire le boulot, on ne trouve pas de logiciel libre (genre <a href="http://www.openwall.com/john/">John the Ripper</a> ou autres), uniquement des logiciels propriétaires (et pour Windows).</p>
<p>Après avoir lu le support de présentation d'Éric Filiol de Pacsec 2009, jeté un coup d'oeil rapide aux (milliers de pages de) spécifications et retrouvé l'algo en question dans OpenOffice.org/LibreOffice (forcément faut bien qu'ils les ouvrent lui aussi), j'ai commis un petit programme pour vérifier un mot de passe (ou en tester plein si on est motivé).</p>
<p>Le tout est disponible sour licence LGPLv3 (histoire de garder la même licence que les 2 fichiers OpenOffice.org utilisés). Cf <a href="http://oumph.free.fr/textes/xor_me-0.1.tar.gz">http://oumph.free.fr/textes/xor_me-0.1.tar.gz</a></p>
<p>Voilà, ça n'a pas un intérêt fabuleux en soi, mais bon c'était amusant à faire. Et ça ne fait que ça : du XOR, sur du DOC ou du XLS.</p>
<p>Le résultat :</p>
<p>On récupère un couple clé/hash pour un fichier doc donné.</p>
<p><code>$ ./xor_doc some.doc</code><br /><code>Could be a XOR-ciphered doc file.</code><br /><code>nKey d10d</code><br /><code>nHash cc1f</code></p>
<p>On essaie un mot de passe au pif.</p>
<p><code>$ ./xor_me toto 0xd10d 0Xcc1f</code><br /><code>Algorithm XOR MS Word</code><br /><code>Key: d10d</code><br /><code>Hash: cc1f</code><br /><code>FAIL! toto</code></p>
<p>On essaie le bon mot de passe.</p>
<p><code>$ ./xor_me 0824 0xd10d 0Xcc1f</code><br /><code>Algorithm XOR MS Word</code><br /><code>Key: d10d</code><br /><code>Hash: cc1f</code><br /><code>Good guess: 0824</code></p>
<p>Même chose sur un XLS :</p>
<p><code>$ ./xor_xls some.xls</code><br /><code>Bored by reading the specs... Just pick up a XOR encryption pattern</code><br /><code>Record type FilePass with 2F 00.</code><br /><code>followed by 00 06 for size.</code><br /><code>followed by 00 00 for wEncryptionType XOR.</code><br /><code>followed by what you want: 2 bytes for key, 2 bytes for hash.</code><br /><code>WARNING: little endian, you should permute bytes</code><br /><code>00000210 06 03 00 00 86 00 00 00 2f 00 06 00 00 00 9a 49 |......../......I|</code><br /><code>00000220 61 cc e1 00 02 00 b0 04 c1 00 02 00 ca a4 e2 00 |a...............|</code></p>
<p>Un mot de passe au pif :</p>
<p><code>$ ./xor_me 4242 0x499a 0Xcc61 1</code><br /><code>Algorithm XOR MS Excel</code><br /><code>Key: 499a</code><br /><code>Hash: cc61</code><br /><code>FAIL! 4242</code></p>
<p>Le bon mot de passe :</p>
<p><code>$ ./xor_me 1950 0x499a 0Xcc61 1</code><br /><code>Algorithm XOR MS Excel</code><br /><code>Key: 499a</code><br /><code>Hash: cc61</code><br /><code>Good guess: 1950</code></p>
<p>Comme on dit, « XOR Ne crains rien, il nous protégera ».</p><div><a href="https://linuxfr.org/users/oumph/journaux/v%C3%A9rifier-ou-retrouver-un-mot-de-passe-sur-un-fichier-xlsdoc-avec-pseudo-s%C3%A9curit%C3%A9-xor.epub">Télécharger ce contenu au format EPUB</a></div> <p>
<strong>Commentaires :</strong>
<a href="//linuxfr.org/nodes/86331/comments.atom">voir le flux Atom</a>
<a href="https://linuxfr.org/users/oumph/journaux/v%C3%A9rifier-ou-retrouver-un-mot-de-passe-sur-un-fichier-xlsdoc-avec-pseudo-s%C3%A9curit%C3%A9-xor#comments">ouvrir dans le navigateur</a>
</p>
Benoît Sibaudhttps://linuxfr.org/nodes/86331/comments.atom