Macros

    From The Document Foundation Wiki
    < Macros‎ | Calc


    Comment entrer une date dans une cellule ?

    Une date est un nombre de jours depuis la date origine[1]

    On pourrait donc être tenté d'utiliser la propriété .Value d'une cellule pour entrer une date par programme. Toutefois :

    • cela impose de savoir qu'au 21/04/2012 (par exemple), correspond le nombre 41020 avec la date origine par défaut,
    • une date entrée ainsi par programme ne serait pas formatée par défaut au format date.

    Utiliser la propriété .String de la cellule ne convient pas davantage car la date serait traitée comme un texte.

    La solution est de recourir à la propriété .FormulaLocal qui nous permet d'entrer la date au format local, c'est-à-dire au format utilisé dans le tableur dans la langue de l'utilisateur (ne fonctionnera donc pas dans un contexte international).

    L'exemple ci-dessous entre la date 21/04/2012 dans la cellule A1 :

    Option Explicit
    
    Sub LibOExemplesDate
    
    dim LibOClasseur as object
    dim LibOFeuille as object
    dim LibOCellule as object
    
    LibOClasseur = thiscomponent 
    LibOFeuille = LibOClasseur.sheets.getByName("Feuille1")
    LibOCellule = LibOFeuille.getCellRangeByName("A1")
    
    LibOCellule.formulaLocal = "21/04/2012"
    
    End Sub


    La propriété .FormulaLocal permet également d'entrer une formule dans la langue de l'utilisateur. Par exemple :

    LibOCellule.formulaLocal = "=AUJOURDHUI()"
    


    Pour lire une date contenue dans une cellule, nous utiliserons les différentes propriétés en fonction du besoin. Le tableau ci-dessous résume les cas de figure lorsque la cellule contient la date 21/04/2012 ou la formule AUJOURDHUI()[2] 


    Propriétés / Valeurs retournées
    Propriétés Contenu de la cellule
    21/04/2012 =AUJOURDHUI()[2]
    .String 21/04/2012 21/04/2012
    .Value 41020 41020
    .Formula 41020 = TODAY()
    .FormulaLocal 21/04/2012 =AUJOURDHUI()


    Notes :

    1. La date origine est définie par Outils ▸ Options ▸ LibreOffice Calc ▸ Calcul ▸ Date
    2. 2.0 2.1 Le résultat dans le tableau est donné pour la date du jour 21/04/2012, date de création de cette FAQ ; adapter cette valeur à la date courante.