[Résolu][Writer]style en plusieurs couleurs ou parties

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 !
Myosotis
NOOuvel adepte
NOOuvel adepte
Messages : 16
Inscription : 17 sept. 2017 07:32

[Résolu][Writer]style en plusieurs couleurs ou parties

Message par Myosotis »


La modération vous a écrit: Sujet déplacé

Bonjour,

Je crée un calendrier avec un tableau sous Writer (mode paysage), dans lequel je voudrais faire apparaître les vacances scolaires. Chaque cellule contient le numéro et le nom du jour.
Je voudrais que, dans le cas des vacances, seuls les chiffres (ou les 2 premiers caractères, c'est idem) s'affichent en rouge, un peu comme ça :
18 Mer
19 Jeu
20 Ven
21 Sam
22 Dim
23 Lun
24 Mar

Mais je n'arrive pas à appliquer un style sur seulement une partie de ma cellule de tableau.
Est-ce possible de faire cela avec un style, ou avec un formatage conditionnel ?
Dernière modification par micmac le 25 sept. 2023 07:45, modifié 3 fois.
Libre Office 24.2.3.2
Windows 10
Avatar de l’utilisateur
Dolev
SuppOOrter
SuppOOrter
Messages : 1146
Inscription : 19 août 2018 05:20

Re: style en plusieurs couleurs ou parties

Message par Dolev »

Bonjour

Passez plutôt par le tableur. C'est l'application la mieux adaptée pour faire un calendrier
Open Office 4.1.15 sous Windows 11
Avatar de l’utilisateur
jeanmimi
Grand Maître de l'OOffice
Grand Maître de l'OOffice
Messages : 17188
Inscription : 03 mars 2006 16:02
Localisation : Venise verte

Re: style en plusieurs couleurs ou parties

Message par jeanmimi »

Bonjour,
Que ce soit un tableau dans Texte, ou un calendrier dans Calc comme le suggère Dolev, le plus facile est d'avoir deux colonnes, une pour les dates, une pour les jours de la semaine.
Ensuite, il suffit d'appliquer un Style de caractères dans Texte ou un Format dans Calc avec une police de caractère colorée en rouge.
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
LibreOffice : Version : 25.2.0.3 (x64)(20 février 2025)
Adoptium JRE ou Oracle JRE (x64), Windows 10, Thunderbird, Firefox
Myosotis
NOOuvel adepte
NOOuvel adepte
Messages : 16
Inscription : 17 sept. 2017 07:32

Re: style en plusieurs couleurs ou parties

Message par Myosotis »

En effet, vous avez tous les deux raison.
- Calc est plus pratique pour générer un calendrier. Mais pour le mettre en forme pour qu'il soit plus beau, c'est bien plus simple dans writer.
- Je pourrais ajouter des colonnes, oui. Mais c'est plus dur pour équilibrer correctement les largeurs de colonne, et ça complique aussi le formatage à l'intérieur du tableau. C'est néanmoins la solution que je pense privilégier. Je n'ai pas l'impression que le formatage conditionnel existe dans writer.
Libre Office 24.2.3.2
Windows 10
Avatar de l’utilisateur
Dolev
SuppOOrter
SuppOOrter
Messages : 1146
Inscription : 19 août 2018 05:20

Re: style en plusieurs couleurs ou parties

Message par Dolev »

Myosotis a écrit : 23 sept. 2023 11:36 Je n'ai pas l'impression que le formatage conditionnel existe dans writer.
Non et c'est justement pour ça qu'il faut faire un calendrier avec Calc :)

Pouvez-vous joindre un exemple d'une mise en forme Writer que vous jugez compliquée à faire avec le tableur ?
Open Office 4.1.15 sous Windows 11
Myosotis
NOOuvel adepte
NOOuvel adepte
Messages : 16
Inscription : 17 sept. 2017 07:32

Re: [Résolu] style en plusieurs couleurs ou parties

Message par Myosotis »

Pour commencer, quand on fait un tableau dans writer, on dispose directement de styles pour agrémenter le tableau.

Dans Calc, le simple fait de masquer certains traits peut s'avérer compliqué.
Quand j'ai copié-collé les noms de mois de mon tableau vers Calc, il me les a mis dans une fonte énorme, que je ne pouvais pas changer.
C'est le genre de choses qui m'incite à utiliser writer dans la majorité des cas.

Ce n'est pas grave. J'ai finalement ajouté des colonnes à mon tableau et obtenu le résultat que je souhaitais. Je vous le montre
en pièce jointe.
J'ai inséré les numéros et noms de jours en une seule fois, grâce à une macro.
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
Libre Office 24.2.3.2
Windows 10
Avatar de l’utilisateur
micmac
RespOOnsable forum
RespOOnsable forum
Messages : 9835
Inscription : 28 août 2010 08:45

Re: [Résolu] style en plusieurs couleurs ou parties

Message par micmac »

Bonjour,
Dans votre signature il y a écrit : Apache OpenOffice 4.1.3
Pour information, cette version de OpenOffice est obsolète.
Si c'est une obligation ou un choix mentionnez-le dans votre signature.

Afin de profiter des dernières améliorations, nous vous invitons à être à jour de la dernière version officielle 4.1.14
Accès direct à votre signature pour la corriger.
Touche Ctrl de Windows = touche cmd⌘ sur Mac
OpenOffice > Outils > Options sur Windows = OpenOffice > Préférences sur macOS
Myosotis
NOOuvel adepte
NOOuvel adepte
Messages : 16
Inscription : 17 sept. 2017 07:32

Re: [Résolu] style en plusieurs couleurs ou parties

Message par Myosotis »

Au cas où ça pourrait servir à quelqu'un, voici la macro que j'ai réalisée pour remplir mon calendrier.
Au préalable, il faut créer un tableau de 18 colonnes et 32 lignes et les mettre en forme, en paysage et en fonte Verdana 10 :
- remplir les noms des mois
- ajuster la taille des colonnes : 0.6cm, 0.9cm, et 3.3cm pour chaque mois
- en bas de la 1ère colonne de chaque mois, mettre le numéro du dernier jour : 30 sur l'avant dernière ligne de la 1ère colonne septembre, 31 sur la dernière ligne de la 1ère colonne d'octobre, ...etc
- ajuster les variables dans la macro :
Ici, on commençait le calendrier en septembre, donc x=0.
On démarre au 1er septembre, donc ligne 1 : y=1 (y=0, ce sont les noms des mois)
Il est possible de ne remplir le calendrier qu'à partir du 10 du 4ème mois (du 5ème, en fait, vu que ça commence à 0), par exemple :
x = 4x3 et y=10
Indiquer le nom du jour. Ici, septembre commence un vendredi, donc : jour=4 (0=lundi, 6=dimanche)
J'ai d'autres paramètres liés à mes besoins pour ce calendrier, qui indique les lieux pour les prochaines soirées jeux de mon association.

Code : Tout sélectionner

REM  *****  BASIC  *****

REM USAGE :
REM - le tableau doit s'appeler calendrier.
REM - chaque mois comporte 3 colonnes (0.6cm, 0.9cm, 3.3cm)
REM - Il faut mettre le dernier numéro de jour en bas de chaque colonne : 30 ou 31 (28 ou 29 pour février)
REM - Il faut initialiser x, y et jour :
REM   x = 0 pour commencer au premier mois, x=3 pour le 2ème mois, x=3(n-1) pour le mois n
REM   y = 1 pour commencer au premier jour du mois
REM   jour = 0 si le premier jour est un lundi, 6 pour un dimanche
REM
REM Raccourci clavier : MAJ + F7
REM Style à mettre sur les soirée jeux : SoireeJeux
REM Style à mettre sur les vacances scolaires : Vacances
REM Vérifier que Contenu de tableau est toujours en fonte Verdana
sub Main
  rem cellule en cours
  Dim cellule, page As Object
  Dim txt As string
  dim document   as Object
  dim dispatcher as Object
  rem Premiere case :
  Dim x,y, jour As Integer
  Dim jours(0 To 6) As String
  rem Compter les lundis
  Dim nbLundi As Integer
  Dim finMois As Boolean
  
  jours = Array("Lun","Mar","Mer","Jeu","Ven","Sam","Dim")
  
  document   = ThisComponent.CurrentController.Frame
  dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")
  page = ThisComponent.TextTables.getByName("calendrier")
  
  REM DONNER LES COORDONNEES DE LA PREMIERE CASE A REMPLIR AVEC DES NOMS DE JOURS
  x=0 rem On commence en septembre (première colonne)
  y=1 rem Remplir à partir du 1er du mois
  jour = 4 rem septembre 2023 commence un vendredi
  nbLundi = 0 rem Compter les lundis chaque mois afin d'insérer la soirée jeux en salle des fêtes (2ème lundi)
  finMois = false rem S'active quand on remplit le dernier jour du mois (seul jour qui est rempli manuellement)
  
  rem Parcourir les 6 mois
  do while (x<18)
  
    rem Parcourir tout le mois
    do while (y< 32)

      rem la cellule contenant le numero du jour
      cellule = page.getCellByPosition(x,y)
      txt = cellule.String

      If (txt<>"") Then
        rem Ceci est le dernier jour du mois :il y a un nombre dans le texte. Il faut passer au mois suivant (x+1) dès qu'on aura traité ce dernier jour.
        finMois = true
      End if 
      
      rem Le mois n'est pas encore complet. Continuer de nommer les jours.

      rem Numero du jour (date)
      cellule.String = y

      rem la cellule contenant le nom du jour (semaine)
      cellule = page.getCellByPosition(x+1,y)
      cellule.String = jours(jour) 
      
      rem Compter les lundis
      If (jour=0) Then
        nbLundi = nbLundi+1
        If (nbLundi = 2) Then
          rem C'est le 2ème lundi du mois : soiree jeux salle M/ Koehl
          cellule = page.getCellByPosition(x+2,y)
          cellule.String = "Salle Koehl"
        End if
      End If 
      
      rem Est-on mardi ?
      If (jour=1) Then
          rem Oui => soiree jeux salle LCL
          cellule = page.getCellByPosition(x+2,y)
          cellule.String = "Salle LCL"
      End If 


      If finMois Then
        y = 32
      End If
      
      rem jour suivant
      y = y+1
      jour = (jour+1) Mod 7
        
    Loop 
    y = 1
    x = x+3
    nbLundi = 0
    finMois = false
    
  Loop

end Sub

Libre Office 24.2.3.2
Windows 10
Avatar de l’utilisateur
micmac
RespOOnsable forum
RespOOnsable forum
Messages : 9835
Inscription : 28 août 2010 08:45

Re: [Résolu] style en plusieurs couleurs ou parties

Message par micmac »

Ce sujet aurait dû être publié dans la section Macros et API.
Avec vos explications (styles) et un fichier en PDF, comment le lecteur pourrait-il deviner qu'il y est question de macros ?

Sujet déplacé et balisé [Writer]
Touche Ctrl de Windows = touche cmd⌘ sur Mac
OpenOffice > Outils > Options sur Windows = OpenOffice > Préférences sur macOS
Myosotis
NOOuvel adepte
NOOuvel adepte
Messages : 16
Inscription : 17 sept. 2017 07:32

Re: [Résolu][Writer]style en plusieurs couleurs ou parties

Message par Myosotis »

En fait, il n'est pas question de macros.
Je voulais juste aider, désolée.
Libre Office 24.2.3.2
Windows 10
Avatar de l’utilisateur
Dolev
SuppOOrter
SuppOOrter
Messages : 1146
Inscription : 19 août 2018 05:20

Re: [Résolu][Writer]style en plusieurs couleurs ou parties

Message par Dolev »

Le PDF que vous avez joint ne permet pas de travailler
Merci de fournir un ODT
Open Office 4.1.15 sous Windows 11
Myosotis
NOOuvel adepte
NOOuvel adepte
Messages : 16
Inscription : 17 sept. 2017 07:32

Re: [Résolu][Writer]style en plusieurs couleurs ou parties

Message par Myosotis »

C'était juste pour montrer le résultat. Le sujet est résolu.
Libre Office 24.2.3.2
Windows 10