Monsieur Excel
Pour tout savoir faire sur Excel !

26 juin 2019

Concat() et Joindre.Texte()

Depuis des années, nous avions dans Excel une fonction dont l’utilité était pour le moins douteuse, la fonction Concatener(). En effet =concatener(B1;C1) est équivalent à =B1&C1. Pourquoi faire simple quand on peut faire compliqué ?

Nous avons maintenant, avec Excel 2019 et Office 365 une fonction qui remplace Concatener() tout en enrichissant ses fonctionnalités de façon notable, la fonction Concat(). Plus, en guise de prime, une toute nouvelle fonction – elle aussi dans le domaine de la gestion de chaînes de caractères – TextJoin().

Les fonctions Concatener() et Concat()

Dans l’exemple de la copie d’écran ci-dessous, nous avons entré les formules dans la colonne A et reproduit le texte de ces formules en colonne B. Comme le montrent clairement les cellules B1 et B2, il semble clair que l’utilisation de la fonction Concatener ne semble présenter aucun avantage par rapport au simple « & ».

La nouvelle fonction Concat() ne fait rient de plus, comme on peut le voir en ligne 3. On peut se demander quel est l’intérêt, à part l’économie de 4 caractères, de remplacer une fonction inutile par une autre fonction tout aussi inutile…

Syntaxe de la fonction Joindre.Texte()

La fonction Joindre.Texte(), en revanche, représente à la fois une réelle innovation et un apport utile.

La syntaxe est : Joindre.Texte(délimiteur;ignorer_si_vide;texte1;...)

Quand ignorer_si_vide est égal à 1 ou VRAI, on ignore les cellules vides.

La chaîne de caractères résultant ne peut pas dépasser 32 767 caractères. Au-delà, une erreur #VALEUR! est renvoyée.

Pour obtenir le même résultat avec cette nouvelle fonction qu’en A1:A3, il faut entrer en A4 la formule :
=joindre.texte(" ";0;C1:D1;":";E1)


Certes, ce n’est pas plus court que les formules précédentes, mais cette fonction ouvre de nouvelles possibilités dont nous verrons une illustration dans le prochain article.

2 Commentaire(s):

  • Ce qui aurait été vraiment intéressant et vraiment innovant, c'est la fonction inverse de la concaténation, c'est-à-dire le découpage, paramétré par un caractère de découpe et avec un résultat bien entendu sous forme matricielle : la fonction Split de VBA en quelque sorte ! ;))
    Dans Excel 2022 ou 2025 peut-être...

    By Anonymous cduigou, sur 1:49 PM  

  • Apparemment (je n'ai pas la version 2019, mais c'est ce que dit l'aide Office Support, ici https://support.office.com/en-us/article/concat-function-9b1a9a3f-94ff-41af-9736-694cbd6b4ca2) la nouvelle fonction Concat accepte en arguments des "string, or array of strings, such as a range of cells"
    Autrement dit on peut (ENFIN!!!) concaténer en une seule fois une plage de cellules.

    Exemple donné: "=CONCAT(B:B, C:C)" qui renvoie une seule chaîne avec la concaténation de toutes les valeurs des colonnes B et C.

    By Anonymous Philippe M, sur 11:34 AM  

Enregistrer un commentaire

<< Accueil