Vous n'êtes pas identifié(e).
- Contributions : Récentes | Sans réponse
Annonce
#1 06-10-2014 13:52:22
- kstt
- de bonne humeur
- Lieu : Savoie
- Inscription : 02-10-2012
Tableaux dans le forum
Salut les MUL,
Le forum permet maintenant la saisie directe de tableaux simples .
Voici quelques exemples d'utilisation. Il faut savoir que la barre verticale | se tape avec AltGr + 6 sur les claviers PC, et Alt + Maj + L sur les claviers Mac.
Saisie directe
Un tableau à deux colonnes, avec la première colonne alignée à gauche (l) et la deuxième colonne alignée à droite (r), ce qui donne le paramètre "lr".
[rltable=lr]
Matos
tente | 560
sac | 230
sardines | 56
[/rltable]
Matos | |
tente | 560 |
sac | 230 |
sardines | 56 |
Les espaces sont libres, vous pouvez en mettre autant que vous souhaitez pour clarifier la saisie de votre tableau.
Le tableau peut comporter autant de colonnes que nécessaire. Voici par exemple un tableau à trois colonnes, alignement gauche (l) droite (r) centre (c), d'où le paramètre "lrc".
[rltable=lrc]
Matos
tente | 560 | ok
sac | 230 | à acheter
sardines | 56 | ok
[/rltable]
Matos | ||
tente | 560 | ok |
sac | 230 | à acheter |
sardines | 56 | ok |
Par ailleurs, on peut séparer les sections en laissant une ligne vide dans le tableau.
[rltable=lr]
Matos
tente | 560
sac | 230
sardines | 56
Nourriture
soupe | 65
biscuits | 150
[/rltable]
Matos | |
tente | 560 |
sac | 230 |
sardines | 56 |
Nourriture | |
soupe | 65 |
biscuits | 150 |
Pour mettre en valeur une ligne entière de tableau, commencez-la par le caractère ^ (AltGr + 9 sur clavier PC).
[rltable=lr]
^ Matos | Poids
tente | 560
sac | 230
sardines | 56
^ Total | 846
[/rltable]
Matos | Poids |
tente | 560 |
sac | 230 |
sardines | 56 |
Total | 846 |
Utilisation de l'outil tableau de la barre
La barre d'outils propose une fenêtre d'aide à l'inclusion de tableau. Cliquez sur le bouton tableau , puis indiquez le paramètre d'alignement et le contenu du tableau comme indiqué ci-dessus.
Import de données depuis un tableur
Vous pouvez importer rapidement vos données depuis votre tableur ainsi :
* sélectionnez un rectangle de données dans le tableur
* copiez
* ouvrez l'outil tableau de la barre d'outil
* collez dans la zone de contenu
* cliquez sur le bouton Conversion TAB → | : votre tableau est converti au format RL.
* renseignez le paramètre d'alignement
* Validez
Et voila, c'est tout ce qu'il faut savoir. On avait dit que c'était simple !
À vous de jouer
Dernière modification par kstt (15-10-2014 14:06:03)
« Il semble que la perfection soit atteinte non quand il n'y a plus rien à ajouter, mais quand il n'y a plus rien à retrancher. » - Antoine de Saint-Exupéry, Terre des hommes
Hors ligne
#2 06-10-2014 13:55:57
- miniping
- Où ça un sommet?
- Lieu : Rhône Alpes
- Inscription : 18-07-2012
Re : Tableaux dans le forum
ça avec les exports en csv depuis excel, ça va envoyer!
Hors ligne
#3 06-10-2014 16:39:42
- Phil67
- Nouveau membre
- Lieu : Tres Tabernae
- Inscription : 04-10-2011
Re : Tableaux dans le forum
Excellent !
Astuce au passage pour récupérer un tableau exploitable chez soi :
- sélectionner le texte du tableau RL
- copier
- lancer son tableur favori (p.ex. LibreOffice ou Excel)
- menu Édition > Collage spécial > coller comme texte non formaté
(Un copié / collé direct est inexploitable car il provoque un décalage d'une cellule supplémentaire à chaque ligne.)
Le contenu de ce message ne reflète pas nécessairement le point de vue de son auteur.
Hors ligne
#4 06-10-2014 19:51:36
- zeb'
- Membre
- Lieu : Elsass
- Inscription : 22-08-2014
Re : Tableaux dans le forum
je suis aussi preneur pour savoir comment faire l'inverse!
Hors ligne
#5 06-10-2014 20:16:03
- faydc
- ... aussi
- Lieu : Bordeaux (33)
- Inscription : 27-07-2006
- Site Web
Re : Tableaux dans le forum
Joli boulot!
Hors ligne
#6 06-10-2014 20:37:42
- ventcalme
- Membre
- Lieu : Bzh
- Inscription : 29-10-2011
Re : Tableaux dans le forum
Hors ligne
#7 06-10-2014 20:41:09
- Phil67
- Nouveau membre
- Lieu : Tres Tabernae
- Inscription : 04-10-2011
Re : Tableaux dans le forum
je suis aussi preneur pour savoir comment faire l'inverse!
Pas compliqué.
1ère possibilité :
- depuis le tableur : Enregistrer sous...
- choisir le format Texte CSV avec un séparateur de champ (point-virgule par défaut) différent du séparateur décimal
- ouvrir le fichier CSV avec un éditeur de texte
- rechercher et remplacer toutes les occurrences du séparateur de champ (point-virgule par défaut) par une barre verticale
- sélectionner les lignes / copier / coller sur RL en rajoutant manuellement les 2 balises
2ème possibilité qui fonctionne partout sans export intermédiaire (même une feuille de calcul Google) :
- créer une nouvelle colonne en dernière position
- y affecter une formule contenant la concaténation des colonnes précédentes séparées à chaque fois par une barre (*)
- sélectionner la colonne / copier / coller sur RL en rajoutant manuellement les 2 balises
(*)
P.ex. avec 3 colonnes existantes (A,B,C) : rajouter une colonne D
En D1 entrer la formule : = A1 & "|" & B1 & "|" & C1
Sélectionner D1 et copier la cellule sur toute la colonne ou l'étendre à la souris via le coin inférieur droit de la cellule.
Dernière modification par Phil67 (06-10-2014 20:41:29)
Le contenu de ce message ne reflète pas nécessairement le point de vue de son auteur.
Hors ligne
#8 06-10-2014 20:50:28
- zeb'
- Membre
- Lieu : Elsass
- Inscription : 22-08-2014
Re : Tableaux dans le forum
merci!
Hors ligne
#9 06-10-2014 20:52:05
- Vegas
- Breathe
- Lieu : Absurde.be
- Inscription : 14-04-2009
- Site Web
Re : Tableaux dans le forum
Z
Hors ligne
#10 06-10-2014 21:04:50
- SpySNL
- modo
- Lieu : Plus près des Vosges
- Inscription : 07-06-2006
Re : Tableaux dans le forum
Super boulot, bravo !
Hors ligne
#11 08-10-2014 16:40:47
- Kam
- Membre
- Inscription : 19-01-2011
Re : Tableaux dans le forum
C'est génial.
A l'occasion, faudrait que je vois s'il y a un module perl qui gère les formats MS/ooolibreoffice/gnumeric/etc, histoire de pouvoir convertir un fichier tableur et le formater avec la syntaxe du forum via un petit script/app.
Juste deux remarques insignifiantes:
Il faut savoir que la barre verticale | se tape avec AltGr + 6 sur les claviers PC, et Alt + Maj + L sur les claviers Mac.
->
Il faut savoir que la barre verticale | se tape avec AltGr + 6 sous Windows ou Linux, et Alt + Maj + L sur les claviers Mac.
(Histoire de clarifier.)
Et aussi, si jamais vous avez du temps à perdre, ça pourrait être sympa de pouvoir trier les colonnes des tableaux aussi.
Dernière modification par Kam (08-10-2014 16:42:03)
Hors ligne
#12 08-10-2014 18:23:42
- Opitux
- Jeune padawan
- Lieu : 06
- Inscription : 13-01-2013
Re : Tableaux dans le forum
Pour info, il existe 2 plugins vraiment top sur dokuwiki que j'utilise sur toutes mes installations :
sortablejs qui permet de trier un tableau par colonne
searchtablejs qui ajoute un champ de recherche à un tableau et permet de filtrer les lignes en fonction de la recherche (vraiment pratique)
Un 3e pas mal également :
Table Width qui permet d'imposer des largeur de colonne. Les 3 peuvent être utilisés conjointement et sont vraiment intéressant...
Peut-être peuvent-il être adapté à fluxBB ??
Ce serait bien de les installer dans le wiki également, mais la version installée est pê trop ancienne...
HS
Il serait pratique d'installer aussi un plugin qui permet de renseigner des tags dans les pages du Wiki et permets ainsi une navigation transversale (faudra que je retrouve le lien)
Et tant que j'y suis, il existe aussi un outils de gestion de ticket : Issuetracker. Si cela peut être utile...
/HS
Plus je marche moins fort, moins j'avance plus vite...
Si vous me contactez pour l'association, mieux vaut passer directement par là
Hors ligne
#13 15-10-2014 10:09:27
- kstt
- de bonne humeur
- Lieu : Savoie
- Inscription : 02-10-2012
Re : Tableaux dans le forum
Salut,
quelques nouveautés documentées dans le premier post :
* outil tableau dans la barre d'outils
* import de données depuis un tableur
* mise en valeur d'une ligne de tableau
Le tri du tableau est probablement envisageable, merci pour la suggestion
EDIT : et merci à tous pour les encouragements
Dernière modification par kstt (15-10-2014 10:15:55)
« Il semble que la perfection soit atteinte non quand il n'y a plus rien à ajouter, mais quand il n'y a plus rien à retrancher. » - Antoine de Saint-Exupéry, Terre des hommes
Hors ligne
#14 17-10-2014 16:21:14
- kstt
- de bonne humeur
- Lieu : Savoie
- Inscription : 02-10-2012
Re : Tableaux dans le forum
Pour illustrer l'utilisation
Exemple de tableau : https://www.randonner-leger.org/forum/v … 70#p371870
[rltable=rl]
^ 1240 | 1. PORTAGE / ABRI
400 | Sac à dos BERGHAUS HYPER 22
800 | * Tarp D4, sardines
40 | 1/2 couverture de survie
^ 900 | 2. COUCHAGE
405 | Matelas NEMO ZOR 20R Regular
495 | Quilt CUMULUS 250
^ 933 | 3. THERMIQUES
40 | bonnet HAGLOFS micropolaire
40 | buff RAIDLIGHT
150 | couche 1 ODLO ML
188 | * couche 2 D4 Forclaz 20
280 | couche 3 VERTICAL imper-respi
200 | collant ODLO WARM
35 | chaussette WOOLPOWER 200
^ 155 | 4. CUISINE
12 | réchaud ESBIT titane
68 | popote MSR Titan kettle 400 mL
9 | cuillère LIGHT MY FIRE Spork recoupée
11 | briquet BIC mini
52 | * bouteilles plastique 1L x2
3 | pasilles AQUATABS
^ 70 | 5. HYGIENE
20 | papier toilette
10 | morceau savon d'Alep
10 | brosse à dent recoupée
30 | lingettes
^ 3298 | TOTAL GENERAL
[/rltable]
* en cours de changement
1240 | 1. PORTAGE / ABRI |
400 | Sac à dos BERGHAUS HYPER 22 |
800 | * Tarp D4, sardines |
40 | 1/2 couverture de survie |
900 | 2. COUCHAGE |
405 | Matelas NEMO ZOR 20R Regular |
495 | Quilt CUMULUS 250 |
933 | 3. THERMIQUES |
40 | bonnet HAGLOFS micropolaire |
40 | buff RAIDLIGHT |
150 | couche 1 ODLO ML |
188 | * couche 2 D4 Forclaz 20 |
280 | couche 3 VERTICAL imper-respi |
200 | collant ODLO WARM |
35 | chaussette WOOLPOWER 200 |
155 | 4. CUISINE |
12 | réchaud ESBIT titane |
68 | popote MSR Titan kettle 400 mL |
9 | cuillère LIGHT MY FIRE Spork recoupée |
11 | briquet BIC mini |
52 | * bouteilles plastique 1L x2 |
3 | pasilles AQUATABS |
70 | 5. HYGIENE |
20 | papier toilette |
10 | morceau savon d'Alep |
10 | brosse à dent recoupée |
30 | lingettes |
3298 | TOTAL GENERAL |
* en cours de changement
Dernière modification par kstt (17-10-2014 16:23:59)
« Il semble que la perfection soit atteinte non quand il n'y a plus rien à ajouter, mais quand il n'y a plus rien à retrancher. » - Antoine de Saint-Exupéry, Terre des hommes
Hors ligne
#15 17-10-2014 16:28:36
- kstt
- de bonne humeur
- Lieu : Savoie
- Inscription : 02-10-2012
Re : Tableaux dans le forum
Encore un exemple, inspiré du voyage de JJondalar en Islande : https://www.randonner-leger.org/forum/v … 42#p371842
[rltable=lr]
Sac à dos
Terra Nova Voyager 45 | ?
Mousse dorsale remplacée par une plus épaisse que celle d'origine | ?
^ Sous-total | 630 g
Couchage
Tente Big Agnes Fly Creek 2 Platinum (sardines d'origine remplacées par des titane) | 950 g
Tapis de sol Polycree | 70 g
Sac de couchage Triple Zero Ansabère 400. | 780 g
Matelas NeoAir M + housse + nécessaire réparation (10 g) | 390 g
^ Sous-total | 2200 g
Cuisine
Brûleur MSR superfly allumage Piezo + housse | 155 g
Pare-vent feuille d'alu (fait maison) | 28 g
Bouteille gaz Coleman 500 (achetée sur place) | 600 g
Popote Evernew 400 (dont couvercle alu 8 g) | 58 g
Opinel n° 6 allégé | 26 g
Cuillère en titane Vargo | 9 g
Morceau d'éponge avec côté grattant | 4 g
^ Sous-total | 880 g
...
[/rltable]
Sac à dos | |
Terra Nova Voyager 45 | ? |
Mousse dorsale remplacée par une plus épaisse que celle d'origine | ? |
Sous-total | 630 g |
Couchage | |
Tente Big Agnes Fly Creek 2 Platinum (sardines d'origine remplacées par des titane) | 950 g |
Tapis de sol Polycree | 70 g |
Sac de couchage Triple Zero Ansabère 400. | 780 g |
Matelas NeoAir M + housse + nécessaire réparation (10 g) | 390 g |
Sous-total | 2200 g |
Cuisine | |
Brûleur MSR superfly allumage Piezo + housse | 155 g |
Pare-vent feuille d'alu (fait maison) | 28 g |
Bouteille gaz Coleman 500 (achetée sur place) | 600 g |
Popote Evernew 400 (dont couvercle alu 8 g) | 58 g |
Opinel n° 6 allégé | 26 g |
Cuillère en titane Vargo | 9 g |
Morceau d'éponge avec côté grattant | 4 g |
Sous-total | 880 g |
... |
« Il semble que la perfection soit atteinte non quand il n'y a plus rien à ajouter, mais quand il n'y a plus rien à retrancher. » - Antoine de Saint-Exupéry, Terre des hommes
Hors ligne
#16 17-10-2014 17:33:54
- philip
- achemeneu !
- Lieu : Nice
- Inscription : 25-05-2010
- Site Web
Re : Tableaux dans le forum
Super et merci kstt pour ces illustrations
C'est tout de suite plus parlant pour moi !
"On n'accumule pas, on élimine. Le sommet de l'éducation ramène toujours à la simplicité" B.WILLIS
"Ce que nous persistons à faire devient plus facile, non que la nature de la tâche ait changé, mais parce que notre capacité à l'accomplir s'est accrue." R.EMERSON
Hors ligne
#17 24-10-2014 13:42:24
- kstt
- de bonne humeur
- Lieu : Savoie
- Inscription : 02-10-2012
Re : Tableaux dans le forum
Tableau d'origine : https://www.randonner-leger.org/forum/v … 81#p372581
PORTAGE: 807 g | |
725 | Sac à dos Cilao IZI33 |
52 | Étui à lunettes |
30 | Sac poubelle 30L |
BIVOUAC: 1,86 kg | |
960 | Sac de couchage Triple Zéro Petit Astazou 600 FL |
230 | Matelas Thermarest Ridge Rest Solite 100cm |
69 | Tapis de sol polycree |
1 | Boules quiès |
465 | Tarp DIY 2,5x3 |
130 | Piquets Quechua alu |
VÊTEMENTS: 1,48 kg | |
60 | Chaussettes Quechua |
165 | Polaire Quechua Forclaz 20 |
645 | Doudoune Highrock |
152 | Caleçon long Wedze simple warm pant |
35 | Gants polaires Adidas |
50 | Bonnet polaire DIY |
36 | Buff |
332 | Veste Goretex Arcteryx Beta SL |
CUISINE ET HYDRATATION: 294 g | |
36 | Poche à eau Platypus bottle 2L |
30 | Bouteille de lait Marguerite |
48 | Réchaud à gaz Fire Maple FMS-116T |
170 | Popote Campingaz 2x50cL |
10 | Cuiller Spork |
OUTILS: 145 g | |
47 | Opinel No 8 |
76 | Frontale Petzl Tikka XP2 + piles |
12 | Briquet Mini Bic |
10 | Sifflet |
ELECTRONIQUE: 690 g | |
170 | Téléphone |
520 | Appareil photo Olympus OM-D E-M10 |
MATÉRIEL: 2,69 kg | |
614 | Piolet long Charlet Moser |
938 | Crampons Black Diamond Serac clip (loués, donc poids fabriquant) |
328 | Casque Petzl Elios |
440 | Baudrier Petzl Adjama |
57 | Mousqueton vis Petzl Attache |
180 | Gants Simond Alpinism |
135 | Guêtres Dynastar |
HYGIÈNE: 57 g | |
40 | PQ |
14 | Dentifrice |
3 | Brosse à dents |
CONSOMMABLES: 203 g | |
203 | Cartouche gaz 100g Primus |
AUTRES: 113 g | |
42 | Lunettes de glacier Cebe |
40 | Papiers + argent France |
31 | Clé voiture |
[rltable=rl]
PORTAGE: 807 g
725 | Sac à dos Cilao IZI33
52 | Étui à lunettes
30 | Sac poubelle 30L
BIVOUAC: 1,86 kg
960 | Sac de couchage Triple Zéro Petit Astazou 600 FL
230 | Matelas Thermarest Ridge Rest Solite 100cm
69 | Tapis de sol polycree
1 | Boules quiès
465 | Tarp DIY 2,5x3
130 | Piquets Quechua alu
VÊTEMENTS: 1,48 kg
60 | Chaussettes Quechua
165 | Polaire Quechua Forclaz 20
645 | Doudoune Highrock
152 | Caleçon long Wedze simple warm pant
35 | Gants polaires Adidas
50 | Bonnet polaire DIY
36 | Buff
332 | Veste Goretex Arcteryx Beta SL
CUISINE ET HYDRATATION: 294 g
36 | Poche à eau Platypus bottle 2L
30 | Bouteille de lait Marguerite
48 | Réchaud à gaz Fire Maple FMS-116T
170 | Popote Campingaz 2x50cL
10 | Cuiller Spork
OUTILS: 145 g
47 | Opinel No 8
76 | Frontale Petzl Tikka XP2 + piles
12 | Briquet Mini Bic
10 | Sifflet
ELECTRONIQUE: 690 g
170 | Téléphone
520 | Appareil photo Olympus OM-D E-M10
MATÉRIEL: 2,69 kg
614 | Piolet long Charlet Moser
938 | Crampons Black Diamond Serac clip (loués, donc poids fabriquant)
328 | Casque Petzl Elios
440 | Baudrier Petzl Adjama
57 | Mousqueton vis Petzl Attache
180 | Gants Simond Alpinism
135 | Guêtres Dynastar
HYGIÈNE: 57 g
40 | PQ
14 | Dentifrice
3 | Brosse à dents
CONSOMMABLES: 203 g
203 | Cartouche gaz 100g Primus
AUTRES: 113 g
42 | Lunettes de glacier Cebe
40 | Papiers + argent France
31 | Clé voiture
[/rltable]
Dernière modification par kstt (24-10-2014 13:43:13)
« Il semble que la perfection soit atteinte non quand il n'y a plus rien à ajouter, mais quand il n'y a plus rien à retrancher. » - Antoine de Saint-Exupéry, Terre des hommes
Hors ligne
#18 24-10-2014 15:05:04
- SpySNL
- modo
- Lieu : Plus près des Vosges
- Inscription : 07-06-2006
Re : Tableaux dans le forum
C'est classe
Hors ligne
#19 24-10-2014 16:59:09
- Kam
- Membre
- Inscription : 19-01-2011
Re : Tableaux dans le forum
Alors... Pour ceux qui sont sous Linux, je viens de faire un petit script en bash pour générer automatiquement des tableaux pour RL à partir d'une feuille de calcul.
Pour l'utiliser, c'est tout simple. Créez un fichier quelque part, et copiez-y le code ci-dessous:
#!/bin/bash
# Version 1.5
################################################################################################
######################################## Configuration #########################################
################################################################################################
# Alignement des colonnes de nombres (valeurs: c,r,l pour: center, right, left)
numalign="r"
# Alignement des colonnes de chaînes de caractères (valeurs: c,r,l pour: center, right, left)
stringalign="l"
# Icône dans le menu système et le menu contextuel
icon="gnumeric"
# Désactiver l'alignement automatique?
# Utile pour les vieilles machines afin de ne pas les faire surchauffer.
# Laissez tel quel si vous n'avez pas de problèmes de performances, sinon, passez la valeur à 1.
disalign=0
################################################################################################
################################################################################################
################################################################################################
output="$HOME/.spreadsheetconvert"
output2="$HOME/.spreadsheetconvert2"
path=$(dirname "$0")
if [[ "$1" == "--install" ]]; then
installdest="$HOME/.spreadsheet2table.sh"
echo "Installation du script..."
echo "Récupération de la liste des paquets installés..."
pssconvert=$( dpkg -l | grep "gnumeric" )
if [[ "$pssconvert" != "" ]]; then
echo -e "ssconvert \033[32m[OK]\033[0m"
else
echo -e "ssconvert \033[31m[Fail]\033[0m"
fail="${fail}gnumeric "
fi
pxclip=$( dpkg -l | grep "xclip" )
if [[ "$pxclip" != "" ]]; then
echo -e "xclip \033[32m[OK]\033[0m"
else
echo -e "xclip \033[31m[Fail]\033[0m"
fail="${fail}xclip "
fi
pzenity=$( dpkg -l | grep "zenity" )
if [[ "$pzenity" != "" ]]; then
echo -e "zenity \033[32m[OK]\033[0m"
else
echo -e "zenity \033[31m[Fail]\033[0m"
fail="${fail}zenity "
fi
pnotify=$( dpkg -l | grep "libnotify" )
if [[ "$pnotify" != "" ]]; then
echo -e "libnotify \033[32m[OK]\033[0m"
else
echo -e "libnotify \033[31m[Fail]\033[0m"
echo -e "\033[31m[Erreur]\033[0m Aucun gestionnaire de notification installé. Veuillez en installer un, tel que notify-osd."
fail="${fail}notify-osd "
fi
if [[ "$fail" != "" ]]; then
echo -e "\033[31m[Erreur]\033[0m Veuillez installer les paquets suivants avant de continuer: ${fail}"
exit
fi
pnemo=$( dpkg -l | grep "nemo" )
pdolphin=$( dpkg -l | grep "dolphin" )
pnautilus=$( dpkg -l | grep "nautilus" )
if [[ "$pnautilus" != "" ]]; then
pnautilusactions=$( dpkg -l | grep "nautilus-actions" )
if [[ "$pnautilusactions" == "" ]]; then
echo -e "\033[31m[Erreur]\033[0m Nautilus a été détecté, mais nautilus-actions n'est pas installé. Veuillez installer ce paquet avant de continuer afin de pouvoir intégrer le script au menu contextuel."
exit
fi
fi
pthunar=$( dpkg -l | grep "thunar" )
echo "Copie du script dans $HOME..."
cp "${path}/spreadsheet2table.sh" "$installdest"
chmod +x "$installdest"
echo "Création d'une entrée dans le menu..."
menuentry="$HOME/.local/share/applications/spreadsheet2table.desktop"
touch "$menuentry"
echo "[Desktop Entry]" > "$menuentry"
echo "Version=1.0" >> "$menuentry"
echo "Type=Application" >> "$menuentry"
echo "Name=Conversion de feuille de calcul" >> "$menuentry"
echo "Comment=Convertir une feuille de calcul pour Randonner Léger" >> "$menuentry"
echo "Icon=gnumeric" >> "$menuentry"
echo "Exec=$installdest --select" >> "$menuentry"
echo "NoDisplay=false" >> "$menuentry"
echo "Categories=Utility;" >> "$menuentry"
echo "StartupNotify=true" >> "$menuentry"
echo "Terminal=false" >> "$menuentry"
if [[ "$pnemo" != "" ]]; then
echo "Intégration du script dans nemo..."
nemodir="$HOME/.local/share/nemo/actions"
if [ ! -d "$nemodir" ]; then
mkdir "$nemodir"
fi
touch "${nemodir}/spreadsheet2table.nemo_action"
echo "[Nemo Action]" > "${nemodir}/spreadsheet2table.nemo_action"
echo "Active=true" >> "${nemodir}/spreadsheet2table.nemo_action"
echo "Name=Convertir pour Randonner-Léger" >> "${nemodir}/spreadsheet2table.nemo_action"
echo "Comment=Convertir pour Randonner-Léger" >> "${nemodir}/spreadsheet2table.nemo_action"
echo "Exec=$installdest %U" >> "${nemodir}/spreadsheet2table.nemo_action"
echo "Icon-Name=gnumeric" >> "${nemodir}/spreadsheet2table.nemo_action"
echo "Selection=s" >> "${nemodir}/spreadsheet2table.nemo_action"
echo "Extensions=gnumeric;gsheet;xlsb;xlsm;xls;ods;numbers;xl;xlsx;gnm;" >> "${nemodir}/spreadsheet2table.nemo_action"
echo "EscapeSpaces=true" >> "${nemodir}/spreadsheet2table.nemo_action"
fi
if [[ "$pthunar" != "" ]]; then
echo "Intégration du script dans thunar..."
thunarfile="$HOME/.config/Thunar/uca.xml"
if [ ! -f "$thunarfile" ]; then
touch "$thunarfile"
echo "<?xml encoding=\"UTF-8\" version=\"1.0\"?>" > "$thunarfile"
echo "<actions>" >> "$thunarfile"
echo "</actions>" >> "$thunarfile"
fi
chk=$( grep "Convertir pour Randonner Léger" "$thunarfile" )
if [[ "$chk" == "" ]]; then
sed -i 's/\<\/actions\>.*//g' "$thunarfile"
echo "<action>" >> "$thunarfile"
echo " <icon>gnumeric</icon>" >> "$thunarfile"
echo " <name>Convertir pour Randonner Léger</name>" >> "$thunarfile"
echo " <unique-id>$RANDOM$RANDOM$RANDOM-1</unique-id>" >> "$thunarfile"
echo " <command>$installdest %f</command>" >> "$thunarfile"
echo " <description>Convertir pour Randonner Léger</description>" >> "$thunarfile"
echo " <patterns>*.gnumeric;*.gsheet;*.xlsb;*.xlsm;*.xls;*.ods;*.numbers;*.xl;*.xlsx;*.gnm</patterns>" >> "$thunarfile"
echo " <other-files/>" >> "$thunarfile"
echo " <text-files/>" >> "$thunarfile"
echo "</action>" >> "$thunarfile"
echo "</actions>" >> "$thunarfile"
fi
fi
if [[ "$pnautilus" != "" ]]; then
echo "Intégration du script dans nautilus..."
# Barbare, mais bon...
if [ ! -f "$HOME/.spreadsheet2table-nautilus" ]; then
touch "$HOME/.spreadsheet2table-nautilus"
nautilus-actions-new --desktop -l "Convertir pour Randonner Léger" -t "Convertir pour Randonner Léger" -i "gnumeric" -x "$installdest" -p "%f" -b "*.gnumeric" -b "*.gsheet" -b "*.xlsb" -b "*.xlsm" -b "*.xls" -b "*.ods" -b "*.numbers" -b "*.xl" -b "*.xlsx" -b "*.gnm"
fi
fi
if [[ "$pdolphin" != "" ]]; then
echo "Intégration du script dans dolphin..."
kdedir="$HOME/.kde/share/kde4/services/ServiceMenus"
if [ ! -d "$kdedir" ]; then
mkdir "$kdedir"
fi
kdefile="$kdedir/spreadsheetconvert.desktop"
touch "$kdefile"
echo "[Desktop Entry]" > "$kdefile"
echo "Type=Service" >> "$kdefile"
echo "ServiceTypes=KonqPopupMenu/Plugin" >> "$kdefile"
echo "MimeType=application/x-gnumeric;application/*kspread*;application/*excel*;application/*spreadsheet*;" >> "$kdefile"
echo "Actions=spreadsheetconvert;" >> "$kdefile"
echo "[Desktop Action spreadsheetconvert]" >> "$kdefile"
echo "Name=Convertir pour Randonner-Léger" >> "$kdefile"
echo "Icon=gnumeric" >> "$kdefile"
echo "Exec=$installdest \"%F\"" >> "$kdefile"
fi
echo "Terminé!"
exit
elif [[ "$1" == "--uninstall" ]]; then
rm "${output}"
rm "${output2}"
rm "$HOME/.local/share/applications/spreadsheet2table.desktop"
rm "$HOME/.local/share/nemo/actions/spreadsheet2table.nemo_action"
rm "$HOME/.config/Thunar/uca.xml"
rm "$HOME/.spreadsheet2table-nautilus"
rm "$HOME/.kde/share/kde4/services/ServiceMenus/spreadsheetconvert.desktop"
rm "$HOME/.spreadsheet2table.sh"
echo "Script désinstallé."
exit
elif [ "$1" == "--select" ]; then
input=$( zenity --file-selection --title="Veuillez selectionner un fichier" --text="Veuillez selectionner une feuille de calcul" )
else
input="$1"
fi
function f_escape_line {
line="${line//\*/\\*}"
line="${line//\&/\\&}"
line="${line//\[/\\[}"
line="${line//\]/\\]}"
line="${line//\$/\\$}"
line="${line//\@/\\@}"
line="${line//\//\\/}"
}
ssconvert -O 'separator=Ꝇ' -T Gnumeric_stf:stf_assistant "$input" "${output}"
sed -i 's/|/\//g' "${output}"
sed -i 's/Ꝇ/|/g' "${output}"
sed -i 's/\"//g' "${output}"
# On commence par compter le nombre de pipes dans chaque ligne
maxtab=0
while read line
do
i=$( grep -o "|" <<< "$line" | wc -l )
if [ $i -gt $maxtab ]; then
maxtab=$i
fi
done < "${output}"
if [ $maxtab -eq 0 ]; then
notify-send --icon="$icon" "Feuille de calcul" "Erreur: cette feuille de calcul semble vide."
exit
fi
maxtab2=$maxtab
let maxtab2++
echo "Nombre de colonnes: $maxtab2"
# On ajoute les pipes manquantes à chaque ligne
i=1
while read line
do
f_escape_line
i=$( grep -o "|" <<< "$line" | wc -l )
while [ $i -lt $maxtab ]; do
line2="${line}|"
sed -i "s/${line}.*/${line2}/" "${output}"
i=$( grep -o "|" <<< "$line2" | wc -l )
line="${line2}"
done
# On en profite pour lire chaque cellule dans la ligne et enregistrer s'il s'agit une chaîne ou d'un nombre,
# données que l'on utilisera ensuite pour l'alignement
if [ $disalign != 1 ]; then
for (( j=1; j<=${maxtab2}; j++ ))
do
alignar[$j]=0
done
for (( j=1; j<=${maxtab2}; j++ ))
do
tst=$( echo "$line" | cut -d '|' -f $j )
chk=$( echo "$tst" | grep -E '[a-zA-Z]+' )
if [[ "$chk" != "" ]]; then
let alignar[$j]++
else
chk=$( echo "$tst" | grep -E '^[[:digit:]]+$' )
if [[ "$chk" != "" ]]; then
let alignar[$j]--
fi
fi
done
fi
let i++
done < "${output}"
# On met les lignes en valeur en fonction de ce qui est en gras dans le fichier d'origine
ssconvert -T Gnumeric_html:xhtml "$input" "${output2}"
sed -i ':a;N;$!ba;s/td>\n//g' "${output2}"
sed -i ':a;N;$!ba;s/tr>\n<td//g' "${output2}"
debut=$( grep -n -e "<caption>" --max-count=1 "${output2}" | cut -d ':' -f 1 )
fin=$( grep -n -e "</table>" --max-count=1 "${output2}" | cut -d ':' -f 1 )
while read -r result ; do
result=$( echo "$result" | cut -d ':' -f 1 )
(( result = result - debut ))
echo "Mise en valeur de la ligne $result"
line=$( sed -n "$result p" "${output}" )
f_escape_line
sed -i "s/^${line}.*/\^ ${line}/" "${output}"
done < <( grep -n -e "<b>" "${output2}" )
sed -i "s/^\^/\n\^/" "${output}"
# TO DO
# On fait pareil pour les URL
#while read -r result ; do
# result=$( echo "$result" | cut -d ':' -f 1 )
# (( result = result - debut ))
# echo "Ajout d'un lien sur la ligne $result"
# line=$( sed -n "$result p" "${output}" )
# line2=${line/${link}/[url=${url}]${link}[/url]}
# f_escape_line
# sed -i "s/^${line}.*/${line2}/" "${output}"
#done < <( grep -n -e "a href" "${output2}" )
# On gère l'alignement
for (( j=1; j<=${maxtab2}; j++ ))
do
if [ ${alignar[$j]} -lt 0 ]; then
align="${align}${numalign}"
else
align="${align}${stringalign}"
fi
done
# On met les balises
sed -i "1i[rltable=${align}]" "${output}"
echo "[/rltable]" >> "${output}"
cat "${output}" | xclip -sel clip
rm "${output}"
rm "${output2}"
notify-send --icon="$icon" "Feuille de calcul" "Tableau converti et copié dans le presse-papier!"
Rendez ensuite le fichier exécutable (Propriétés > Permissions).
Lancez maintenant le script dans une console avec le paramètre --install:
/chemin/du/script --install
S'il y a des paquets manquants, le script vous l'indiquera. Si ça arrive, installez-les et relancez l'installation. Celle-ci créera automatiquement une entrée dans le menu d'applications (dans "Accessoires"), ainsi que dans les menus contextuels de nemo (mint), nautilus (ubuntu/gnome), dolphin (kubuntu/kde), et thunar (xubuntu/XFCE).
NB: Il faut avoir installé gnumeric pour que ce script marche (ça tombe bien, c'est le meilleur tableur disponible ).
Vous pourrez alors soit sélectionner manuellement une feuille de calcul, soit faire un clic droit sur un fichier, et le script va automatiquement convertir la feuille en utilisant la syntaxe de RL, et envoyer le tout dans le presse-papier. Vous n'aurez alors qu'à coller le tout sur RL.
Le résultat obtenu ressemble à ça:
Type | Référence | Poids (sac) | Poids (sur soi) |
Portage | 447 | 0 | |
Sac à Dos | MLD Prophet | 389 | |
Poche | Zpacks Cuben Fiber Belt Pouch (2013) | 20 | |
Sac Étanche | Zpacks Large Blast Food Bag Rectangular (bouffe) | 27 | |
Sac Étanche | Zpacks Medium Stuff Sack (fringues) | 7 | |
Sacs Divers | Zpacks Mini Stuff Sack (petit matos) + sac pour la petite électronique | 4 | |
Couchage | 1115 | 0 | |
Sursac | MLD Soul Bivy | 334 | |
Sac de Couchage | MLD Spirit Quilt 28 | 597 | |
Tapis de Sol | Ridgerest Solite | 121 | |
Guylines | Spectra + un mini-nousqueton de 2g | 9 | |
Sardines | Vargo Nail Stake x 6 (cordelettes remplacées) + Stuff Sack | 54 | |
Vêtements | 553 | 1614 | |
Poncho | MLD Cuben Poncho | 160 | |
Doudoune | Triple Zero Antza M | 165 | |
Manches | Bout de collant technique | 50 | |
Mitaines | Gants D4 redécoupés | 20 | |
Bonnet | D4 Forclaz 20 | 15 | |
Coupe-Vent | Patagonia Houdini M | 103 | |
Pantalon | Thunderbolt Jeans (32x30) | 429 | |
Chaussettes | X-Socks Run Speed Two 43-44 | 40 | 40 |
Caleçon / Short | Craft Performance Hybrid Short M | 130 | |
T-Shirt | Icebreaker Tech T Lite 150 M | 156 | |
Baskets | D4, taille 44 | 786 | |
Chèche | 73 | ||
Cuisine & Hydratation | 160 | 0 | |
Couteau | Opinel n°8 Effilé | 29 | |
Bouteille | Plastique 1L | 26 | |
Poche à Eau | Platypus 2L | 35 | |
Traitement de l'Eau | Sawyer Squeeze Filter | 70 | |
Pharmacie & Hygiène | 21 | 0 | |
Savon | |||
Brosse à Dents | Manche raccourci + sac servant aussi pour le savon (2g) | 6 | |
Rasoir | Manche coupé | 1 | |
Divers | Pince à épiler, cure-dent, ciseaux, pansements | 14 | |
Divers | 240 | 71 | |
Bricolage | Tenacious Tape, cuben tape, fil, aiguilles, bout de ficelle, épingles à nourrice | 24 | |
Frontale | Petzl e+Lite + piles de rechange | 31 | |
Boussole | Premier prix, plaquette virée | 13 | |
Parapluie | Euroshism Dainty Alu | 161 | |
Briquet | Mini Bic (sans la protection enfant) | 10 | |
Papiers | Passeport, carte de crédit, carnet de vaccination international | 66 | |
Carte | Grande échelle sur feuille A4 en backup | 5 | |
Stylo | Stylo de Swiss Card | 1 | |
Électronique | 353 | 0 | |
Dictaphone | Sandisk Sansa Clip Zip (sans le clip ni les écouteurs) | 21 | |
Liseuse | Sony PRS-T2 + dry bag sur-mesure | 173 | |
APN | Sony WX80 | 124 | |
Chargeur USB | Amazon | 25 | |
Câble Micro USB | 10 | ||
Total | 2889 | 1685 |
Autrement dit, le texte à gauche, les nombres à droite et la mise en valeur des lignes est basée sur les termes mis en gras dans le fichier original (si vous avez au moins un mot en gras sur une ligne dans le fichier original, toute la ligne sera mise en valeur sur RL - je ne peux pas faire autrement).
Pas testé avec tous les formats imaginables, mais ça devrait passer. Il se peut aussi que certains caractères spéciaux vérolent certaines lignes. Si ça arrive, merci de me le signaler, je corrigerai.
Dernière modification par Kam (03-11-2014 16:37:02)
Hors ligne
#20 24-10-2014 17:10:23
- kstt
- de bonne humeur
- Lieu : Savoie
- Inscription : 02-10-2012
Re : Tableaux dans le forum
Bien joué Kam ! Ça c'est de l'intégration
Dans le même genre, as-tu essayé la méthode d'import de données depuis un tableur ? https://www.randonner-leger.org/forum/v … 71#p369971
Import de données depuis un tableur
Vous pouvez importer rapidement vos données depuis votre tableur ainsi :
* sélectionnez un rectangle de données dans le tableur
* copiez
* ouvrez l'outil tableau de la barre d'outil
* collez dans la zone de contenu
* cliquez sur le bouton Conversion TAB → | : votre tableau est converti au format RL.
* renseignez le paramètre d'alignement
* Validez
à+
Dernière modification par kstt (24-10-2014 17:12:42)
« Il semble que la perfection soit atteinte non quand il n'y a plus rien à ajouter, mais quand il n'y a plus rien à retrancher. » - Antoine de Saint-Exupéry, Terre des hommes
Hors ligne
#21 24-10-2014 17:36:19
- Kam
- Membre
- Inscription : 19-01-2011
Re : Tableaux dans le forum
Ah oui, j'avais oublié. Très sympa aussi.
Ca donne en gros le même résultat, avec quelques clics de plus pour ceux qui ne sont pas sous Linux. Par contre, tu dois compter manuellement le nombre de colonnes pour l'alignement. Si tu as le temps, ça serait peut-être possible de l'automatiser?
Hors ligne
#22 24-10-2014 18:01:04
- kstt
- de bonne humeur
- Lieu : Savoie
- Inscription : 02-10-2012
Re : Tableaux dans le forum
Ce serait possible, sans aucun doute. Mais comme avec ton outil, ce n'est pas simple de deviner les souhaits d'alignement de l'utilisateur Est-ce qu'on mettrait tout à gauche par défaut ? Est-ce qu'on ferait une heuristique pour essayer de deviner les colonnes numériques et les mettre à droite ?
J'ai un peu peur que ça soit fragile comme comportement, qu'en penses-tu ?
« Il semble que la perfection soit atteinte non quand il n'y a plus rien à ajouter, mais quand il n'y a plus rien à retrancher. » - Antoine de Saint-Exupéry, Terre des hommes
Hors ligne
#23 24-10-2014 18:29:37
- Kam
- Membre
- Inscription : 19-01-2011
Re : Tableaux dans le forum
Perso je mettrais tout à gauche (c'est ce que j'ai fait dans le script plus haut, même si je vais voir si je ne peux pas récupérer les infos d'alignement en exportant dans un autre format et mettre l'alignement réel).
Comme c'est actuellement, l'utilisateur doit compter chaque colonne (quand il y en a 10, c'est lourd), et mettre le code correspondant. Pourquoi ne pas pré-remplir le truc du coup, et mettre un 'l' ou 'c' par colonne par défaut dans le champ? Ca pourrait être un bon compromis. Qu'est-ce que tu en penses? Ca faciliterait la tâche tout en permettant à l'utilisateur de modifier l'alignement depuis le pop up s'il le souhaite.
EDIT - Précision.
Dernière modification par Kam (24-10-2014 18:37:21)
Hors ligne
#24 25-10-2014 01:12:30
- Kam
- Membre
- Inscription : 19-01-2011
Re : Tableaux dans le forum
V2 du script, qui gère maintenant la mise en valeur des cellules (exemple dans mon précédent post). Reste plus que l'alignement, mais ça va être plus compliqué de faire un truc cohérent.
Dernière modification par Kam (25-10-2014 01:13:58)
Hors ligne
#25 25-10-2014 16:20:09
- Kam
- Membre
- Inscription : 19-01-2011
Re : Tableaux dans le forum
V3 vite-fait, avec intégration dans thunar et nautilus (en plus de nemo), et surtout une installation complètement automatisée: lancez le script plus haut avec le paramètre --install, et c'est parti.
EDIT - Je pourrais le faire pour kde aussi, mais c'est à condition d'avoir un testeur (pas envie d'installer kde-desktop). Si quelqu'un est intéressé, qu'il me le fasse savoir.
Dernière modification par Kam (25-10-2014 17:32:08)
Hors ligne