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 (40750 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 10083
T() - Tester et renvoyer du texte 02-07-2012 30728
EPURAGE() - Supprimer certains caractères indésirables 02-06-2012 85586
REMPLACER() - Echanger une chaîne de caractères par une autre 02-06-2012 29865
CTXT() - Convertir un nombre en texte 23-05-2012 83227
REPT() - Répéter des caractères un certain nombre de fois 26-04-2012 40751
L'Assistant Somme Conditionnelle 01-11-2011 16535
CELLULE() - Nom de l'onglet, du fichier ou du répertoire dans une cellule 03-10-2010 157015
EXACT() - Comparer deux chaînes de texte 26-04-2010 164350
Purgez les espaces inutiles ! 05-04-2010 209436
SUPPRESPACE() - Supprimer les espaces inutiles dans une cellule 05-04-2010 108600
STXT() - Extraire une chaîne de caractères au sein d'une autre 13-03-2010 395473
CHERCHE() TROUVE() - Retourne la position d'une chaîne de caractères 04-01-2010 185373
NBCAR() - Compter les caractères d'une chaîne de texte ou d'une plage de cellules 21-11-2009 45635
SUBSTITUE() - Remplacer une chaîne de texte par une autre 08-11-2009 209524
CAR() - CODE() : Utilisation des codes caractères 25-10-2009 76423
CONCATENER() - Assembler plusieurs chaînes de texte en une seule. 10-10-2009 43950
TEXTE() - Convertir une valeur numérique en texte formaté 29-09-2009 138982
DROITE() - GAUCHE() : Extraire les premiers ou derniers caractères d'une chaîne. 12-09-2009 478283
MAJUSCULE() - MINUSCULE() - NOMPROPRE(): Modifier la casse d'un texte 23-08-2009 13478
CNUM() - Convertir une chaîne en valeur numérique 19-08-2009 102784
DATEDIF() : Calculer la différence entre deux dates 26-07-2009 358696
Nommer une Plage Dynamique 06-12-2008 99886
Nommer une Plage de Cellules 05-12-2008 104163
Références Relatives & Absolues 05-12-2008 24140
Formule pour Nombres Premiers 29-08-2007 26629