Excel supprime les zéros initiaux parce qu'il lit 00742 comme le nombre 742. Pour afficher les zéros, donnez aux cellules le format de nombre personnalisé 00000 ; pour transformer le nombre en texte avec ses zéros, utilisez =TEXTE(A2;"00000"). Le tableau affiche les formules sous leur forme anglaise, avec des virgules (TEXTE s'appelle TEXT en anglais), mais vous pouvez aussi les taper comme dans un Excel français, avec des points-virgules.
| A | B | C | |
|---|---|---|---|
| 1 | Number | TEXT(A2,"00000") | Format 00000 |
| 2 | 742 | 00742 | 00742 |
| 3 | 15 | 00015 | 00015 |
| 4 | 31415 | 31415 | 31415 |
Les deux colonnes se ressemblent, mais elles sont différentes : la colonne B contient du texte, la colonne C contient toujours les nombres 742, 15 et 31415 et se contente de les afficher avec cinq chiffres. Chaque 0 du code est un chiffre toujours affiché, donc 00000 signifie "au moins cinq chiffres".
Garder les zéros pendant la saisie
Trois façons de taper un code qui commence par zéro et de le garder :
- Format personnalisé. Sélectionnez les cellules, appuyez sur Ctrl+1 (Cmd+1 sur un Mac), choisissez Personnalisée et tapez
00000dans Type. Les cellules restent des nombres, donc SOMME et le tri fonctionnent. Utilisez-le pour des nombres de longueur fixe, comme les codes postaux et les matricules. - Apostrophe. Tapez
'00742. L'apostrophe ne s'affiche pas ; elle indique à Excel d'enregistrer la saisie comme du texte. - Format Texte. Sélectionnez les cellules, puis Accueil > Format de nombre > Texte, et tapez. Tout ce qui est tapé ensuite est enregistré comme du texte, exactement comme vous l'avez tapé.
| A | B | C | |
|---|---|---|---|
| 1 | Typed | Length | Is it text? |
| 2 | 00742 | 5 | TRUE |
| 3 | 742 | 3 | FALSE |
=NBCAR(A2)A2 a été tapé sous la forme '00742 et garde ses cinq caractères. A3 a été tapé 00742 sans apostrophe, il est donc devenu le nombre 742 et n'a que 3 chiffres. Utilisez du texte (apostrophe ou format Texte) pour les valeurs qui sont des codes plutôt que des quantités : numéros de téléphone, numéros de compte, références de pièces, tout ce qui dépasse 15 chiffres (Excel ne garde que 15 chiffres significatifs d'un nombre, donc un numéro de carte de 16 chiffres tapé comme nombre voit son dernier chiffre remplacé par 0).
Ajouter des zéros initiaux avec une formule
TEXTE complète un nombre jusqu'à un nombre fixe de chiffres. Pour une valeur qui est déjà du texte, ou qui peut contenir des lettres, placez des zéros devant et gardez les derniers caractères avec DROITE :
| A | B | C | |
|---|---|---|---|
| 1 | Value | TEXT(A2,"000000") | RIGHT("000000"&A2,6) |
| 2 | 42 | 000042 | 000042 |
| 3 | 1234 | 001234 | 001234 |
| 4 | A17 | A17 | 000A17 |
TEXTE a besoin d'un nombre : elle laisse le texte A17 inchangé en B4. La version avec DROITE fonctionne sur les deux, car elle place six zéros devant n'importe quelle valeur puis garde les six derniers caractères. DROITE coupe une valeur qui fait déjà plus de six caractères. =REPT("0";MAX(0;6-NBCAR(A2)))&A2 n'ajoute que les zéros manquants et laisse entière une valeur plus longue.
| A | B | |
|---|---|---|
| 1 | Number | Employee ID |
| 2 | 4217 |
À vous : Les matricules ont 6 chiffres. En B2, renvoyez le nombre de A2 sous forme de texte avec des zéros initiaux, comme 004217.
Des zéros à l'intérieur d'un code plus long
TEXTE permet aussi de placer un nombre complété dans un code ou une phrase. Assembler directement le nombre fait perdre les zéros, même quand la cellule les affiche grâce à un format personnalisé :
| A | B | C | |
|---|---|---|---|
| 1 | Order | With TEXT | Without TEXT |
| 2 | 0007 | ORD-0007 | ORD-7 |
| 3 | 0315 | ORD-0315 | ORD-315 |
| A | B | |
|---|---|---|
| 1 | Number | Invoice |
| 2 | 87 |
À vous : En B2, construisez le code de facture INV- suivi du nombre de A2 complété à 5 chiffres, comme INV-00087.
Supprimer les zéros initiaux, et le piège du CSV
Pour retransformer en nombre un texte qui commence par des zéros, utilisez =CNUM(A2) (plus de détails sur la conversion de texte en nombre). Pour un nombre affiché avec un format 00000, remettez le format Standard.
La façon la plus courante de perdre les zéros est d'ouvrir un fichier CSV : Excel convertit 00742 en 742 à l'ouverture, et enregistrer le fichier écrit 742. Pour les garder :
- Ouvrez un classeur vide, puis Données > À partir d'un fichier texte/CSV et choisissez le fichier.
- Cliquez sur Transformer les données, sélectionnez la colonne et réglez Type de données sur Texte.
- Cliquez sur Fermer et charger.
Dans Microsoft 365, Fichier > Options > Données > Conversion automatique des données contient un réglage "Supprimer les zéros non significatifs et convertir en nombre" ; décochez-le et Excel garde les zéros quand vous tapez ou ouvrez des fichiers CSV. Dans Google Sheets, mettez la colonne au format Texte brut avant de taper ou de coller les codes.
Questions fréquentes
Pourquoi Excel supprime-t-il les zéros devant un nombre ?
Excel lit 00742 comme le nombre 742, et un nombre n'a pas de zéros initiaux. Mettez les cellules au format Texte avant la saisie, tapez d'abord une apostrophe ('00742), ou gardez le nombre et donnez-lui le format personnalisé 00000.
Comment ajouter des zéros devant un nombre dans Excel avec une formule ?
=TEXTE(A2;"00000") complète un nombre à 5 chiffres, donc 742 devient 00742. Pour un texte qui peut contenir des lettres, utilisez =DROITE("00000"&A2;5).
Comment garder les zéros devant un nombre en ouvrant un fichier CSV ?
Ne double-cliquez pas sur le CSV. Utilisez Données > À partir d'un fichier texte/CSV, cliquez sur Transformer les données, donnez à la colonne le type Texte, puis chargez-la. Dans Microsoft 365, vous pouvez aussi désactiver Fichier > Options > Données > Conversion automatique des données > Supprimer les zéros non significatifs.
Comment supprimer les zéros devant un nombre dans Excel ?
Si la cellule contient du texte comme '00742, =CNUM(A2) renvoie le nombre 742. S'il s'agit d'un nombre au format 00000, remettez le format Standard.