[Résolu][Calc] tableaux identiques

Discussions et questions sur tout ce qui concerne la programmation tous langages et tous modules confondus.

Modérateur : Vilains modOOs

Règles du forum
:alerte: Balisage obligatoire dans cette section !
Aidez-nous à vous aider au mieux en balisant correctement votre question : reportez-vous sur les règles de cette section avant de poster !
bebertdu01
Membre OOrganisé
Membre OOrganisé
Messages : 56
Inscription : 09 janv. 2021 18:44

[Résolu][Calc] tableaux identiques

Message par bebertdu01 »

Bonjour,

Dans un classeur qui me sert de planning générale entre disponibilté de locaux et planning salariés, je souhaiterais pouvoir afficher en permanence certain de mes tableaux sur plusieurs feuilles de mon classeur.
En effet, j'ai besoin d'afficher en permanence un certain tableau pour facilter ma planification. La collage "lier" ne conserve pas tout notement les formatages...
IDENTIQUE.ods
Dans le classeur exemple ci-dessus il y a 4 feuilles.
Chacune de ses feuilles à un tableau qui est commun à toutes ses feuilles. C'est le tableau que je souhaite afficher sur chaque feuille.

Ce que je souhaiterais faire c'est:

-Conserver absolument tout, nottement le formatages des cellules
-Dans la mesure du possible, si un seul tableu est modifié, les 3 autres le sont aussi de la meme manière

Pourriez-vous m'aider SVP?
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
Dernière modification par bebertdu01 le 10 avr. 2021 09:34, modifié 1 fois.
libreoffice 7.5.8, windows 10 x64
zeguedon
ManitOOu
ManitOOu
Messages : 3031
Inscription : 02 juil. 2014 17:25

Re: [Calc] tableaux identiques

Message par zeguedon »

Bonjour,
Tu n'a pas besoin de macro pour faire ça. Tu nommes le tableau par Ctrl+F3 ou menu Insertion>Plage ou expression nommée puis tu enregistres. Ensuite, menu Feuille>Lien vers des données externes, tu cliques sur parcourir pour sélectionner le fichier puis sur le nom de la plage que tu viens de nommer. Cela rapatrie le contenu et le formatage.@+
Comment baliser [Résolu] ?
AOO
LibreOffice
Sous Linux
bebertdu01
Membre OOrganisé
Membre OOrganisé
Messages : 56
Inscription : 09 janv. 2021 18:44

Re: [Calc] tableaux identiques

Message par bebertdu01 »

Bonjour,

Cela fonctionne t'il sur un meme document ?
car cela ne detecte pas de plage
Untitled.png
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
libreoffice 7.5.8, windows 10 x64
bebertdu01
Membre OOrganisé
Membre OOrganisé
Messages : 56
Inscription : 09 janv. 2021 18:44

Re: [Calc] tableaux identiques

Message par bebertdu01 »

Le lien est enfin activé... erreur de manipulation.

Cependant je constate que losque j'insère un formatage jaune pour indiquer une periode de temps dans le tableau, le formatge n'est pas répercuté dans les autres tableaux.
libreoffice 7.5.8, windows 10 x64
Avatar de l’utilisateur
Dolev
InconditiOOnnel
InconditiOOnnel
Messages : 948
Inscription : 19 août 2018 05:20

Re: [Calc] tableaux identiques

Message par Dolev »

Bonsoir,
bebertdu01 a écrit :Chacune de ses feuilles à un tableau qui est commun à toutes ses feuilles.
Pas tout compris.
Il suffit de dupliquer la feuille : menu Edition > Feuille > Déplacer/Copier
Open Office 4.1.15 sous Windows 11
bebertdu01
Membre OOrganisé
Membre OOrganisé
Messages : 56
Inscription : 09 janv. 2021 18:44

Re: [Calc] tableaux identiques

Message par bebertdu01 »

Bonsoir,

L'idéé est d'avoir en permanence la vue de ce tableau (qui son propre a mon organisation) car il contient des données qui servent à mettre à jour d'autre tableaux situés sur ses meme feuilles (qui ne sont pas dans le fichier exemple).

Le problème c'est que sur ce dit tableau, les valeurs changent au gré des jours qui passent.

Mon problème, c'est que je souhaiterais que lorsque je modifie une valeur de ce planning, que les 3 autres soient aussi modifiées de manière identiques car je passe mon temps a naviguer entre ses feuilles.
libreoffice 7.5.8, windows 10 x64
zeguedon
ManitOOu
ManitOOu
Messages : 3031
Inscription : 02 juil. 2014 17:25

Re: [Calc] tableaux identiques

Message par zeguedon »

bebertdu01 a écrit :L'idéé est d'avoir en permanence la vue de ce tableau
Dans ce cas il suffit d'ouvrir deux fenêtres soit superposées soit juxtaposées en fonction de la taille de tes tableaux, non ? @+
bebertdu01.png
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
Comment baliser [Résolu] ?
AOO
LibreOffice
Sous Linux
bebertdu01
Membre OOrganisé
Membre OOrganisé
Messages : 56
Inscription : 09 janv. 2021 18:44

Re: [Calc] tableaux identiques

Message par bebertdu01 »

Ce n'est pas vraiment ce que je recherche car peu fonctionnel pour moi.
libreoffice 7.5.8, windows 10 x64
zeguedon
ManitOOu
ManitOOu
Messages : 3031
Inscription : 02 juil. 2014 17:25

Re: [Calc] tableaux identiques

Message par zeguedon »

Bonjour,

Tu peux aussi tenter d’insérer ton tableau comme objet OLE menu Insertion>Objet>Objet OLE, tu sélectionnes le fichier qui contient ton tableau, puis tu coches lier. Je crois qu'il faut que le tableau soit sur la première feuille du fichier.
@+
Comment baliser [Résolu] ?
AOO
LibreOffice
Sous Linux
Jeff
GourOOu
GourOOu
Messages : 9629
Inscription : 18 sept. 2006 09:40
Localisation : France

Re: [Calc] tableaux identiques

Message par Jeff »

Bonjour à tous,

Peut-être voir aussi du côté des cadres flottants...
 Ajout : Apparemment réservés aux fichiers externes 
A +
Avatar de l’utilisateur
Dolev
InconditiOOnnel
InconditiOOnnel
Messages : 948
Inscription : 19 août 2018 05:20

Re: [Calc] tableaux identiques

Message par Dolev »

bebertdu01 a écrit :Dans un classeur qui me sert de planning générale entre disponibilté de locaux et planning salariés
Pour moi, c'est Base qui serait l'outil pour faire ça mais certainement pas le tableur.
Open Office 4.1.15 sous Windows 11
zeguedon
ManitOOu
ManitOOu
Messages : 3031
Inscription : 02 juil. 2014 17:25

Re: [Calc] tableaux identiques

Message par zeguedon »

Bonjour,
Jeff a écrit :Bonjour à tous,

Peut-être voir aussi du côté des cadres flottants...
 Ajout : Apparemment réservés aux fichiers externes 
Non non. Je viens de faire le test sous AOO puis sous LO, ça marche nickel et c'est très léger comparativement à l'objet OLE (même si c'en est un quelque part). Probablement dû au fait que le tableau inséré dans le cadre est en lecture seule :
CadreFlottant.png
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
Comment baliser [Résolu] ?
AOO
LibreOffice
Sous Linux
markotxe
Membre OOrganisé
Membre OOrganisé
Messages : 83
Inscription : 09 févr. 2018 09:55

Re: [Calc] tableaux identiques

Message par markotxe »

Bonjour bebertdu01, bonjour le forum,
Peut-être une autre alternative aux solutions proposées plus haut. (Sans tableau flottant).
Actualise automatiquement les tableaux de chaque feuille en respectant les formats.
Cf: Fichier joint (tiré de votre exemple)

Descriptif:
- À chaque feuille est associée un évènement lié à une macro
(Clic droit sur l'onglet de la feuille > évenement de la feuille > Selectionner "À changer le contenu..." > Macro > IDENTIQUE.Test 2.0.Ods > Standard >Test>Identique).
- La macro détecte tous les changements qui ont lieu dans le tableau.
Et réalise, à l'instant, un simple copier coller sur les autres feuilles. (concervant au passage les formats, formules etc...).

Voici la macro:

Code : Tout sélectionner

Sub Identique(oEVt)
    oDoc      = ThisComponent
    oFls      = oDoc.Sheets
    oFO       = ThisComponent.getCurrentController.getActiveSheet()
    For i = 0 to 3 
        oFlW      = oFls.getByIndex(i)    
        Selection = oDoc.CurrentSelection
'___Cellule de destination____________________________________________________________________________
        oCellDest  = oFlW.getCellRangeByName("B2")
        oRangeDate = oFlW.getCellRangeByName("G7:J7") 
'___Détection de l'evenement + recherche + copié/collé vers les autres feuilles_______________________   
        If Selection.supportsService("com.sun.star.table.Cell") then 'Si le contenu d'une seule cellule change.
           If oEvt.CellAddress.Column > 5 And oEvt.CellAddress.Column < 58 _  
           And oEvt.CellAddress.Row > 5 and oEvt.CellAddress.Row < 30 Then
              oZone_a_Copier = oFO.getCellRangeByName("B2:BF49")
              oRangeDate.Merge( False ) 'Scinde les cellules de la date avant le copier/coller        
              oFlW.copyRange(oCellDest.CellAddress, oZone_a_Copier.RangeAddress)  
              oRangeDate.Merge( True )  'Recombine les cellules de la date une fois le copier/coller effectué                 
           End if
        End if
    Next i      
End Sub
Nota: Pour pouvoir réaliser un copier/coller, il ne faut pas avoir de cellules combinées, j'ai donc scindé les cellules qui l'étaient. En retouchant un peu l'illusion reste parfaite. Sauf pour la date qui ne veut vraiment pas jouer le jeu. :mrgreen:
J'ai donc rajouté dans la macro

Code : Tout sélectionner

oRangeDate.Merge( false) et (True) 
pour permettre à la date de rentrer dans l'espace qui lui été destiné.

Voilà j'espère que vous n'avez pas jeté l'éponge et que cette solution pourra vous satisfaire.

COoordialement

Markotxe
 Ajout : Bonjour, ci-joint un fichier "Identique.Test 2.0",un peu plus fin...
Se concentre exclusivement sur la détection des changements qui auront lieu sur le tableau et la cellule "date". (Alors qu'avant, le processus se faisait sur une zone plus large).
Les retouches sur la macro étant mineures, inutile de la rajouter.
Bonne journée à tous! 
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
LibO 7.5.2 et Open Office 4.1.14
Window11
(Obligation de version).
bebertdu01
Membre OOrganisé
Membre OOrganisé
Messages : 56
Inscription : 09 janv. 2021 18:44

Re: [Calc] tableaux identiques

Message par bebertdu01 »

Bonsoir,

Merci pour le temps que vous m'accordez.
Après teste du fichier, le collage s'effectue lorsque un cararactère manuscrit est inseré dans le tableau.
La solution que vous proposez se rapproche de ce que je souhaiterais, mais moi ce serait lorsque que change le formatage de la cellule (ex: je place simplement plusiueurs cellules en jaune pour indiquer des vacances).
Par forcément quand il y a un caractère à l'intérieur.
libreoffice 7.5.8, windows 10 x64
zeguedon
ManitOOu
ManitOOu
Messages : 3031
Inscription : 02 juil. 2014 17:25

Re: [Calc] tableaux identiques

Message par zeguedon »

Bonsoir,

En complément, je pense qu'il n'est pas utile de copier systématiquement la totalité du tableau sur les trois feuilles lorsqu'une seule cellule a été modifiée. Copier seulement la cellule modifiée sur l'ensemble des trois tableaux me paraît plus rationnel.
Cellule que l'on peut récupérer par : Selection = oDoc.CurrentSelection il reste à récupérer ses coordonnées pour savoir quelle cellule modifier sur les autres tableaux :idea: .
bebertdu01 a écrit :lorsque que change le formatage de la cellule (ex: je place simplement plusiueurs cellules en jaune pour indiquer des vacances)
Pour détecter un changement de style c'est presque mission impossible. Il faut ruser en utilisant la fonction ALEA() quelque part dans une cellule de la feuille où doit-être détecter le changement de style (cela peut être la cellule AMJ1048576 c'est rare qu'elle soit occupée :) ). Pourquoi ALEA() ? parce qu'elle est recalculée à la moindre modification du fichier et notamment le changement de couleur d'une cellule. Il ne reste plus qu'à connecter la macro à l’événement de la feuille Formules calculées
@+
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
Comment baliser [Résolu] ?
AOO
LibreOffice
Sous Linux
markotxe
Membre OOrganisé
Membre OOrganisé
Messages : 83
Inscription : 09 févr. 2018 09:55

Re: [Calc] tableaux identiques

Message par markotxe »

Bonjour BebertDu01,
Ouah Zeguedon! Excellent! Je vais investir cette direction (Je saurais ré-utilser le concept... :D ).
De mon côté, je me disais qu'avec un évenement "double clic" qui colorirait les cellules en jaunes avant de recopier les tableaux sur les autres pages pourrait intêresser BébertDu01.
Ça permettait de détecter les changements de valeurs ou les changements de couleur.
(Cf le fichier joint).
Mais au vu de ce que vous proposez, ça fait vraiment pale figure.

Merci Zeguedon, encore un truc nouveau que j'apprends!
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
LibO 7.5.2 et Open Office 4.1.14
Window11
(Obligation de version).
bebertdu01
Membre OOrganisé
Membre OOrganisé
Messages : 56
Inscription : 09 janv. 2021 18:44

Re: [Calc] tableaux identiques

Message par bebertdu01 »

Super !
Avec tous cela je vais pouvoir faire quelquechose d'interressant !

Encore merci. :bravo:
libreoffice 7.5.8, windows 10 x64