[Résolu] Recopie de formules quand ajout nouvelle ligne

Discussions à propos du tableur Calc.
Les questions sur les macros doivent être postées dans la section dédiée en dessous.

Modérateur : Vilains modOOs

Règles du forum
Cette section est uniquement dédiée au tableur Calc. Vous ne devez pas poster ici de questions sur les macros mais utiliser la section éponyme.
Avatar de l’utilisateur
michelf30
Membre hOOnoraire
Membre hOOnoraire
Messages : 155
Inscription : 19 oct. 2008 14:57

[Résolu] Recopie de formules quand ajout nouvelle ligne

Message par michelf30 »

Bonjour

A ce jour, quand j'ajoute une ligne en bas de mon tableau, il faut que je recopie vers le bas les formules existantes de la ligne du dessus.
Y a-t-il un moyen pour que ce soit automatique ?

cela existe sous Excel en mettant les données "sous forme de tableau", comme cela est expliqué dans la vidéo ci après à 15'30 :
h**ps://youtu.be/Oomv_PHkULs?t=929
Trouve-t-on l'équivalent sous OpenOffice ? ou sous libre Office vers lequel je pense migrer en passant bientôt sous Mac ?

merci pour votre aide.
Michel
Dernière modification par michelf30 le 20 sept. 2021 12:36, modifié 2 fois.
Libreoffice 7.6.2 (M1), sous MacOs Sonoma 14.1.2 (M1)
Java Temurin JRE-21 aarch64 (sous MacOS 14.1)
Avatar de l’utilisateur
tintin
GourOOu
GourOOu
Messages : 9341
Inscription : 18 juil. 2008 17:29
Localisation : F-Oise + F-Savoie

Re: Recopie automatique de formules quand ajout nouvelle lig

Message par tintin »

Bonjour,
[b][color=#404080]michelf30[/color][/b] a écrit :sous OpenOffice ? ou sous libre Office vers lequel je pense migrer en passant bientôt sous Mac ?
Quel est l'intérêt de passer sur LibO ?
AOO 4.1.15 et LibO stable 7.6.5 / macOS Intel 13.6.5 Ventura
Adoptium-temurinJDK-jre_1.8.0_402 / Firefox/Safari/Thunderbird /Time Machine+cloneCCC
Tutoriels du forum pour macOS
Pour sauvegarder vos documents c'est ceinture ET bretelles
Avatar de l’utilisateur
michelf30
Membre hOOnoraire
Membre hOOnoraire
Messages : 155
Inscription : 19 oct. 2008 14:57

Re: Recopie automatique de formules quand ajout nouvelle lig

Message par michelf30 »

tintin a écrit :Bonjour,
[b][color=#404080]michelf30[/color][/b] a écrit :sous OpenOffice ? ou sous libre Office vers lequel je pense migrer en passant bientôt sous Mac ?
Quel est l'intérêt de passer sur LibO ?
Apple a sorti en octobre 2020 de nouveaux modèles de Mac équipés de puces Apple M1 qui les rends à la fois plus puissants et plus rapides. Surtout quand les développeurs de programmes ont adapté leur produit à l'architecture de cette puce. C'est le cas de Libre Office, mais pas de Open Office. Il existe une passerelle (Rosetta) qui permet quand même de les utiliser. Je suis bien habitué à OpenOffice et testerai avant l'éventuel changement.
Libreoffice 7.6.2 (M1), sous MacOs Sonoma 14.1.2 (M1)
Java Temurin JRE-21 aarch64 (sous MacOS 14.1)
Avatar de l’utilisateur
Dude
IdOOle de la suite
IdOOle de la suite
Messages : 25143
Inscription : 03 mars 2006 08:45
Localisation : 127.0.0.1
Contact :

Re: Recopie automatique de formules quand ajout nouvelle lig

Message par Dude »

Salut,
michelf30 a écrit : C'est le cas de Libre Office, mais pas de Open Office.
Pourtant l'ami tintin a posté ceci : https://forum.openoffice.org/fr/forum/v ... =2&t=63711
Personne n'y a jamais fait écho.

S'il n'y a jamais de testeur, les développeurs ne peuvent pas avancer.
Poser une question, c'est bien. Répondre aux autres, c'est encore mieux.
Améliorez AOO et votez pour les issues
Avatar de l’utilisateur
michelf30
Membre hOOnoraire
Membre hOOnoraire
Messages : 155
Inscription : 19 oct. 2008 14:57

Re: Recopie automatique de formules quand ajout nouvelle lig

Message par michelf30 »

Bonjour,

je promets un retour à Tintin quand j'aurai ma nouvelle machine tournant sous Apple M1 (on parle de M1X ou M2 pour octobre). L'adaptation à M1 permettrait un meilleur rendement qu'au travers de Rosetta. Et LibreOffice a déjà cette adaptation. Il s'ouvre donc directement sans passer par Rosetta... on verra pour OpenOffice promis !

Toujours est-il que je cherche une idée pour qu'en commençant une nouvelle ligne en bas de mon tableau existant, les formules de la ligne précédente se recopient sur cette nouvelle ligne, comme le fait (semble-t-il) Excel. (Cf l'exemple proposé par le lien plus haut)

à+
Michel
Libreoffice 7.6.2 (M1), sous MacOs Sonoma 14.1.2 (M1)
Java Temurin JRE-21 aarch64 (sous MacOS 14.1)
Avatar de l’utilisateur
tintin
GourOOu
GourOOu
Messages : 9341
Inscription : 18 juil. 2008 17:29
Localisation : F-Oise + F-Savoie

Re: Recopie automatique de formules quand ajout nouvelle lig

Message par tintin »

Bonjour,

Une possibilité :
Dans la zone de nom, saisir l'adresse de la plage que vous voulez remplir, par exemple C1:C10 > Touche retour > la plage C1:C10 est sélectionnée.
Dans la zone de saisie saisir la formule

Code : Tout sélectionner

=SI(A1="";"");=A1+B1
La zone reste sélectionnée
Alt + Entrée pour valider
Cliquer pour animer
Cliquer pour animer
Dernière modification par tintin le 15 sept. 2021 18:55, modifié 1 fois.
AOO 4.1.15 et LibO stable 7.6.5 / macOS Intel 13.6.5 Ventura
Adoptium-temurinJDK-jre_1.8.0_402 / Firefox/Safari/Thunderbird /Time Machine+cloneCCC
Tutoriels du forum pour macOS
Pour sauvegarder vos documents c'est ceinture ET bretelles
Jeff
GourOOu
GourOOu
Messages : 9608
Inscription : 18 sept. 2006 11:40
Localisation : France

Re: Recopie automatique de formules quand ajout nouvelle lig

Message par Jeff »

Bonjour à tous,

En semi-automatique :
  • Copier la ligne voulue
  • Collage spécial
    • Cocher "Formule"
    • Cocher "Déplacer vers le bas"
A +
Avatar de l’utilisateur
michelf30
Membre hOOnoraire
Membre hOOnoraire
Messages : 155
Inscription : 19 oct. 2008 14:57

Re: Recopie automatique de formules quand ajout nouvelle lig

Message par michelf30 »

Jeff a écrit :Bonjour à tous,

En semi-automatique :
  • Copier la ligne voulue
  • Collage spécial
    • Cocher "Formule"
    • Cocher "Déplacer vers le bas"
A +
Bonjour,

Merci Jeff. C'est en gros ce que je fais. Je sélectionne les cellules de la ligne et je descends à la souris le petit carré noir en bas à droite de la dernière cellule.
Mais j'aimerais que simplement en écrivant quelque chose sur une cellule de la dernière ligne, cela crée une ligne formatée comme la précédente (formats, styles et formules).
Libreoffice 7.6.2 (M1), sous MacOs Sonoma 14.1.2 (M1)
Java Temurin JRE-21 aarch64 (sous MacOS 14.1)
Avatar de l’utilisateur
tintin
GourOOu
GourOOu
Messages : 9341
Inscription : 18 juil. 2008 17:29
Localisation : F-Oise + F-Savoie

Re: Recopie automatique de formules quand ajout nouvelle lig

Message par tintin »

michelf30 a écrit :j'aimerais que simplement en écrivant quelque chose sur une cellule de la dernière ligne, cela crée une ligne formatée comme la précédente (formats, styles et formules)
C'est exactement ce que j'ai proposé.
AOO 4.1.15 et LibO stable 7.6.5 / macOS Intel 13.6.5 Ventura
Adoptium-temurinJDK-jre_1.8.0_402 / Firefox/Safari/Thunderbird /Time Machine+cloneCCC
Tutoriels du forum pour macOS
Pour sauvegarder vos documents c'est ceinture ET bretelles
Avatar de l’utilisateur
michelf30
Membre hOOnoraire
Membre hOOnoraire
Messages : 155
Inscription : 19 oct. 2008 14:57

Re: Recopie automatique de formules quand ajout nouvelle lig

Message par michelf30 »

tintin a écrit :
michelf30 a écrit :j'aimerais que simplement en écrivant quelque chose sur une cellule de la dernière ligne, cela crée une ligne formatée comme la précédente (formats, styles et formules)
C'est exactement ce que j'ai proposé.
Oui, merci Tintin. J'essaye de mettre ça en place, mais je galère un peu pour l'adapter à mon tableau...
Je ne suis pas là cet après-midi mais je réessaye ce soir. Au besoin j'enverrai mon fichier.
Libreoffice 7.6.2 (M1), sous MacOs Sonoma 14.1.2 (M1)
Java Temurin JRE-21 aarch64 (sous MacOS 14.1)
Avatar de l’utilisateur
tintin
GourOOu
GourOOu
Messages : 9341
Inscription : 18 juil. 2008 17:29
Localisation : F-Oise + F-Savoie

Re: Recopie automatique de formules quand ajout nouvelle lig

Message par tintin »

Dans l'exemple de la formule entrée dans la colonne C,

Code : Tout sélectionner

=SI(A1="";"";A1+B1)
signifie :
Si A1 est vide, alors rien sinon A1+B1
Dès qu'on entre une valeur dans la colonne A, le résultat apparaît dans la colonne C.
À vous de choisir le nombre de lignes.
AOO 4.1.15 et LibO stable 7.6.5 / macOS Intel 13.6.5 Ventura
Adoptium-temurinJDK-jre_1.8.0_402 / Firefox/Safari/Thunderbird /Time Machine+cloneCCC
Tutoriels du forum pour macOS
Pour sauvegarder vos documents c'est ceinture ET bretelles
Avatar de l’utilisateur
michelf30
Membre hOOnoraire
Membre hOOnoraire
Messages : 155
Inscription : 19 oct. 2008 14:57

Re: Recopie automatique de formules quand ajout nouvelle lig

Message par michelf30 »

tintin a écrit :Dans l'exemple de la formule entrée dans la colonne C,

Code : Tout sélectionner

=SI(A1="";"";A1+B1)
signifie :
Si A1 est vide, alors rien sinon A1+B1
Dès qu'on entre une valeur dans la colonne A, le résultat apparaît dans la colonne C.
À vous de choisir le nombre de lignes.
Oui, j'ai bien compris la formule.
Mais ce que je souhaite c'est recopier les formules existantes et les formats.

Je joins mon fichier qui a une diffusion restreinte et que je vous demanderai de supprimer une fois la question résolue.
Ce fichier sert à gérer des colonies d'abeilles.
La première feuille permet une saisie chronologique après la visite des ruches.
La colonne B affiche automatiquement la référence de la reine en fonction du N° de la ruche (Col A). D'autres formats conditionnels existent (Col Q ; U) ou des critères de validité (Col M).
Dans cet exemple, les 5 lignes (25 à 29) sont vierges mais sont formatées. Les suivantes n'ont rien du tout.

Il serait agréable que le formatage de la ligne 30 se fasse selon celui de la ligne 29 simplement en inscrivant quelque chose dans la colonne A (et pourquoi pas toute autre colonne comme la date).
Pourquoi ? parce que quand je sélectionne une ruche particulière en A2 (autofiltre), et que je veux alors saisir une ligne supplémentaire pour cette ruche, la première ligne proposée est la première ligne vide non formatée. Ainsi, dans mon exemple, si je sélectionne la ruche 9 par l'autofiltre en A2, j'ai bien l'historique de la ruche 9, mais la première ligne vierge qui s'affiche sur laquelle je peux écrire est la ligne 31. Alors que plusieurs lignes formatées existent.
Je suis alors obligé de reprendre l'affichage de toutes les lignes pour écrire sur la ligne 25, vierge et formatée.

Ma question initiale pourrait trouver aussi une solution en faisant s'afficher la première ligne formatée dans l'affichage résultant de l'autofiltre (la ligne 25 dans mon exemple).
Libreoffice 7.6.2 (M1), sous MacOs Sonoma 14.1.2 (M1)
Java Temurin JRE-21 aarch64 (sous MacOS 14.1)
Avatar de l’utilisateur
Bidouille
RespOOnsable forum
RespOOnsable forum
Messages : 12196
Inscription : 08 nov. 2005 17:23
Localisation : Caen, France
Contact :

Re: Recopie automatique de formules quand ajout nouvelle lig

Message par Bidouille »

Bonjour,
michelf30 a écrit :Je joins mon fichier qui a une diffusion restreinte et que je vous demanderai de supprimer une fois la question résolue.
Pas de fichier avec des données confidentielles ou nominatives, je l'ai donc supprimé.
Il vous appartient de fournir un document anonymisé : comment faire.

Je vous remercie également de ne pas citer l'intégralité des messages auxquels vous répondez.
Cela alourdit inutilement la lecture.
zeguedon
ManitOOu
ManitOOu
Messages : 3031
Inscription : 02 juil. 2014 19:25

Re: Recopie automatique de formules quand ajout nouvelle lig

Message par zeguedon »

Bonjour,
michelf30 a écrit :ce que je souhaite c'est recopier les formules existantes et les formats.
Les formats sont gérables par les styles de cellule. Lorsqu'il s'agit d'une cellule contenant une formule, la fonction STYLE() permet de formater cette cellule lorsque la formule est calculer :

Code : Tout sélectionner

=(MaFormuleQuiVaBien)&T(STYLE("MonStylePréféré"))
michelf30 a écrit :Il serait agréable que le formatage de la ligne 30 se fasse selon celui de la ligne 29 simplement en inscrivant quelque chose dans la colonne A
Le formatage conditionnel est fait pour ça.
@+
Comment baliser [Résolu] ?
AOO
LibreOffice
Sous Linux
Avatar de l’utilisateur
michelf30
Membre hOOnoraire
Membre hOOnoraire
Messages : 155
Inscription : 19 oct. 2008 14:57

Re: Recopie automatique de formules quand ajout nouvelle lig

Message par michelf30 »

Bonsoir, je reposte mon fichier vidé de tout ce qui est personnel.

Pour reprendre l'idée du formatage conditionnel, j'ai copier une plage de cellules en BB3:BY3 que j'ai nommée ligne_saisie. On pourrait essayer une formule de formatage conditionnel qui ferait : si la cellule A est vide, on fait rien, sinon on colle la plage "ligne_saisie" avec ses formules et ses styles.
Mais je n'y arrive pas...
votre aide me serait bien utile.
Pièces jointes
michelf30_rucher.ods
michelf30_rucher copier plage avec styles et formules
(34.51 Kio) Téléchargé 40 fois
Libreoffice 7.6.2 (M1), sous MacOs Sonoma 14.1.2 (M1)
Java Temurin JRE-21 aarch64 (sous MacOS 14.1)
zeguedon
ManitOOu
ManitOOu
Messages : 3031
Inscription : 02 juil. 2014 19:25

Re: Recopie automatique de formules quand ajout nouvelle lig

Message par zeguedon »

Bonjour,

Une version modifiée de ton fichier.

Il ne faut plus faire de Copier/Coller d'une plage modèle pour obtenir le résultat escompté. Lorsque qu'une cellule de la colonne A est renseignée, le formatage conditionnel se charge de donner aux cellules de la même ligne l'apparence souhaitée.
Tous les formatages conditionnels ont été étendu jusqu'à la ligne 200 au même titre que les formules de la colonne B rendues invisibles par un style de cellule protégé (la feuille est donc protégée sans mdp) mais toutes les autres cellules ne le sont pas (seules celles de la colonne B le sont)

Je t'invite à tester le fichier et faire remonter les éventuels dysfonctionnements que tu rencontres.
@+
Pièces jointes
Z1_michelf30_rucher.ods
(41.75 Kio) Téléchargé 43 fois
Comment baliser [Résolu] ?
AOO
LibreOffice
Sous Linux
Avatar de l’utilisateur
michelf30
Membre hOOnoraire
Membre hOOnoraire
Messages : 155
Inscription : 19 oct. 2008 14:57

Re: Recopie automatique de formules quand ajout nouvelle lig

Message par michelf30 »

Bonjour,
Merci zeguedon pour ton retour et le fichier.
Il y a plein de bonnes idées ! (même si je n'ai pas compris la protection des cellules de la colonne B).
la copie des formats et des formules se fait bien.
Mais cela ne résout pas mon problème. Quand je sélectionne une ruche par l'autofiltre pour en avoir l'historique, et que j'ai envie d'y rajouter une ligne, on passe à la prochaine ligne vide qui devient la ligne 201(toutes les autres semblant vides mais ayant un formatage conditionnel).
vide_avant_saisie.jpg

La modération vous a écrit: Image insérée, pour les pièces jointes <500 ko merci de ne pas utiliser cjoint

c'est pourquoi j'étais séduit par la fonction présente sous excel d'après la vidéo citée plus haut.


Edit : l'image ne veut pas s'afficher... je la poste en pièce jointe
Dernière modification par Oukcha le 17 sept. 2021 10:13, modifié 1 fois.
Raison : Insertion image jointe
Libreoffice 7.6.2 (M1), sous MacOs Sonoma 14.1.2 (M1)
Java Temurin JRE-21 aarch64 (sous MacOS 14.1)
zeguedon
ManitOOu
ManitOOu
Messages : 3031
Inscription : 02 juil. 2014 19:25

Re: Recopie automatique de formules quand ajout nouvelle lig

Message par zeguedon »

Bonjour,
michelf30 a écrit :je n'ai pas compris la protection des cellules de la colonne B
La colonne B est remplie par des formules jusqu'à la ligne 200 afin justement d'éviter des Copier/Coller à chaque fois qu'il faut renseigner une nouvelle ligne. Elle est protégée pour éviter une suppression accidentelle des formules.
michelf30 a écrit :Mais cela ne résout pas mon problème. Quand je sélectionne une ruche par l'auto-filtre pour en avoir l'historique, et que j'ai envie d'y rajouter une ligne, on passe à la prochaine ligne vide qui devient la ligne 201
A aucun moment tu as évoqué que ton problème était en rapport avec l'auto-filtre. Et moi bien bêtement je me suis focalisé sur le titre du sujet : Recopie automatique de formules quand ajout nouvelle ligne :?

Alors effectivement je constate que l'auto-filtre conduit directement à la fin de la plage occupée par le formatage conditionnel. Je vais regarder à mon retour comment contourner. J'ignore si ça vient de la colonne B remplie par des formules ou si c'est la conséquence d'un calcul effectué dans le formatage conditionnel avec la fonction MOD()
@+
Comment baliser [Résolu] ?
AOO
LibreOffice
Sous Linux
Avatar de l’utilisateur
michelf30
Membre hOOnoraire
Membre hOOnoraire
Messages : 155
Inscription : 19 oct. 2008 14:57

Re: Recopie automatique de formules quand ajout nouvelle lig

Message par michelf30 »

zeguedon a écrit :Bonjour,

A aucun moment tu as évoqué que ton problème était en rapport avec l'auto-filtre. Et moi bien bêtement je me suis focalisé sur le titre du sujet : Recopie automatique de formules quand ajout nouvelle ligne :?
@+
J'ai commencé par poser une question générale, tu as raison, puis j'ai expliqué pourquoi dans mon message d'hier à 13:43.

Pardon de ne pas avoir été plus précis.

Merci pour le temps que tu passes pour moi...
Libreoffice 7.6.2 (M1), sous MacOs Sonoma 14.1.2 (M1)
Java Temurin JRE-21 aarch64 (sous MacOS 14.1)
zeguedon
ManitOOu
ManitOOu
Messages : 3031
Inscription : 02 juil. 2014 19:25

Re: Recopie automatique de formules quand ajout nouvelle lig

Message par zeguedon »

michelf30 a écrit :puis j'ai expliqué pourquoi dans mon message d'hier à 13:43.
Au temps pour moi j'avais pas lu jusqu'au bout :oops:
@+
Comment baliser [Résolu] ?
AOO
LibreOffice
Sous Linux
zeguedon
ManitOOu
ManitOOu
Messages : 3031
Inscription : 02 juil. 2014 19:25

Re: Recopie automatique de formules quand ajout nouvelle lig

Message par zeguedon »

Re,
Bon apparemment ce sont bien les formules de la colonne B qui sont à l'origine du dysfonctionnement du filtre. J'ai réussi à contourner en intégrant la formule dans une liste de validité.

Lorsque la colonne A est renseignée, il faut sélectionner ce qui est inscrit en validité de la colonne B pour que le n0 de la reine s'affiche. A toi de voir si cela convient, sinon il faudra passer par une macro pour que la colonne B se remplisse automatiquement à mesure que la colonne A est renseignée.
@+
Pièces jointes
Z2_michelf30_rucher.ods
(38.2 Kio) Téléchargé 48 fois
Comment baliser [Résolu] ?
AOO
LibreOffice
Sous Linux
Avatar de l’utilisateur
michelf30
Membre hOOnoraire
Membre hOOnoraire
Messages : 155
Inscription : 19 oct. 2008 14:57

Re: Recopie automatique de formules quand ajout nouvelle lig

Message par michelf30 »

bonsoir,

oui, ça marche ! un grand merci !

Pour que je comprenne bien, et que j'apprenne, peux-tu m'expliquer (me traduire) les formules :

NON(ESTVIDE(A3)) (pourquoi la référence à A3, quelle que soit la colonne concernée ?)

ET(NON(ESTVIDE(A3));NON(ESTVIDE(C3));MOD(GAUCHE(B3;2);5)=0)

merci !
Libreoffice 7.6.2 (M1), sous MacOs Sonoma 14.1.2 (M1)
Java Temurin JRE-21 aarch64 (sous MacOS 14.1)
zeguedon
ManitOOu
ManitOOu
Messages : 3031
Inscription : 02 juil. 2014 19:25

Re: Recopie automatique de formules quand ajout nouvelle lig

Message par zeguedon »

michelf30 a écrit :NON(ESTVIDE(A3)) (pourquoi la référence à A3, quelle que soit la colonne concernée ?)
Pour que le formatage conditionnel s'applique à toutes les cellules de la ligne dès que la seule colonne A est renseignée. Le numéro de ligne étant en adressage relatif, A3 devient A40 lorsque nous somme positionnés sur la ligne 40. Mais en réalité, il aurait été préférable de faire un adressage mixte en mettant la colonne en adressage absolu $A3. Ainsi si tu dois ajouter des colonnes à l'avenir, le formatage conditionnel ne sera dérangé par cet ajout.
michelf30 a écrit :

Code : Tout sélectionner

ET(NON(ESTVIDE(A3));NON(ESTVIDE(C3));MOD(GAUCHE(B3;2);5)=0)
au départ la formule était :

Code : Tout sélectionner

MOD(GAUCHE(B3;2);5)=0
comme je ne savais quelle était l'origine du dysfonctionnement sur le filtre, je me suis dit qu'il serait peut-être préférable de s'assurer que les colonnes A et C sont bien renseignées avant d'évaluer avec la fonction MOD() le contenu de la colonne B (contenu obtenu par les valeur des colonnes A et C). Mais finalement cela n'a rien changé et lorsque j'ai découvert que le dysfonctionnement venait des formules de la colonne B, j'ai fait des tests avec le validité et j'ai oublié de remettre la formule du formatage conditionnel dans son état d'origine. Mais cela ne nuit en rien au bon fonctionnement du fichier.
@
Comment baliser [Résolu] ?
AOO
LibreOffice
Sous Linux
Verrouillé