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 (40953 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 10117
T() - Tester et renvoyer du texte 02-07-2012 30819
EPURAGE() - Supprimer certains caractères indésirables 02-06-2012 85827
REMPLACER() - Echanger une chaîne de caractères par une autre 02-06-2012 29960
CTXT() - Convertir un nombre en texte 23-05-2012 83635
REPT() - Répéter des caractères un certain nombre de fois 26-04-2012 40954
L'Assistant Somme Conditionnelle 01-11-2011 16609
CELLULE() - Nom de l'onglet, du fichier ou du répertoire dans une cellule 03-10-2010 157828
EXACT() - Comparer deux chaînes de texte 26-04-2010 165715
Purgez les espaces inutiles ! 05-04-2010 209705
SUPPRESPACE() - Supprimer les espaces inutiles dans une cellule 05-04-2010 108808
STXT() - Extraire une chaîne de caractères au sein d'une autre 13-03-2010 396217
CHERCHE() TROUVE() - Retourne la position d'une chaîne de caractères 04-01-2010 185787
NBCAR() - Compter les caractères d'une chaîne de texte ou d'une plage de cellules 21-11-2009 45732
SUBSTITUE() - Remplacer une chaîne de texte par une autre 08-11-2009 209767
CAR() - CODE() : Utilisation des codes caractères 25-10-2009 76778
CONCATENER() - Assembler plusieurs chaînes de texte en une seule. 10-10-2009 44103
TEXTE() - Convertir une valeur numérique en texte formaté 29-09-2009 139215
DROITE() - GAUCHE() : Extraire les premiers ou derniers caractères d'une chaîne. 12-09-2009 480237
MAJUSCULE() - MINUSCULE() - NOMPROPRE(): Modifier la casse d'un texte 23-08-2009 13524
CNUM() - Convertir une chaîne en valeur numérique 19-08-2009 102960
DATEDIF() : Calculer la différence entre deux dates 26-07-2009 360926
Nommer une Plage Dynamique 06-12-2008 100068
Nommer une Plage de Cellules 05-12-2008 104234
Références Relatives & Absolues 05-12-2008 24208
Formule pour Nombres Premiers 29-08-2007 26715