Formats de date et de nombre

Ce document explique comment définir de nouveaux formats de date et de nombre, que vous pouvez inclure dans votre requête API.

Les formats de date, d'heure et de nombre vous permettent de contrôler comment vos données s'affichent dans une feuille. Google Sheets propose des formats courants parmi lesquels choisir, mais vous pouvez également définir vos propres formats.

Dans l'interface utilisateur de Sheets, vous appliquez des formats de nombre et de date aux cellules à l'aide du menu Format > Nombre. Dans l'API Google Sheets, vous définissez ces formats à l'aide d'un appel de méthode spreadsheets.batchUpdate pour envoyer un UpdateCellsRequest ou un RepeatCellRequest. Dans la requête, vous configurez l'objet NumberFormat en spécifiant un NumberFormatType (tel que NUMBER, CURRENCY, PERCENT, DATE ou TIME) et une chaîne pattern facultative. Si vous omettez pattern, Sheets utilise le format par défaut pour le type spécifié en fonction de la locale de la feuille de calcul (par exemple, $1,000.12 pour CURRENCY dans en_US).

L'exemple Définir un format de date/heure ou décimal personnalisé pour une plage montre comment définir un format à l'aide de l'API Sheets. Notez que l'affichage réel du format dépend de la locale de la feuille de calcul. Ce document suppose que locale est en_US. Vous pouvez déterminer le locale d'une feuille de calcul en lisant l'objet SpreadsheetProperties à l'aide de la méthode spreadsheets.get sur la ressource spreadsheets.

Pour obtenir d'autres exemples, consultez Mise en forme de base et Mise en forme conditionnelle.

À propos des valeurs de date et d'heure

Comme la plupart des autres applications de feuille de calcul, Sheets traite les valeurs de date et d'heure comme des valeurs décimales. Cela vous permet d'effectuer des opérations arithmétiques sur ces valeurs dans des formules, afin d'incrémenter des jours ou des semaines, d'ajouter ou de soustraire deux dates et heures, et d'effectuer d'autres opérations similaires.

Sheets utilise une forme de date d'epoch couramment utilisée dans les feuilles de calcul. La partie entière de la valeur (à gauche de la virgule) compte les jours écoulés depuis le 30 décembre 1899. La partie fractionnaire (à droite de la virgule) compte le temps comme une fraction d'un jour. Par exemple, le 1er janvier 1900 à midi correspond à 2.5, 2, car il s'agit de deux jours après le 30 décembre 1899, et 0.5, car midi correspond à une demi-journée. Le 1er février 1900 à 15h correspond à 33.625.

Sheets traite correctement l'année 1900 comme une année commune, et non comme une année bissextile. Les numéros de série de date et d'heure ne stockent pas de décalage de fuseau horaire. Ils sont basés sur l'élément timeZone de la feuille de calcul, que vous pouvez lire à partir de l'objet SpreadsheetProperties à l'aide de la méthode spreadsheets.get.

Modèles de format de date et d'heure

Un modèle de format de date et d'heure est une chaîne de sous-chaînes de jetons que Sheets remplace par les éléments de date et d'heure correspondants (comme le mois ou l'heure) lors de l'analyse.

Jetons de format de date et d'heure

Le tableau suivant définit les sous-chaînes de jeton que vous pouvez utiliser dans un modèle de format de date et d'heure. Un caractère + indique que le caractère précédent peut apparaître une ou plusieurs fois et correspondre au modèle. Sheets traite les caractères non listés dans ce tableau comme des littéraux et les affiche sans modification.

Jeton Description
h Heure de la journée. Bascule entre le format 12 heures et le format 24 heures selon qu'un indicateur AM ou PM est présent dans la chaîne.
hh+ Identique à la précédente, mais avec un 0 au début pour les chiffres de 1 à 9.
m Si le jeton non littéral précédent était "heures" ou si le suivant est "secondes", il représente les minutes de l'heure (sans zéro au début). Sinon, il représente le mois de l'année sous forme de nombre (sans zéro initial).
M Mois de l'année sans zéro devant. Utilisez ce jeton pour indiquer expressément un mois, et non une minute, dans votre format.
mm Identique à m, mais avec un 0 au début dans les deux cas.
MM Mois de l'année avec un zéro devant. Utilisez ce jeton pour indiquer expressément un mois, et non une minute, dans votre format.
mmm Abréviation à trois lettres du mois (par exemple, "Feb").
mmmm Nom complet du mois. mmmmmm+ correspond également à ce schéma.
mmmmm Première lettre du mois (par exemple, "J" pour juin).
s Secondes dans la minute sans zéro devant.
ss Secondes dans la minute, avec un zéro devant.
[h+] Nombre d'heures écoulées dans une durée. Le nombre de lettres indique le nombre minimal de chiffres (ajoute des zéros au début).
[m+] Nombre de minutes écoulées dans une durée. Le nombre de lettres indique le nombre minimal de chiffres (ajoute des zéros au début).
[s+] Nombre de secondes écoulées dans une durée. Le nombre de lettres indique le nombre minimal de chiffres (ajoute des zéros au début).
d Jour du mois, sans zéro initial pour les nombres inférieurs à 10.
dd Jour du mois, avec un 0 devant pour les nombres inférieurs à 10.
ddd Jour de la semaine, abréviation à trois lettres (par exemple, "Mon").
dddd+ Jour de la semaine, nom complet.
y Année (2 chiffres)
yy
yyy Année (4 chiffres)
yyyy+
a/p Affiche "a" pour le matin et "p" pour l'après-midi. Modifie également les heures au format 12 heures. Si la lettre du jeton est en majuscule, le résultat l'est également.
am/pm Comme ci-dessus, mais affiche "AM" ou "PM" à la place, toujours en majuscules.
0 Dixièmes de seconde. Vous pouvez augmenter la précision à deux chiffres avec 00 ou à trois chiffres (millisecondes) avec 000.
\ Traite le caractère suivant comme une valeur littérale et non comme une signification particulière qu'il pourrait avoir.
"text" Affiche le texte entre guillemets en tant que littéral.

Exemples de formats de date et d'heure

Pour la date et l'heure Tuesday, April 5, 2016, 4:08:53.528 PM, le tableau suivant présente des exemples de formats et le rendu de date et d'heure correspondant. La deuxième section du tableau présente des exemples de formats de temps écoulé pour un temps écoulé de 3 hours, 13 minutes, 41.255 seconds :

Modèles de date et d'heure Tuesday, April 5, 2016, 4:08:53.528 PM
h:mm:ss.00 a/p 16:08:53.53
hh:mm A/P".M." 16h08
yyyy-mm-dd 2016-04-05
mmmm d \[dddd\] 5 avril [mardi]
h PM, ddd mmm dd Mar. 5 avr., 16h
dddd, m/d/yy at h:mm Mardi 5/4/16 à 16:08
Modèles de temps écoulé 3 hours, 13 minutes, 41.255 seconds
[hh] 03
[mmmm] 0193
[ss] 11621

Modèles de format numérique

Un modèle de format de nombre est une chaîne de sous-chaînes de jetons que Sheets remplace par les représentations numériques correspondantes lors de l'analyse. Un modèle de format numérique peut comporter jusqu'à quatre sections, séparées par des points-virgules, qui définissent les formats distincts utilisés pour les nombres positifs, les nombres négatifs, zéro et le texte (dans cet ordre) :

[POSITIVE FORMAT];[NEGATIVE FORMAT];[ZERO FORMAT];[TEXT FORMAT]

Vous n'avez pas besoin d'inclure les quatre sections dans un format. Si vous n'incluez qu'une seule section, Sheets utilise ce format pour toutes les valeurs. Si vous utilisez deux sections, le premier format est appliqué aux nombres nuls et positifs, et le second aux nombres négatifs. L'utilisation de trois sections définit des formats distincts pour les nombres positifs, négatifs et nuls. Exemple :

[NUMBER FORMAT]
[POSITIVE/ZERO FORMAT];[NEGATIVE FORMAT]
[POSITIVE FORMAT];[NEGATIVE FORMAT];[ZERO FORMAT]

Toutefois, s'il y a deux sections ou plus et que la dernière section est un format de texte, Sheets traite cette section comme le format de texte et les autres se comportent comme s'il y avait une section de moins. Ainsi, en incluant un format de texte final, il est possible de définir des formats tels que :

[POSITIVE/ZERO FORMAT];[NEGATIVE FORMAT];[TEXT FORMAT]
[NUMBER FORMAT];[TEXT FORMAT]

L'analyse d'un format en sections se produit avant les autres analyses. Il est donc possible d'inclure un format de date ou d'heure dans l'une des sections (bien que cela soit d'une utilité limitée).

Jetons de format numérique

Le tableau suivant définit les sous-chaînes de jeton que vous pouvez utiliser dans une section de format pour définir la manière de représenter les valeurs de cette section.

Jeton Description
0 Représente un chiffre dans le nombre. Si le chiffre est un 0 non significatif, il est affiché sous la forme 0. Par exemple, le format de nombre 00.0 affiche le nombre 3 sous la forme "03.0".
# Représente un chiffre dans le nombre. Si le chiffre est un 0 non significatif, il n'est pas affiché. Par exemple, le format de nombre ##0 affiche le nombre 12 sous la forme "12".
? Représente un chiffre dans le nombre. Si le chiffre est un 0 non significatif, il est affiché sous forme d'espace. Cette option est souvent utilisée pour aligner le séparateur décimal dans une colonne lorsque des polices à largeur fixe sont utilisées. Par exemple, le format de nombre ???.??? affiche le nombre 12,4 sous la forme "12.4 ".
. Le premier point représente le séparateur décimal du nombre. Les points suivants sont affichés sous forme de littéraux. Si vous incluez un séparateur décimal dans le format, il est toujours affiché, même pour les nombres entiers. Par exemple, #0.# affiche le chiffre 3 sous la forme "3.".
% S'affiche sous forme de littéral, mais entraîne également la multiplication des nombres existants par 100 avant d'être affichés pour rendre les pourcentages plus lisibles. Par exemple, le format de nombre #% affiche le nombre 0,25 sous la forme "25%".
, S'il apparaît entre deux caractères numériques (0, # ou ?), il affiche le nombre entier avec des séparateurs de groupes (regroupement par milliers). S'il suit les caractères numériques, il multiplie les chiffres par mille par virgule (par exemple, le format #0.0,, affiche le nombre 12 200 000 sous la forme 12.2).
E- Affiche le nombre au format scientifique, avec la mise en forme à gauche de E utilisée pour la partie non exponentielle et la mise en forme à droite de E utilisée pour la partie exponentielle. E+ affiche un signe + pour les exposants positifs. E- n'affiche un signe que pour les exposants négatifs. Si des minuscules sont utilisées, la sortie e est également en minuscules. Par exemple, le format de nombre ##0.00#E+## affiche le nombre 0,0000001 sous la forme "100.00E-9".
E+
e-
e+
/ S'il apparaît entre deux caractères numériques (0, # ou ?), il traite ces groupes de chiffres comme un format fractionnaire. Par exemple, le format de nombre 0 #/# affiche le nombre 23,25 sous la forme 23 1/4. Le dénominateur peut également être un entier littéral, auquel cas il applique cet entier comme dénominateur. Le format numérique 0 #/8 affiche le nombre 23,25 sous la forme 23 2/8. La partie fractionnaire n'est pas affichée si le numérateur devient 0. Le nombre 23,1 avec le format de nombre 0 #/3 s'affiche sous la forme 23 (car 0,1 est arrondi à 0/3). / n'est pas compatible avec le format scientifique ni avec un format contenant un séparateur décimal.
* Inclus pour assurer la compatibilité avec les formats de nombres Microsoft Excel. Sheets ignore ce jeton.
_ Ignore le caractère suivant et affiche un espace. Utilisez ce jeton pour aligner les formats de nombres où les parenthèses entourent la valeur négative.
\ Traite le caractère suivant comme une valeur littérale et non comme une signification particulière qu'il pourrait avoir. Par exemple, le format de nombre \#0 affiche le nombre 10 sous la forme "#10".
"text" Affiche le texte entre guillemets en tant que littéral.
@ Si la cellule contient du texte, elle insère le texte brut de la cellule. Non compatible avec les autres caractères spéciaux et ne s'affiche pas pour les valeurs numériques (qui s'affichent au format général).
$ - + ( ) : space Sheets traite ces caractères et les symboles monétaires courants (tels que $, €, £ et ¥) comme des littéraux et les affiche sans les modifier.

Instructions meta

De plus, chacune des sections de format peut comporter des méta-instructions facultatives, entourées de caractères [], qui précèdent le format et fournissent des instructions supplémentaires :

Instruction Description
[condition] Remplace la comparaison positive, négative ou nulle par défaut de la section par une autre expression conditionnelle. Par exemple, [<100]"Low";[>1000]"High";000 affiche le mot "Low" pour les valeurs inférieures à 100, "High" pour les valeurs supérieures à 1 000 et un nombre à trois chiffres (avec des zéros au début) pour les valeurs intermédiaires. Vous ne pouvez appliquer des conditions qu'aux deux premiers sous-formats. Si un nombre correspond à plusieurs sous-formats, Sheets utilise la première correspondance. S'il existe un troisième format, Sheets l'utilise pour"tout le reste". Sinon, si un nombre ne correspond à aucun des deux formats, Sheets affiche des caractères "#" sur toute la largeur de la cellule. S'il existe, le quatrième format est toujours utilisé pour le texte.
[Color] or [Color#] Toute valeur affichée par ce sous-format apparaît avec la couleur de texte indiquée. Les valeurs valides pour Color sont Black, Blue, Cyan, Green, Magenta, Red, White ou Yellow. Les valeurs valides pour "#" dans Color# sont comprises entre 1 et 56. Les couleurs du format numérique remplacent toutes les couleurs saisies par l'utilisateur dans la cellule, mais pas celles définies par la mise en forme conditionnelle. Cette palette de couleurs affiche une liste de couleurs correspondant à chaque nombre. Elles sont basées sur la propriété ColorIndex dans Microsoft Excel.
[$currency] Affiche le symbole ou le code de la devise spécifiée sous forme de littéral (par exemple, [$€]#,##0.00 ou [$CAD]#,##0.00). Si vous incluez un code de paramètre régional facultatif après un trait d'union (par exemple, [$CAD-1009]), Sheets l'ignore.

Exemples de formats de nombre

Le tableau suivant présente quelques exemples de formats et le rendu du nombre formaté correspondant :

Nombre Schéma Valeur formatée
12345.125 ####.# 12345.1
12,34 000.0000 012,3400
12 #.0# 12,0
5,125 # ???/??? 5 1/8
12 000 #,### 12 000
1234.56
-1234.56
$#,##0.00;($#,##0.00) 1 234,56 €
(1 234,56 €)
1230000 0.0,,"M" 1,2 M
1234500000 0.00e+00 1.23e+09
123114.15115
MyText
###0.000;"TEXT: "_(@_) 123114.151
TEXT: MyText
1234
-1234
0
MyText
[Blue]#,##0;[Red]#,##0;[Green]0.0;[Magenta]_(@_) 1,234
1,234
0.0
MyText
1005
32
527
[>1000]"HIGH";[Color43][<=200]"LOW";0000 ÉLEVÉE
FAIBLE
0527