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 (10111 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 3128
T() - Tester et renvoyer du texte 02-07-2012 10648
EPURAGE() - Supprimer certains caractères indésirables 02-06-2012 23364
REMPLACER() - Echanger une chaîne de caractères par une autre 02-06-2012 10057
CTXT() - Convertir un nombre en texte 23-05-2012 34686
REPT() - Répéter des caractères un certain nombre de fois 26-04-2012 10112
L'Assistant Somme Conditionnelle 01-11-2011 7718
CELLULE() - Nom de l'onglet, du fichier ou du répertoire dans une cellule 03-10-2010 27593
EXACT() - Comparer deux chaînes de texte 26-04-2010 44311
Purgez les espaces inutiles ! 05-04-2010 62897
SUPPRESPACE() - Supprimer les espaces inutiles dans une cellule 05-04-2010 30974
STXT() - Extraire une chaîne de caractères au sein d'une autre 13-03-2010 73396
CHERCHE() TROUVE() - Retourne la position d'une chaîne de caractères 04-01-2010 67677
NBCAR() - Compter les caractères d'une chaîne de texte ou d'une plage de cellules 21-11-2009 17728
SUBSTITUE() - Remplacer une chaîne de texte par une autre 08-11-2009 73797
CAR() - CODE() : Utilisation des codes caractères 25-10-2009 18103
CONCATENER() - Assembler plusieurs chaînes de texte en une seule. 10-10-2009 18586
TEXTE() - Convertir une valeur numérique en texte formaté 29-09-2009 55311
DROITE() - GAUCHE() : Extraire les premiers ou derniers caractères d'une chaîne. 12-09-2009 88607
MAJUSCULE() - MINUSCULE() - NOMPROPRE(): Modifier la casse d'un texte 23-08-2009 6434
CNUM() - Convertir une chaîne en valeur numérique 19-08-2009 30739
DATEDIF() : Calculer la différence entre deux dates 26-07-2009 61293
Nommer une Plage Dynamique 06-12-2008 43587
Nommer une Plage de Cellules 05-12-2008 57750
Références Relatives & Absolues 05-12-2008 13287
Formule pour Nombres Premiers 29-08-2007 12189