REPT() - Répéter des caractères un certain nombre de fois
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.
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
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:
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:
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:
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.
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:
… et bien sûr, à bientôt sur les forums si vous avez des questions …