Page 1 sur 1

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

Publié : 14 sept. 2021 15:36
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

Re: Recopie automatique de formules quand ajout nouvelle lig

Publié : 14 sept. 2021 16:24
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 ?

Re: Recopie automatique de formules quand ajout nouvelle lig

Publié : 14 sept. 2021 16:31
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.

Re: Recopie automatique de formules quand ajout nouvelle lig

Publié : 15 sept. 2021 07:31
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.

Re: Recopie automatique de formules quand ajout nouvelle lig

Publié : 15 sept. 2021 15:15
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

Re: Recopie automatique de formules quand ajout nouvelle lig

Publié : 15 sept. 2021 16:22
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
Michelf30.gif

Re: Recopie automatique de formules quand ajout nouvelle lig

Publié : 15 sept. 2021 16:53
par Jeff
Bonjour à tous,

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

Re: Recopie automatique de formules quand ajout nouvelle lig

Publié : 16 sept. 2021 10:03
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).

Re: Recopie automatique de formules quand ajout nouvelle lig

Publié : 16 sept. 2021 10:06
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é.

Re: Recopie automatique de formules quand ajout nouvelle lig

Publié : 16 sept. 2021 10:10
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.

Re: Recopie automatique de formules quand ajout nouvelle lig

Publié : 16 sept. 2021 10:14
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.

Re: Recopie automatique de formules quand ajout nouvelle lig

Publié : 16 sept. 2021 11:43
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).

Re: Recopie automatique de formules quand ajout nouvelle lig

Publié : 16 sept. 2021 12:19
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.

Re: Recopie automatique de formules quand ajout nouvelle lig

Publié : 16 sept. 2021 12:47
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.
@+

Re: Recopie automatique de formules quand ajout nouvelle lig

Publié : 16 sept. 2021 15:49
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.

Re: Recopie automatique de formules quand ajout nouvelle lig

Publié : 16 sept. 2021 21:35
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.
@+

Re: Recopie automatique de formules quand ajout nouvelle lig

Publié : 17 sept. 2021 07:29
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

Re: Recopie automatique de formules quand ajout nouvelle lig

Publié : 17 sept. 2021 11:13
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()
@+

Re: Recopie automatique de formules quand ajout nouvelle lig

Publié : 17 sept. 2021 11:54
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...

Re: Recopie automatique de formules quand ajout nouvelle lig

Publié : 17 sept. 2021 12:44
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:
@+

Re: Recopie automatique de formules quand ajout nouvelle lig

Publié : 17 sept. 2021 18:40
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.
@+

Re: Recopie automatique de formules quand ajout nouvelle lig

Publié : 17 sept. 2021 20:11
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 !

Re: Recopie automatique de formules quand ajout nouvelle lig

Publié : 17 sept. 2021 21:51
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.
@