Automatiser des actions répétitives dans chaque onglet

Bonjour

Voici une nouvelle question envoyée à l'aide du formulaire de demande d'aide (http://fr.libreoffice.org/get-help/poser-une-question/).
Si vous répondez, merci de penser à utiliser la fonction "répondre à tous" de votre logiciel de courrier électronique de façon que le demandeur reçoive une copie de votre réponse.

Email:: etienne.news@free.fr
Sujet:: Automatiser des actions répétitives dans chaque onglet
OS:: Linux
Version:: 5.0.x
Question:: Bonjour à tous,

J'utilise Libreoffice 5.0.3.2 sous linuxmint 17.3 (si ma mémoire est bonne).

Sous Calc, je dois remettre régulièrement en forme des tarifs composés de 25 onglets environ. Il y a beaucoup de petites manipulations à faire dans chaque onglet (voir par exemple un petit aperçu ci-dessous)

C'est un tableau qui comporte 25 onglets environ.

Modif à exécuter à chaque onglet et après, je recommence au suivant :

Insérer une colonne à gauche de A,
Réduire la largeur de cette colonne à 0,10 cm
Insérer une colonne à gauche en H
Insérer une colonne à gauche en J
Insérer une colonne à gauche en L
Masquer les colonnes M et N
Copier les cellules de B1 à N1
Insérer 22 lignes au dessus de la ligne 1
Copier les 20 premières lignes du premier onglet sur les lignes nouvellement insérées
Copier des formules, etc ....

Je passe 2 à 3 heures sur un onglet pour le rendre utilisable à la lecture et imprimable. Comme cela devient vite astreignant, je cherche donc un moyen pour automatiser cela.

Existe-t-il un moyen pour automatiser cela ? Je pensais notamment aux macros. Mais je n'en ai jamais utilisé et je ne sais pas si cela correspond vraiment à mes besoins.

Merci d'avance.
Cordialement,

Bonjour,

J'utilise Libreoffice 5.0.3.2 sous linuxmint 17.3 (si ma mémoire est bonne).

Sous Calc, je dois remettre régulièrement en forme des tarifs composés de 25 onglets environ. Il y a beaucoup de petites manipulations à faire dans chaque onglet (voir par exemple un petit aperçu ci-dessous)

C'est un tableau qui comporte 25 onglets environ.

Modif à exécuter à chaque onglet et après, je recommence au suivant :

Insérer une colonne à gauche de A,
Réduire la largeur de cette colonne à 0,10 cm
Insérer une colonne à gauche en H
Insérer une colonne à gauche en J
Insérer une colonne à gauche en L
Masquer les colonnes M et N
Copier les cellules de B1 à N1
Insérer 22 lignes au dessus de la ligne 1
Copier les 20 premières lignes du premier onglet sur les lignes nouvellement insérées
Copier des formules, etc ....

Je passe 2 à 3 heures sur un onglet pour le rendre utilisable à la lecture et imprimable. Comme cela devient vite astreignant, je cherche donc un moyen pour automatiser cela.

Existe-t-il un moyen pour automatiser cela ? Je pensais notamment aux macros. Mais je n'en ai jamais utilisé et je ne sais pas si cela correspond vraiment à mes besoins.

25 fois 3 heures ???

1. Réponse directe

Pour répondre directement, si les onglets (feuilles) sont dotés d'une structure identique alors vous pouvez agir sur plusieurs *en même temps*.

Pour ça, utilisez, sur les onglets :

-- Ctrl + Clic pour une sélection multi-onglets un à un,
-- Maj + Clic pour une sélection "de...jusqu'à"

Ensuite, toute manipulation (de mise en forme, de formule, de donnée) réalisée sur la feuille visible est répercutée sur les autres de la sélection.

2. En prenant du recul

25 fois 3 heures ?

Un tarif est, basiquement, une base de données.

Votre procédure me semble (inutilement ?) compliquée. Cela dénote peut-être un défaut de conception du classeur. Si vous nous en disiez plus sur son contenu et sa structure, on pourrait peut-être vous aider à améliorer afin d'éviter ou au moins de minimiser la corvée.

Il est vrai que la plupart des manipulations que vous décrivez peuvent être enregistrées dans une macro pour être ensuite rejouées automatiquement. Des macros peuvent (peut-être) aider, mais il ne faut recourir à ces outils qu'après avoir analysé le pb et s'être assuré qu'il n'existe aucune solution plus simple.

Si vous répondez, merci de penser à utiliser la fonction "répondre à tous" de votre logiciel de courrier électronique de façon que la liste reçoive une copie de votre réponse.

Bien cordialement,

Bonsoir à tous,

[...]

Existe-t-il un moyen pour automatiser cela ? Je pensais notamment aux macros. Mais je n'en ai jamais utilisé et je ne sais pas si cela correspond vraiment à mes besoins.

25 fois 3 heures ???

Je n'ai pas chronométré mais c'est long : c'est peut-être 1 ou 2 heures quand même par onglet, surtout à refaire 25 fois !

1. Réponse directe

Pour répondre directement, si les onglets (feuilles) sont dotés d'une structure identique alors vous pouvez agir sur plusieurs *en même temps*.

Pour ça, utilisez, sur les onglets :

-- Ctrl + Clic pour une sélection multi-onglets un à un,

Oui, je viens de l'appliquer sur la modification d'une largeur de colonne. Cela fonctionne sur tous les onglets sélectionnés. Je vais diviser par 25 le temps du formatage de chaque onglet.
Pour les formules, ce sera sans doute plus compliqué.

-- Maj + Clic pour une sélection "de...jusqu'à"

Oui, celle-là, je la connaissais.

Ensuite, toute manipulation (de mise en forme, de formule, de donnée) réalisée sur la feuille visible est répercutée sur les autres de la sélection.

Ok.

2. En prenant du recul

25 fois 3 heures ?

Un tarif est, basiquement, une base de données.

oui, tout à fait d'accord.

Votre procédure me semble (inutilement ?) compliquée. Cela dénote peut-être un défaut de conception du classeur. Si vous nous en disiez plus sur son contenu et sa structure, on pourrait peut-être vous aider à améliorer afin d'éviter ou au moins de minimiser la corvée.

Le problème, c'est que ce sont des classeurs envoyés par nos fournisseurs qui ont chacun leurs propres tableaux. Ces classeurs listent des plantes par variété, type (onglet), taille ou grandeur, prix en fonction des quantités achetées, etc ...

Chaque onglet correspond à une catégorie (type de plante) et comprend les colonnes suivantes :
la référence, le code taille, la désignation de la plante, la taille de la plante (ou grosseur du pot s'il s'agit d'une plante en pot), le prix de vente à l'unité, par quantité de 10 et par quantité de 100.
Ces prix sont les prix qui nous sont facturés par nos fournisseurs. A partir de ces tableaux, on les convertit pour en faire un tarif de vente pour nos clients.

Donc, pour revenir à la base de données, il s'agit bien d'une base de données mais créées avec Excel pour que leurs tarifs soient diffusés et utilisables directement par leurs clients (nous, les jardineries et pépiniéristes).
A nous d'extrapoler un tarif qui sera utilisable directement pour lire instantanément le prix d'une plante selon la taille, la variété, la quantité achetée, etc ...
Cela permet de répondre à nos clients instantanément à toute demande de prix par téléphone, mail, etc ...

[...]

Si vous répondez, merci de penser à utiliser la fonction "répondre à tous" de votre logiciel de courrier électronique de façon que la liste reçoive une copie de votre réponse.

Bien cordialement,

Merci bien de votre réponse qui va déjà m'aider dans le formatage où je vais déjà gagner un temps fou !

Cordialement,

Bonsoir,

pas possible de regrouper le tout dans UN seul onglet ? (qu'il n'y a que la
catégorie qui différencie - il suffit d'ajouter une colonne catégorie pour
différencier).
Ensuite application de filtre pour avoir l'équivalent des onglets.

Yves

Bonsoir à tous,

J'ai presque terminé le tarif vente.

J'ai gagné pas mal de temps en sélectionnant tous les onglets. Mais je n'ai pas utilisé les macros. J'avoue ne pas savoir comment faire.
Je rechercherai un tuto sur les macros libreoffice quand j'aurai un peu plus de temps.

Encore une question :

Dans le tarif, certaines cellules sont vides (quantité ou prix d'achat par ce que l'article ne se vend pas dans le conditionnement en question). Cela produit des 0,00 (dans la colonne produit issu du calcul de quantité * prix achat) .

Comment ne pas afficher tous ces 0,00 quand 1 ou les 2 paramètres sont manquants 'produit égal à zéro) ?
Cela rendrait l'affichage un peu plus esthétique.

Encore merci.
Cordialement,

Outils - Options - Calc - Affichage - Décocher - Afficher - Décocher
"Valeurs zéro".

Il y a une option similaire pour ne pas les imprimer.

Librement.

Bonjour,

Dans le tarif, certaines cellules sont vides (quantité ou prix d'achat
par ce que l'article ne se vend pas dans le conditionnement en
question). Cela produit des 0,00 (dans la colonne produit issu du
calcul de quantité * prix achat) .

Comment ne pas afficher tous ces 0,00 quand 1 ou les 2 paramètres sont
manquants 'produit égal à zéro) ?
Cela rendrait l'affichage un peu plus esthétique.

On peut prendre une formule ad hoc ; par exemple, on veut faire le
produit de A6 par B6 mais ne rien afficher si c'est nul.
=SI(A6*B6=0;"";A6*B6)
L'avantage est de bien contrôler les choses (le masquage des valeurs
nulles agit sur l'ensemble de la feuille).
Bob

Bonjour,

Il est aussi possible d'utiliser le formatage conditionnel, qui sera le même dans un tableau inséré dans un document Writer.

Ca nous donne :

[>0]#'##0.00;[=0]#;Standard.

Ca se lit :

[condition]format à appliquer;[autre condition]autre format

Bonne journée,

Thierry

Bonjour,

-----Message d'origine-----
De : Bob [mailto:rcabane@free.fr]
Envoyé : dimanche 29 avril 2018 08:54
À : Etienne; users@fr.libreoffice.org
Objet : Re: [fr-users] Automatiser des actions répétitives dans chaque
onglet

Bonjour,
> Dans le tarif, certaines cellules sont vides (quantité ou prix d'achat
> par ce que l'article ne se vend pas dans le conditionnement en
> question). Cela produit des 0,00 (dans la colonne produit issu du
> calcul de quantité * prix achat) .
>
> Comment ne pas afficher tous ces 0,00 quand 1 ou les 2 paramètres sont
> manquants 'produit égal à zéro) ?
> Cela rendrait l'affichage un peu plus esthétique.
On peut prendre une formule ad hoc ; par exemple, on veut faire le
produit de A6 par B6 mais ne rien afficher si c'est nul.
=SI(A6*B6=0;"";A6*B6)
L'avantage est de bien contrôler les choses (le masquage des valeurs
nulles agit sur l'ensemble de la feuille).
Bob

Il peut être utile de remplacer la chaîne vide "" par un caractère, par
exemple "-" (ou autre chose, mais le tiret est discret), ceci a l'avantage
de différencier visuellement une cellule vide d'un résultat nul non affiché,
et donc d'éviter des erreurs dues à des cellules effacées par inadvertance,
ou non recopiées, etc. ...

Cordialement,
Michel

bonsoir à tous,

J'ai effectivement essayé la formule avec le tiret et cela fonctionne très bien.

Par contre, je rencontre encore un petit souci et j'ai donc encore une question :

J'avais sélectionné tous les onglets et je suis allé dans le menu Format, puis page pour éditer et activer le pied de page, mettre les marges, commencer la numérotation à 1, etc ....
Cela n'a pas été pris en compte que sur l'onglet au premier plan.

Peut-on paramétrer la mise en page en une seule fois sur tous les onglets sélectionnés comme le mode portrait, les marges, etc ... ?

Merci à tous,
Cordialement,

Bonsoir,

Le plus simple est de créer un style de page
Format-Styles-Style et formatage (ou F11))
-> Dans la fenêtre apparue à droite : cliquer sur style de page (2ème icône en partant de la gauche)
-> on voit qu'on a, par défaut, un style par onglet (de la forme "PageStyle_NomDeLOnglet")
-> Normalement, après vos manipulation, le style de la première feuille du groupe doit contenir le format page voulu (on peut vérifier en demandant à modifier le style par un clic droit)
-> Si non, il faut modifier selon les besoins
-> Ensuite on sélectionne les onglets voulus et on applique leur style voulu (double clic sur son nom dans la liste)

Bon courage

Christian F