# Format des nombres

- Human documentation: [https://docs.univer.ai/fr-FR/guides/sheets/features/core/numfmt](https://docs.univer.ai/fr-FR/guides/sheets/features/core/numfmt)

- Agent Markdown: [https://docs.univer.ai/fr-FR/guides/sheets/features/core/numfmt.md](https://docs.univer.ai/fr-FR/guides/sheets/features/core/numfmt.md)

- Requested language: `fr-FR`

- Content language: `fr-FR`

- Documentation version: `1.2.0`

- Source: [sheets/features/core/numfmt.fr-FR.mdx](https://github.com/dream-num/documentation/blob/dev/content/guides/sheets/features/core/numfmt.fr-FR.mdx)

---

La fonctionnalité de format des nombres des feuilles de calcul permet de contrôler l’affichage des nombres. Elle permet de personnaliser leur format d’affichage, notamment le nombre de décimales, les séparateurs de milliers, les pourcentages, les symboles monétaires, etc. En définissant le format des nombres, les utilisateurs peuvent rendre les données plus faciles à lire et à comprendre.

L’action de devise de la barre d’outils utilise la propriété `region` d’Univer pour choisir le symbole et le format monétaires. Sans configuration explicite, `region` suit `locale` :

```typescript
const univer = new Univer({
  locale: LocaleType.FR_FR,
  region: LocaleType.DE_DE,
})
```

> [!WARNING: Attention]
> La syntaxe **DBNum** n’est pas prise en charge.



## Utilisation

Dans l’interface utilisateur, vous pouvez définir le format des nombres d’une cellule depuis la barre de menus. Vous pouvez également définir le champ [`s.n.pattern`](https://docs.univer.ai/fr-FR/guides/sheets/model/cell-data.md#number-format)[^number-format-value] dans l’objet de données de cellule [`ICellData`](https://docs.univer.ai/fr-FR/guides/sheets/model/cell-data.md).

```typescript
const data = {
  v: 123456.789,
  s: {
    n: {
      pattern: '#,##0.00',
    },
  },
}
```

**Par défaut, les textes commençant par 0 et les nombres pouvant être convertis en dates sont automatiquement convertis dans le format de nombre correspondant.**

Si vous ne souhaitez pas appliquer cette conversion automatique, utilisez l’une des méthodes suivantes :

1. Définissez le format des nombres de la cellule sur le format texte.

```typescript
import { DEFAULT_TEXT_FORMAT_EXCEL } from '@univerjs/core'

const data = {
  v: '012.0',
  s: {
    n: {
      pattern: DEFAULT_TEXT_FORMAT_EXCEL, // Text format
    },
  },
}
```

Vous pouvez aussi utiliser l’API Facade pour définir le format de la cellule :

```typescript
fRange.setNumberFormat(DEFAULT_TEXT_FORMAT_EXCEL)
```

2. Ajoutez une apostrophe simple `'` avant de saisir le nombre (cette opération est appelée [forçage du texte](https://docs.univer.ai/fr-FR/guides/sheets/model/cell-data.md#cell-type)).

## API Facade

### Importation

> [!INFO: Remarque sur le mode plugin]
> Seul le mode plugin nécessite d’importer manuellement le package Facade. Le mode prédéfini inclut déjà le package Facade correspondant ; aucune importation supplémentaire n’est donc nécessaire.

```typescript
import '@univerjs/sheets-numfmt/facade'
```

### Définir le format des nombres

Pour en savoir plus sur les paramètres, consultez : [https://support.microsoft.com/en-us/office/number-format-codes-5026bbd6-04bc-48cd-bf33-80f18b4eae68](https://support.microsoft.com/en-us/office/number-format-codes-5026bbd6-04bc-48cd-bf33-80f18b4eae68)

```typescript
const fWorkbook = univerAPI.getActiveWorkbook()
const fWorksheet = fWorkbook.getActiveSheet()

// Set the number format of the A1 cell to '#,##0.00'.
const fRange = fWorksheet.getRange('A1')
fRange.setValue(1234.567).setNumberFormat('#,##0.00')
fRange.getDisplayValue() // 1,234.57
```

```typescript
const fWorkbook = univerAPI.getActiveWorkbook()
const fWorksheet = fWorkbook.getActiveSheet()

// Set the number formats of the A1:B2 range.
const fRange = fWorksheet.getRange('A1:B2')
fRange.setValues([
  [1234.567, 0.1234],
  [45658, 0.9876],
]).setNumberFormats([
  ['#,##0.00', '0.00%'],
  ['yyyy-MM-DD', ''],
])
fRange.getDisplayValues() // [['1,234.57', '12.34%'], ['2025-01-01', 0.9876]]
```

### Obtenir le format des nombres

```typescript
const fWorkbook = univerAPI.getActiveWorkbook()
const fWorksheet = fWorkbook.getActiveSheet()

// Get the number format of the top-left cell of the A1:B2 range.
const fRange = fWorksheet.getRange('A1:B2')
fRange.getNumberFormat()
```

```typescript
const fWorkbook = univerAPI.getActiveWorkbook()
const fWorksheet = fWorkbook.getActiveSheet()

// Get the number formats of the A1:B2 range.
const fRange = fWorksheet.getRange('A1:B2')
fRange.getNumberFormats()
```

### Définir les paramètres régionaux du format des nombres

Vous pouvez utiliser la méthode [`FWorkbook.setNumfmtLocal(local)`](https://docs.univer.ai/fr-FR/reference/facade/workbook.md#setnumfmtlocal) pour définir les paramètres régionaux du format des nombres.

```typescript
const fWorkbook = univerAPI.getActiveWorkbook()
const fWorksheet = fWorkbook.getActiveSheet()
const fRange = fWorksheet.getRange('A1')
fRange.setValue(1234.567).setNumberFormat('#,##0.00')

// Set the locale en for number formatting.
fWorkbook.setNumfmtLocal('en')
fRange.getDisplayValue() // 1,234.57

// Set the locale de for number formatting.
fWorkbook.setNumfmtLocal('de')
fRange.getDisplayValue() // 1.234,57
```

## Désactiver l’alerte et le marqueur du format texte

Le plugin `UniverSheetsNumfmtPlugin` fournit les deux options de configuration `disableTextFormatAlert` et `disableTextFormatMark`, qui permettent de désactiver respectivement l’alerte et le marqueur du format texte des cellules.

Choisissez votre mode et ajoutez ces options à votre initialisation existante. Conservez les autres plugins et les paramètres de langue, de thème et de conteneur ; ne réenregistrez pas le même plugin.

#### Mode plugin

```typescript
import { UniverSheetsNumfmtPlugin } from '@univerjs/sheets-numfmt'

univer.registerPlugin(UniverSheetsNumfmtPlugin, {
  disableTextFormatAlert: true,
  disableTextFormatMark: true,
})
```

#### Mode prédéfini

```typescript
import { UniverSheetsCorePreset } from '@univerjs/preset-sheets-core'
import { createUniver } from '@univerjs/presets'

const { univerAPI } = createUniver({
  presets: [
    UniverSheetsCorePreset({
      disableTextFormatAlert: true,
      disableTextFormatMark: true,
    }),
  ],
})
```

[^number-format-value]: Le format numérique change l’affichage, pas la valeur stockée. Le format `0%` affiche `0.25` comme `25%`, mais les formules utilisent toujours `0.25`.

## Formats de date localisés

Le panneau de date utilise le `locale` courant d’Univer pour ses formats prédéfinis et aperçus. Les formats de date personnalisés existants restent sélectionnables. Changer de plage actualise le panneau pour refléter le format des cellules courantes.
