Fusionnage automatique!!

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.
TCBILL
NOOuvel adepte
NOOuvel adepte
Messages : 12
Inscription : 01 avr. 2021 08:20
Localisation : crozon

Fusionnage automatique!!

Message par TCBILL »

Bonjour à tous,
je tiens tout d'abord remercier l'ensemble des personnes qui m'ont aidé dans mes différents soucis, et remercie également les modérateurs pour m'avoir aiguillé sur le bon fonctionnement du forum!
Je viens aujourd'hui à vous car je souhaite savoir s'il est possible que plusieurs cellules fusionne automatiquement selon une condition?
En effet,
vous trouverez en pièce jointe, un fichier et mon problème se trouve en feuille "Dépenses", la cellule C10 en format Date correspond la première date affichée dans la feuille "Courant" et détermine le début de mon analyse de budget.

Grâce aux conseils avisés reçu sur un précédent sujet, un formatage auto créer une bordure au dessus du mois de décembre afin de cloisonner chaque année.

Mon problème est maintenant de créer un formatage/formule pour faire comprendre qu'entre chaque bordure de la colonne I, les cellules doivent fusionner, a partir de la deuxième année, on sait que le fusion sera de douze cellules vers le bas, mais la première année dépend de la date inscrite en C10.

Je vous remercie d'avance de m'aider dans ma tâche!!!

Cordialement
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
Open Office 4.1.10 sous Windows 10
Kev74
Membre hOOnoraire
Membre hOOnoraire
Messages : 139
Inscription : 24 avr. 2021 19:09

Re: Fusionnage automatique!!

Message par Kev74 »

Bonsoir,

j'ai pas vraiment compris votre question.

Bonne soirée
LibreOffice 7.0.5.2 sous Windows 10
Avatar de l’utilisateur
Jean-Louis Cadeillan
GourOOu
GourOOu
Messages : 5752
Inscription : 02 janv. 2009 23:56

Re: Fusionnage automatique!!

Message par Jean-Louis Cadeillan »

Bonjour,
TCBILL a écrit :les cellules doivent fusionner
S'il s'agit de la fusion de cellules telle que Calc le définit (Format > Fusionner les cellules), je ne connais pas de moyen (hors macro) de faire une fusion conditionnelle, dont la condition serait, par exemple, « fusionner les cellules depuis I10 jusqu'à la cellule de la ligne qui correspond au premier mois de décembre rencontré en colonne D (ou C) ». Par contre, rien ne t'empêche de garder, dans cette première année éventuellement partielle, les lignes de tous les mois (de janvier à décembre), quitte à ne rien afficher dans toutes les lignes qui correspondent aux mois avant celui de Courant.D2.
Remarques :
  • pourquoi veux-tu fusionner des cellules qui ne contiennent pas la même formule ?
  • TCBILL a écrit :une bordure au dessus du mois de décembre
    au-dessous ?
  • si tu t'orientes vers une solution macro, crée un fil dans la section éponyme
Cordialement,
Jean-Louis
LibO 7.6.6.3 (x64 avec Java 1.8.0_411) et AOO 4.1.15 (avec Java x32 1.8.0_381), Windows 7 Édition Intégrale 64 SP1
Jeff
GourOOu
GourOOu
Messages : 9628
Inscription : 18 sept. 2006 09:40
Localisation : France

Re: Fusionnage automatique!!

Message par Jeff »

Bonjour à tous,

Je me demande si, par le terme "fusion", TCBILL ne veut que des bordures externes sur ce qui concerne la première année, quelque soit le nombre de lignes.

A +
TCBILL
NOOuvel adepte
NOOuvel adepte
Messages : 12
Inscription : 01 avr. 2021 08:20
Localisation : crozon

Re: Fusionnage automatique!!

Message par TCBILL »

Bonjour à tous,
Merci a vous de s’intéresser à mon soucis.
je tiens dans un premier temps rectifier le tir, je me suis trompé dans mon explication:
" Mon problème est maintenant de créer un formatage/formule pour faire comprendre qu'entre chaque bordure de la colonne I, les cellules doivent fusionner, a partir de la deuxième année, on sait que le fusion sera de douze cellules vers le bas, mais la première année dépend de la date inscrite en C10."
je voulais parler de la colonne K.
Maintenant pour répondre à chacun de vous.

Pour kev74:
je souhaite fusionner toute les cellules entre elles tant bien qu'elle soit comprise entre deux bordures et cela de manière automatique.

Pour Jean-Louis Cadellian
"pourquoi veux-tu fusionner des cellules qui ne contiennent pas la même formule ?"
ma rectification de la colonne I à K peut répondre à ta question
"au-dessous ?"
en effet c'est encore une erreur de ma part, mais le problème est résolu!
Si vous estimez que mon problème peut être résolu par une macro, je crois que je vais devoir m'y mettre,mais je ne maitrise absolument pas !!!
Pour Jeff
En effet mon soucis principale concerne la première année puisque possibilité de moins de douze mois.

J'attends un dernier retour de votre part, s'il a moyen de réaliser tout cela sans macro sinon je clôturerai le sujet et en créera un nouveau au bon endroit.
Merci encore pour votre concours.

Bonne journée
Open Office 4.1.10 sous Windows 10
Jeff
GourOOu
GourOOu
Messages : 9628
Inscription : 18 sept. 2006 09:40
Localisation : France

Re: Fusionnage automatique!!

Message par Jeff »

Tu n'as pas répondu précisément à mes interrogations ;)

On peut donner une illusion de fusion en encadrant un groupe de cellules qui restent distinctes notamment par leur contenu.

Fusionner des cellules entraîne le fait qu'il ne s'agit plus que d'une seule cellule reprenant (ou pas) le contenu des autres cellules avec lesquelles elle a été fusionnée, par exemple :

https://forum.openoffice.org/fr/forum/v ... =8&t=40408

Merci de préciser ce que tu veux exactement...
Avatar de l’utilisateur
Jean-Louis Cadeillan
GourOOu
GourOOu
Messages : 5752
Inscription : 02 janv. 2009 23:56

Re: Fusionnage automatique!!

Message par Jean-Louis Cadeillan »

Tu n'as pas non plus répondu à ma suggestion :
Jean-Louis Cadeillan a écrit :Par contre, rien ne t'empêche de garder, dans cette première année éventuellement partielle, les lignes de tous les mois (de janvier à décembre), quitte à ne rien afficher dans toutes les lignes qui correspondent aux mois avant celui de Courant.D2.
Ci-joint, dans la feuille Dépenses_2, une mise en œuvre de cette suggestion : si par exemple tu saisis en Courant.D2 le 1/03/21, les deux premières lignes de janvier et février de la feuille Dépenses_2 seront vides et la troisième reprendra bien les valeurs du mois de mars, etc. Ainsi la première année a une hauteur de 12 lignes quelle que soit la date d'aujourd'hui et la date dans Courant.D2, on s'affranchit des problème de formatage et de fusion (j'ai mis en K10, la formule qui apparaît sur la plage fusionnée K10:K21)
Cordialement,
Jean-Louis
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
LibO 7.6.6.3 (x64 avec Java 1.8.0_411) et AOO 4.1.15 (avec Java x32 1.8.0_381), Windows 7 Édition Intégrale 64 SP1
TCBILL
NOOuvel adepte
NOOuvel adepte
Messages : 12
Inscription : 01 avr. 2021 08:20
Localisation : crozon

Re: Fusionnage automatique!!

Message par TCBILL »

Bonjour,
Jean-louis, merci pour cette suggestion. Ce que je veux...
Je voulais que la colonne K entre deux bordures soient automatiquement fusionnées quelque soit l'intervalle entre chaque bordure.
Ex: C10=01/03/2020.
On est d'accord que l'intervalle entre chaque bordure de la première année n'est plus de 12 mais 12-2 soit 10.
Donc que ces 10 ou autres (selon la valeur en C10) se fusionnent entre elle en colonne K.
Je sais pas trop comment mieux expliquer.
Merci encore de ton investissement
Cordialement
Open Office 4.1.10 sous Windows 10
Jeff
GourOOu
GourOOu
Messages : 9628
Inscription : 18 sept. 2006 09:40
Localisation : France

Re: Fusionnage automatique!!

Message par Jeff »

TCBILL a écrit :Je sais pas trop comment mieux expliquer
A minima avec une image, fais le montage de ce que tu souhaites obtenir, et joins l'image de la même façon que tu joins un fichier sur le forum.

A +
Avatar de l’utilisateur
Jean-Louis Cadeillan
GourOOu
GourOOu
Messages : 5752
Inscription : 02 janv. 2009 23:56

Re: Fusionnage automatique!!

Message par Jean-Louis Cadeillan »

Bonjour,
TCBILL a écrit :On est d'accord que l'intervalle entre chaque bordure de la première année n'est plus de 12 mais 12-2 soit 10.
Tu es parti sur cette piste d'afficher en première ligne de ton tableau (la ligne 10) le mois pris en compte dans D2 de la feuille Courant. J'ai bien compris ton objectif. Mais comme je l'expliquais plus haut :
Jean-Louis Cadeillan a écrit : je ne connais pas de moyen (hors macro) de faire une fusion conditionnelle, dont la condition serait, par exemple, « fusionner les cellules depuis I10 jusqu'à la cellule de la ligne qui correspond au premier mois de décembre rencontré en colonne D (ou C) »
Donc je suis parti sur une autre piste que la tienne, dans une démarche fonctionnelle (privilégier la fin quitte à employer d'autres moyens), qui consiste à commencer toujours le tableau en ligne 10 par le mois de janvier, de manière à avoir toujours le même nombre de lignes, quelles que soient les années. Dans ce cas, les lignes avant le mois en cours (donné par Courant.D2) sont laissées vides par formule.
D'après ta phrase elliptique :
TCBILL a écrit :Ce que je veux...
j'en ai déduis que cette présence de lignes même vides te gêne.
Dans le fichier joint, j'ai donc pensé à masquer ces lignes vides (sélectionner les lignes > Masquer). Masquer des lignes vides ne perturbe pas la plage fusionnée de la colonne K et le résultat de la formule reste valable.
Pour aller vers plus de simplicité, j'ai ensuite pensé à créer un autofiltre qui permet de masquer les lignes vides avant le premier mois en cours. Ça fonctionne bien, mais il faut encore deux interventions manuelles : cliquer sur le filtre et Entrée pour l'actualiser (après avoir changé le contenu de Courant.D2).
Ainsi, avec un clic et la touche Entrée, on obtient ce que tu voulais, le tableau de la première année qui commence (visuellement) par le mois donné par Courant.D2.
C'est la limite de ce qu'on peut faire sans macro.
Dans le fichier joint, j'ai créé une première macro filtrerZone pour remplacer l'autofiltre (raccourci clavier Alt+F).
Pour que cette macro se lance automatiquement quand on change la valeur de la cellule Courant.D2, il fallait créer un listener (une macro qui surveille le changement de valeur de la cellule D2), ce que j'ai fait également (Merci à Bernard Marcelly et Laurent Godard pour leur excellent ouvrage Programmation OpenOffice.org 3, dont je me suis inspiré).
Ce faisant, je sors de l'esprit de cette Rubrique, puisque des macros viennent finir le travail : je laisse aux modérateurs la décision de créer un fil miroir de celui-ci dans la Rubrique Macros et API…
À tester,
Cordialement,
Jean-Louis
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
Dernière modification par Jean-Louis Cadeillan le 05 juil. 2021 12:35, modifié 2 fois.
LibO 7.6.6.3 (x64 avec Java 1.8.0_411) et AOO 4.1.15 (avec Java x32 1.8.0_381), Windows 7 Édition Intégrale 64 SP1
TCBILL
NOOuvel adepte
NOOuvel adepte
Messages : 12
Inscription : 01 avr. 2021 08:20
Localisation : crozon

Re: Fusionnage automatique!!

Message par TCBILL »

bonjour à tous!
j'ai bidouillé un truc qui a l'air de fonctionner, je vous l'envoie en pièce jointe
il ne s'agit ni de mise en formatage conditionnelle ni d'une macro mais de simple logique!
Si vous pouvez me donner des suggestions pour l'améliorer!
enfin j'aimerais du coup pour la colonne K supprimer les contours grisâtre des colonnes mais uniquement pour cette partie, un conseil?
Merci d'avance!!!
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
Open Office 4.1.10 sous Windows 10