# Moteur de formules avancé

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

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

- Requested language: `fr-FR`

- Content language: `fr-FR`

- Documentation version: `1.2.0`

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

---

#### Package metadata

```json
{
  "preset": [
    {
      "client": "@univerjs/preset-sheets-advanced",
      "locale": "@univerjs/preset-sheets-advanced/locales/fr-FR",
      "style": "@univerjs/preset-sheets-advanced/lib/index.css"
    }
  ],
  "plugins": [
    {
      "client": "@univerjs-pro/engine-formula",
      "facade": "@univerjs-pro/engine-formula/facade"
    }
  ],
  "license": true,
  "server": false
}
```

Le moteur de formules avancé optimise le moteur d’origine afin d’améliorer les performances de calcul et d’offrir davantage de fonctionnalités. Il prend en charge de nombreux calculs complexes, peut traiter de grands jeux de données et propose de meilleures capacités de gestion des erreurs et de débogage.

## Mode plugin

### Installation

#### npm

```bash
npm install @univerjs-pro/engine-formula
```

#### pnpm

```bash
pnpm add @univerjs-pro/engine-formula
```

#### yarn

```bash
yarn add @univerjs-pro/engine-formula
```

#### bun

```bash
bun add @univerjs-pro/engine-formula
```

### Utilisation

Pour utiliser le moteur de formules avancé, vous devez remplacer le `UniverFormulaEnginePlugin` d’origine par `UniverProFormulaEnginePlugin`.

```typescript
import { UniverProFormulaEnginePlugin } from '@univerjs-pro/engine-formula' // [!code ++]
import { UniverFormulaEnginePlugin } from '@univerjs/engine-formula' // [!code --]

univer.registerPlugin(UniverFormulaEnginePlugin) // [!code --]
univer.registerPlugin(UniverProFormulaEnginePlugin) // [!code ++]
```

Si vous disposez d’une licence commerciale Univer, consultez [Utiliser une licence côté client](https://docs.univer.ai/fr-FR/server/license.md#in-plugin-mode) pour la configuration.

## Mode prédéfini

Le moteur de formules avancé est inclus dans le preset `@univerjs/preset-sheets-advanced`.

### Installation

> [!NOTE]
> Le preset `UniverSheetsAdvancedPreset` du package `@univerjs/preset-sheets-advanced` dépend du preset `UniverSheetsDrawingPreset` lors de l’exécution. Veuillez d’abord installer `@univerjs/preset-sheets-drawing`.

#### npm

```bash
npm install @univerjs/preset-sheets-drawing @univerjs/preset-sheets-advanced
```

#### pnpm

```bash
pnpm add @univerjs/preset-sheets-drawing @univerjs/preset-sheets-advanced
```

#### yarn

```bash
yarn add @univerjs/preset-sheets-drawing @univerjs/preset-sheets-advanced
```

#### bun

```bash
bun add @univerjs/preset-sheets-drawing @univerjs/preset-sheets-advanced
```

### Utilisation

```typescript
import { UniverSheetsAdvancedPreset } from '@univerjs/preset-sheets-advanced' // [!code ++]
import UniverPresetSheetsAdvancedEnUS from '@univerjs/preset-sheets-advanced/locales/en-US' // [!code ++]
import { UniverSheetsCorePreset } from '@univerjs/preset-sheets-core'
import UniverPresetSheetsCoreEnUS from '@univerjs/preset-sheets-core/locales/en-US'
import { UniverSheetsDrawingPreset } from '@univerjs/preset-sheets-drawing' // [!code ++]
import UniverPresetSheetsDrawingEnUS from '@univerjs/preset-sheets-drawing/locales/en-US' // [!code ++]
import { createUniver, LocaleType, mergeLocales } from '@univerjs/presets'

import '@univerjs/preset-sheets-core/lib/index.css'
import '@univerjs/preset-sheets-drawing/lib/index.css' // [!code ++]
import '@univerjs/preset-sheets-advanced/lib/index.css' // [!code ++]

const { univerAPI } = createUniver({
  locale: LocaleType.EN_US,
  locales: {
    [LocaleType.EN_US]: mergeLocales(
      UniverPresetSheetsCoreEnUS,
      UniverPresetSheetsDrawingEnUS, // [!code ++]
      UniverPresetSheetsAdvancedEnUS, // [!code ++]
    ),
  },
  presets: [
    UniverSheetsCorePreset(),
    UniverSheetsDrawingPreset(), // [!code ++]
    UniverSheetsAdvancedPreset(), // [!code ++]
  ],
})
```

Si vous disposez d’une licence commerciale Univer, consultez [Utiliser une licence côté client](https://docs.univer.ai/fr-FR/server/license.md#in-preset-mode) pour la configuration.
