[Résolu] [Calc] Colorer des lignes selon une Date

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 !

[Résolu] [Calc] Colorer des lignes selon une Date

Messagepar calcul » 13 Août 2019 15:04

salutations,

J'ai un besoin très similaire à la macro du monsieur OOotremer971, mais je suis nouveau dans Basic, je ne peux pas adapter la macro à mon besoin, alors je viens vous demander s'il vous plaît aider .

J'ai une base de données dans libreoffice avec beaucoup de lignes et beaucoup de colonnes, je dois donc construire une macro pour colorer les colonnes "B", "C", "D" à "E", dans la même ligne que Trouver current Date of aujourd'hui, qui sera situé dans la colonne "M" .

mais je ne veux pas utiliser l'événement de feuille de calcul, je veux pouvoir appuyer sur un bouton quand je le veux, j'appuierai sur le bouton et la Macro colorera tous les intervalles des colonnes "B", "C", "D" en " Et "dans la même ligne que Trouver la Date actuelle du jour qui sera dans la colonne" M " .

La colonne "M" peut contenir plusieurs Dates of aujourd'hui. La macro doit donc rechercher toutes les Dates of aujourd'hui dans la colonne "M", puis colorier les plages de cellules des colonnes "B", "C", "D". "jusqu'à" E " dans la même ligne .

Merci d'avance pour votre aide à la construction de cette macro .

Vous trouverez ci-dessous un exemple de fichier sur la manière dont j'aimerais colorer les cellules .

câlins ami .
Pièces jointes
critères de couleur Date.ods
(13.98 Kio) Téléchargé 18 fois
Dernière édition par calcul le 16 Août 2019 19:54, édité 1 fois.
LibreOffice 5.4.4.2 et Windows 7
calcul
Membre OOrganisé
Membre OOrganisé
 
Message(s) : 88
Inscrit le : 04 Déc 2018 12:06

Re: [Calc] Colorer des lignes selon une Date

Messagepar touvenant » 16 Août 2019 18:54

Bonsoir,
Code : Tout sélectionner   AgrandirRéduire
REM  *****  BASIC  *****

Sub Main

Dim Doc As Object
Dim Sheet As Object
Dim Cell As Object
Dim CellValue
Dim today

today = date(Now()) 'récupère la partie date de la date actuelle, qui est composée de la date et de l'heure
'MsgBox(today)


Doc = StarDesktop.CurrentComponent 'Attribue le document actif à l'objet "Doc"
Sheet = Doc.Sheets(0) 'Attribue la feuille "Sheet(0)" de l'objet "Doc" à l'objet "Sheet" ; la numérotation commence à 0 donc 0 pour la première feuille

'Compter le nombre de lignes
'Count = 'je ne sais pas faire ça

for i= 0 to 10 'ici représente 11 lignes, 10 peut être remplacé par Count en récupérant le nombre de lignes utiles de la feuille
   Cell = Sheet.getCellByPosition(3,i) 'Attribue la cellule (3,i) de la feuille représentée par l'objet "Sheet" à l'objet "Cell" ; la numérotation commence à 0 donc (3,i) représente (D,1)...(D,11)
   CellValue = Cell.Value 'Value est une propriété de l'objet "Cell", on attribue la valeur de cette propriété à la variable "CellValue"
   if CellValue = today then 'On effectue la comparaison de la date courante avec le contenu de la cellule
      for j = 1 to 4 '...donc B à E
         Cell = Sheet.getCellByPosition(j,i)
         Cell.CellBackColor = RGB(255, 0, 0) 'colore la cellule en rouge
      next j
   endif
next i


End Sub
LibreOffice 6.2.2.2 obligatoire
Windows7 Pro SP1 x64 v6.1 obligatoire
touvenant
Membre lOOyal
Membre lOOyal
 
Message(s) : 33
Inscrit le : 23 Déc 2012 19:42

[Résolu] [Calc] Colorer des lignes selon une Date

Messagepar calcul » 16 Août 2019 19:51

sr. touvenant , a fonctionné parfaitement . :bravo: :bravo:

exactement ce que je cherchais , merci beaucoup mon ami . :super:

câlins . :)
LibreOffice 5.4.4.2 et Windows 7
calcul
Membre OOrganisé
Membre OOrganisé
 
Message(s) : 88
Inscrit le : 04 Déc 2018 12:06


Retour vers Macros et API

Qui est en ligne ?

Utilisateur(s) parcourant ce forum : Qwant [Bot] et 6 invité(s)