Tutoriels > Tutoriels & Astuces Excel > Fonctions & Formules > REPT() - Répéter des caractères un certain nombre de fois

REPT() - Répéter des caractères un certain nombre de fois

Publié par Mth le 26-04-2012 (31084 lectures)

La fonction REPT() sert à répéter un texte ou le contenu d'une cellule un certain nombre de fois.

 

Syntaxe:

 

REPT(texte;Nb fois)

  • texte représente le texte à répéter.
  • Nb fois est un nombre positif indiquant le nombre de répétitions.

 

Ainsi, REPT("X";3) renvoie le résultat XXX, ou si le contenu de la cellule A1 est le caractère X, REPT(A1;3) renvoie XXX.

 

 

Icone Info A noter: 

  • Si Nb fois est égal à 0 (zéro), la fonction REPT() renvoie un texte vide.
  • Si Nb fois n'est pas un nombre entier, il est tronqué. Par exemple REPT("X";2,5) renverra XX , normal, on ne peut pas afficher un demi caractère.
  • Si Nb fois est négatif, la fonction REPT() renvoie #VALEUR!.
  • Le résultat de la fonction REPT ne peut pas dépasser 32 767 caractères, sinon la fonction REPT renvoie #VALEUR!.
  • REPT() renvoie une valeur texte: par exemple, la formule =REPT(123;2) renvoie le texte 123123 et non pas le nombre 123123

 

 

Exemple

Trait Bleu

 

Dans cet exemple nous disposons dans la colonne C de codes qu'il faut compléter par zéro (0) afin que le code complet soit d'une longueur de 9 caractères:

 

Excel Fonction REPT()



la formule utilisée en colonne E est:

 

=REPT(0;9-NBCAR(C3))&C3

 

NBCAR(C3) indique le nombre de caractères contenus dans la cellule C3: ici NBCAR(C3) renvoie 6 et NBCAR(C4) renvoie 4.

voir sur ce lien l'article consacré à NBCAR()

 

Pour savoir combien nous devons insérer de zéro (0) pour obtenir au total une chaîne de 9 caractères, la formule est donc:

 

=9-NBCAR(C3)

 

 

Cette formule renvoie 3, ou 4 appliquée à la ligne du dessous, ceci signifie que nous allons demander à la fonction REPT() de répéter 3 fois zéro (0) pour la première ligne, 4 fois pour la deuxième.

 

La formule sera donc en C3 REPT(0;3) qui renvoie la chaîne de texte: 000

 

Il ne reste plus ensuite qu'à concaténer les deux chaînes avec nombre nombre de zéro (0) suivi du nombre inscrit en cellule C3:

 

=CONCATENER(REPT(0;9-NBCAR(C3));C3)

 

voir sur ce lien la concaténation de plusieurs chaînes de texte.

 

 

 

REPT() en remplacement de la fonction SI()

 

Prenons un exemple pour illustrer cette utilisation intéressante de la fonction REPT(): dans le tableau si dessous, nous sommes le 18 avril 2010, et nous voulons afficher "A relancer" en face des factures dont la date d'échéance est dépassée:

 

Excel Fonction REPT()

 

En cellule D3, nous pourrions utiliser cette formule:

=SI(C3<AUJOURDHUI();"A Relancer";"")

 

 

mais nous obtenons le même résultat avec la fonction REPT():

=REPT("A relancer";C3<AUJOURDHUI())

 

 

Explications:

 

Au niveau des formules, il faut savoir que VRAI=1, et FAUX=0.

 

Par conséquent, une formule comme =REPT("x";1) équivaut à =REPT("x";VRAI) et renvoie x.

Une formule =REPT("x";0) équivaut à =REPT("x";FAUX) et renvoie "" (vide)

 

Le test C3

 

Dans le premier cas, nous aurons donc "A relancer" écrit une fois dans la cellule D3, dans l'autre cas nous aurons un chaîne vide en D3.

 

 

 

REPT() pour élaborer un petit indicateur visuel:

 

L'astuce consiste à répéter un caractère un certain nombre de fois pour simuler une sorte de barre de progression, comme dans l'exemple ci-dessous:

 

Excel Fonction REPT() - Indicateur visuel

 

La formule en cellule D3 teste si la valeur de la cellule B3 est positive (pour ne pas renvoyer #VALEUR!)

 

Le caractère n en police Wingdings est un petit carré, il n'est pas répété autant que la valeur indiquée en B3 pour ne pas faire une barre trop longue, mais B3 divisé par 2 soit 5 fois.

 

Même principe en cellule C3, mais cette fois avec le caractère g en police Webdings.

 

 

 

Trait Bleu

 

Pour vous entraîner, retrouvez sous forme d'exercices corrigés les exemples ayant servi de base à cet article dans le fichier à télécharger:

 

Extrait du fichier:

Extrait du fichier d'exercices

 

Téléchargez le fichier d'exercices

 

… et bien sûr, à bientôt sur les forums si vous avez des questions …

 

Pour toutes vos questions ou si vous rencontrez des difficultés, n'hésitez pas à rejoindre nos Forums de Discussions !

 

Autres articles dans cette catégorie Publié le Vues
Rechercher une Fonction 28-05-2013 8488
T() - Tester et renvoyer du texte 02-07-2012 25978
EPURAGE() - Supprimer certains caractères indésirables 02-06-2012 73751
REMPLACER() - Echanger une chaîne de caractères par une autre 02-06-2012 25623
CTXT() - Convertir un nombre en texte 23-05-2012 72121
REPT() - Répéter des caractères un certain nombre de fois 26-04-2012 31085
L'Assistant Somme Conditionnelle 01-11-2011 15193
CELLULE() - Nom de l'onglet, du fichier ou du répertoire dans une cellule 03-10-2010 113864
EXACT() - Comparer deux chaînes de texte 26-04-2010 133827
Purgez les espaces inutiles ! 05-04-2010 181109
SUPPRESPACE() - Supprimer les espaces inutiles dans une cellule 05-04-2010 93717
STXT() - Extraire une chaîne de caractères au sein d'une autre 13-03-2010 325686
CHERCHE() TROUVE() - Retourne la position d'une chaîne de caractères 04-01-2010 171414
NBCAR() - Compter les caractères d'une chaîne de texte ou d'une plage de cellules 21-11-2009 38885
SUBSTITUE() - Remplacer une chaîne de texte par une autre 08-11-2009 188998
CAR() - CODE() : Utilisation des codes caractères 25-10-2009 58881
CONCATENER() - Assembler plusieurs chaînes de texte en une seule. 10-10-2009 39740
TEXTE() - Convertir une valeur numérique en texte formaté 29-09-2009 131355
DROITE() - GAUCHE() : Extraire les premiers ou derniers caractères d'une chaîne. 12-09-2009 356662
MAJUSCULE() - MINUSCULE() - NOMPROPRE(): Modifier la casse d'un texte 23-08-2009 11716
CNUM() - Convertir une chaîne en valeur numérique 19-08-2009 86362
DATEDIF() : Calculer la différence entre deux dates 26-07-2009 241919
Nommer une Plage Dynamique 06-12-2008 94482
Nommer une Plage de Cellules 05-12-2008 100851
Références Relatives & Absolues 05-12-2008 22020
Formule pour Nombres Premiers 29-08-2007 21779