Qu'est-ce que la fonction REPT ?
REPT (REPEAT en anglais) te sert quand tu veux un repère visuel directement dans une cellule, sans insérer de graphique ni un objet qui se décale à chaque tri ou filtre. Tout reste en texte pur, ce qui la rend redoutable pour transformer un chiffre brut en signal qu'on lit d'un coup d'œil.
Concrètement, tu t'en sers pour afficher des étoiles de priorité dans un tableau de prospects, construire des indicateurs visuels dans un rapport qu'on imprime ou qu'on envoie par email, créer de l'alignement dynamique avec NBCAR, ou styliser des titres encadrés de lignes. Fini les copier-coller répétitifs.

Comprendre chaque paramètre de la fonction REPT
REPT prend deux arguments dans cet ordre : d'abord le texte à répéter, ensuite le nombre de fois. Les deux sont obligatoires, donc rien à oublier ici. Le vrai point d'attention, c'est nombre_fois : un décimal est arrondi vers le bas (3.9 devient 3), et si tu vises plus de 32 767 caractères au total, REPT renvoie #VALEUR!.
texte
: le texte à répéterIl peut s'agir d'un caractère unique comme "*", d'une chaîne de plusieurs caractères comme "ABC", d'une référence de cellule, ou de caractères spéciaux (espaces, tirets, symboles Unicode comme "█" ou "═"). La chaîne entière est répétée d'un bloc.
nombre_fois
: le nombre de fois que tu veux répéter le texteCe doit être un nombre positif ou zéro. Si tu utilises un nombre décimal, Excel l'arrondit automatiquement vers le bas : 3.9 est traité comme 3. Tu peux référencer une cellule ou utiliser une formule pour rendre le nombre dynamique.
Si le résultat dépasse 32 767 caractères (limite d'une cellule Excel), REPT renvoie l'erreur #VALEUR!.

Exemples pratiques pas à pas
Comment créer un graphique en barres avec la fonction REPT
Tu envoies le point hebdo de l'équipe par email lundi matin, et tu sais très bien que personne n'ouvrira la pièce jointe. Tes vendeurs sont listés avec leur région, leur objectif et un score sur 10, et tu veux que le niveau de chacun se voie directement dans le tableau, sans insérer le moindre graphique. La fonction REPT répète un trait vertical autant de fois que le score, et la colonne Jauge devient un graphique en barres lisible d'un coup.
- 1Dans une cellule, écris
=REPT(. - 2En 1er argument : écris le trait vertical à répéter,
"|", sans oublier les guillemets qui le désignent comme du texte. C'est lui qui formera chaque cran de la barre. - 3En 2ᵉ argument : clique sur la cellule du score sur 10,
D2. Marie affiche 8, la fonction REPT pose donc 8 traits. - 4Ferme la parenthèse et appuie sur Entrée, puis recopie la formule vers le bas pour dessiner toute la colonne.
=REPT("|"; D2)D2. Marie affiche 8, sa cellule reçoit donc 8 traits, tandis que Lucas qui plafonne à 4 n'en reçoit que 4. Recopiée vers le bas, la colonne Jauge dessine un graphique en barres entièrement fait de texte, qui survit à un copier-coller dans un email.Comment afficher une jauge de longueur fixe avec la fonction REPT
Le même tableau passe en réunion et cette fois on te demande qui est proche du but. Avec des barres de longueurs libres, rien ne montre où s'arrête le maximum, et un score de 8 ressemble à un score de 9. Tu veux une jauge qui fasse toujours la même largeur, où la partie remplie et la partie restante se lisent d'un coup. Deux fonctions REPT collées bout à bout te donnent exactement ça.
- 1Dans une cellule, écris
=REPT(pour la première jauge, puis :- aEn 1er argument : écris le bloc plein à répéter,
"█". C'est le motif qui matérialise la partie déjà acquise de la jauge. - bEn 2ᵉ argument : clique sur la cellule du score,
B2. Marie a 8, la fonction pose donc 8 blocs pleins.
- aEn 1er argument : écris le bloc plein à répéter,
- 2Écris
)puis colle la seconde jauge,&REPT("▒"; 10-B2), qui comble le reste avec des blocs clairs. Sa longueur vaut la largeur visée moins les blocs déjà posés,10-B2, si bien que la barre fait toujours 10 caractères. - 3Appuie sur Entrée pour valider. Les deux parenthèses se sont refermées au fil de la saisie, une par jauge, et la barre complète s'affiche d'un seul tenant.
=REPT("█"; B2)&REPT("▒"; 10-B2)Comment aligner du texte à largeur fixe avec les fonctions REPT et NBCAR
Le livret de formation part à l'impression demain et il lui manque encore son sommaire. Tu as les titres de chapitres dans une colonne et leur page dans une autre, et tu veux la ligne complète, avec les points qui courent du titre jusqu'au numéro comme dans un vrai livre. La fonction REPT sait poser ces points, à condition de savoir combien il en faut : c'est la fonction NBCAR qui le lui apprend, en mesurant chaque titre.
- 1Dans une cellule, écris
=puis clique sur le titre du chapitre,A2, et complète par&. C'est la partie gauche de la ligne, celle qui ne se calcule pas. - 2Écris
REPT(juste après l'esperluette, puis :- aEn 1er argument : écris le point à répéter,
".". C'est le caractère qui va combler l'espace entre le titre et le numéro de page. - bEn 2ᵉ argument : saisis la largeur visée moins la place du titre,
30-NBCAR(A2). La fonction NBCAR compte les caractères deA2, et « Introduction » en fait 12, ce qui réclame donc 18 points.
- aEn 1er argument : écris le point à répéter,
- 3Ferme la parenthèse de REPT, puis complète par
&B2pour ajouter le numéro de page, et appuie sur Entrée. Comme le titre et ses points totalisent toujours 30 caractères, tous les numéros se rangent au même endroit.
=A2&REPT("."; 30-NBCAR(A2))&B2
Astuces avancées avec REPT
Masquer les valeurs zéro sans laisser de cellule vide
Quand ta valeur source peut être zéro, =REPT("■";A1) affiche une cellule vide, ce qui peut ressembler à une formule manquante. Entoure-la d'un SI : =SI(A1=0;"";REPT("■";A1)) renvoie explicitement une chaîne vide et laisse la cellule propre sans ambiguïté.
Ton tableau de bord reste lisible même quand des données sont à zéro.
Aligner du texte à longueur fixe avec NBCAR
Pour aligner des libellés courts dans une police à chasse fixe, calcule le complément avec NBCAR : =A1&REPT(" ";20-NBCAR(A1)) ajoute autant d'espaces qu'il en faut pour atteindre 20 caractères.
C'est utile pour préparer des exports texte ou des rapports où l'alignement visuel compte.
Protéger une formule dynamique contre les valeurs négatives
Si nombre_fois vient d'un calcul, il peut devenir négatif (par exemple 10-C1 quand C1 vaut 12). REPT renvoie alors une chaîne vide sans erreur, mais l'incohérence visuelle est silencieuse. Force un minimum à zéro avec MAX : =REPT("▒";MAX(0;10-C1)) garantit que la barre ne déborde jamais.
Une seule ligne, et ton tableau de bord reste cohérent quelles que soient les données.

Les erreurs fréquentes avec la fonction REPT
Erreur #VALEUR! : résultat trop long
REPT renvoie #VALEUR! quand le résultat dépasse 32 767 caractères, la limite d'une cellule Excel. Par exemple, =REPT("TEXTE";10000) tente de produire 50 000 caractères.
Solution : Réduis le nombre de répétitions ou raccourcis le texte. Avant de lancer, vérifie que NBCAR(texte) × nombre_fois ≤ 32 767. Pour des barres de progression, une longueur de 10 à 20 caractères suffit largement.
La barre de progression dépasse sa longueur prévue
Si nombre_fois peut dépasser la borne maximale (par exemple 10 - C1 quand C1 vaut -2), REPT répète le caractère 12 fois au lieu de 10 et la barre sort du cadre.
Solution : Protège le calcul avec MAX : =REPT("█";MAX(0;C1))&REPT("▒";MAX(0;10-C1)) empêche toute valeur négative d'être transmise à REPT.
Les caractères spéciaux s'affichent comme des carrés ou sont coupés
Certains symboles Unicode (comme les blocs █ ▓ ▒ ░) ne sont pas supportés par toutes les polices ou peuvent être tronqués si la colonne est trop étroite.
Solution : Élargis la colonne et choisis une police compatible Unicode : Arial, Calibri ou Segoe UI rendent bien les caractères de blocs. Teste quelques symboles en cellule isolée avant d'appliquer à tout le tableau.

REPT vs CONCAT vs TEXTE vs SUBSTITUE
| Critère | REPT | CONCAT | TEXTE | SUBSTITUE |
|---|---|---|---|---|
| Usage principal | Répéter un motif | Assembler des textes différents | Formater des nombres en texte | Remplacer du texte existant |
| Créer des visualisations | Parfait (barres, étoiles) | Possible manuellement | Non | Non |
| Longueur dynamique | Oui, par formule | Fixe ou combinée | Non | Non |
| Cas d'usage typique | Barres de progression, séparateurs, indentation | Assembler prénom + nom, construire une URL | Formater une date ou un montant | Nettoyer ou transformer une chaîne |
Questions fréquentes
REPT peut répéter du texte jusqu'à ce que le résultat atteigne 32 767 caractères, qui est la limite maximale d'une cellule Excel. Si ce seuil est dépassé, Excel affiche une erreur #VALEUR!. Pour des barres de progression ou des séparateurs visuels, une longueur de 10 à 30 caractères est largement suffisante.
Oui, REPT répète la chaîne entière. Par exemple, =REPT("ABC";3) donne "ABCABCABC". La chaîne peut être aussi longue que tu veux, du moment que le résultat total ne dépasse pas 32 767 caractères.
REPT retourne une chaîne vide "" si le nombre de répétitions est 0. Aucune erreur n'est levée. C'est pratique pour créer des répétitions conditionnelles : =REPT("★";SI(A1>10;5;0)) n'affiche des étoiles que si la valeur dépasse 10.
Si le nombre est négatif, REPT retourne une chaîne vide sans générer d'erreur. Si le nombre n'est pas entier, Excel l'arrondit vers le bas : =REPT("X";3.9) donne "XXX" (3 répétitions). Pense à protéger ta formule avec MAX si la valeur peut être négative.
Combine REPT avec deux caractères de remplissage. Par exemple, =REPT("█";A1)&REPT("▒";10-A1) crée une barre de 10 caractères où A1 contient une valeur entre 0 et 10. Les blocs pleins représentent la progression, les gris le reste.
Combine REPT avec NBCAR pour atteindre une longueur fixe : =A1&REPT(" ";20-NBCAR(A1)) ajoute des espaces jusqu'à 20 caractères. Utile pour des exports texte ou des rapports formatés à largeur fixe.
Le résultat est toujours du texte, même si tu répètes un chiffre. =REPT("1";3) renvoie "111" comme texte, pas le nombre 111. Si tu as besoin d'un nombre, entoure le résultat de CNUM().
Pour aller plus loin
Continue sur ta lancée après la fonction REPT : la leçon associée, un modèle prêt à l'emploi et le guide pour progresser.
Tout voir



