formateur informatique

Remplacer par expressions régulières dans Excel

Accueil  >  Bureautique  >  Excel  >  Excel Avancé  >  Remplacer par expressions régulières dans Excel
Livres à télécharger


Pour partager cette vidéo sur les réseaux sociaux ou sur un site, voici son url :


Inscription Newsletter    Abonner à Youtube    Vidéos astuces Instagram
Sujets que vous pourriez aussi aimer :


Présentation de la fonction RegEx.Remplacer

Dans les volets précédents, nous avons appris à appréhender la fonction Excel RegEx.Extraire pour isoler des informations précises à partir de chaînes de textes, grâce aux expressions régulières. Dans cette suite logique, nous abordons sa compagne, la fonction RegEx.Remplacer. Elle permet de remplacer des séquences remarquables par d'autres dans des chaînes de textes ou encore de reconditionner ces dernières.

Normaliser les codes de chiffres par les expressions régulières dans Excel

Sur l'exemple illustré par la capture, nous travaillons à partir de codes composés de 16 chiffres en première colonne d'un tableau. Grâce aux expressions régulières et à la fonction RegEx.Remplacer, nous les normalisons en seconde colonne pour les réunir par groupes de 4 chiffres, tous séparés les uns des autres par un tiret.

Classeur Excel à télécharger
Nous proposons d'appuyer la découverte sur un classeur Excel offrant ces codes à retravailler. Nous trouvons bien le tableau avec les codes à 16 chiffres en première colonne. Naturellement, la seconde colonne est encore vierge à ce stade.

Initier les remplacements
La fonction RegEx.Remplacer requiert trois paramètres obligatoires. Il s'agit tout d'abord de la cellule de texte à analyser, du motif pour déceler les séquences remarquables et de la séquence de remplacement.
  • Cliquer sur la première case vide pour sélectionner la cellule C4,
  • Taper le symbole égal (=) pour débuter la construction de la formule,
  • Inscrire la fonction de remplacement, suivie d'une parenthèse, soit : RegEx.Remplacer(,
  • Dès lors, désigner la première chaîne à analyser en cliquant sur sa cellule B4,
  • Puis, taper un point-virgule (;) pour passer dans l'argument du motif (pattern),
Les groupes de quatre
Dans ce motif, nous devons commencer par partir à la recherche de quatre caractères successifs pour les capturer et les espacer des autres avec un tiret.
  • Ouvrir un guillemet, puis créer le groupe suivant : (.{4}),
De cette manière, nous cherchons à capturer exactement 4 caractères consécutifs. Le point (.) représente n'importe quel caractère et ({4}) indique que l'on en veut précisément 4 d'affilée. Dans notre cas, comme il s'agit d'une succession de chiffres, nous aurions tout aussi bien pu inscrire la séquence suivante : (\d{4}), pour capturer un groupe de 4 chiffres consécutifs.

Vérifier la suite
Avant d'insérer un tiret de séparation, nous devons tout d'abord nous assurer qu'il reste au moins 4 caractères à la suite. Cette condition se vérifie grâce au point d'interrogation avec les expressions régulières.
  • Poursuivre la syntaxe comme suit : (?=.{4}),
C'est une condition. Comme nous l'avons dit, nous testons que les 4 caractères suivants existent avant d'insérer un tiret. Là encore, dans notre cas spécifique, nous aurions pu écrire la séquence suivante : (?=\d{4}). Mais nous le savons très bien, qui peut le plus, peut le moins.
  • Fermer le guillemet du motif,
  • Taper un point-virgule (;) pour passer dans la séquence de remplacement,
La séquence de remplacement
Grâce aux syntaxes des expressions régulières, nous pouvons faire référence au groupe de 4 caractères précédemment capturés, dans ce raisonnement récursif digne d'un développement de programmeur. C'est ainsi que nous allons pouvoir lui adjoindre un tiret en suffixe, en guise de séparation avec les potentiels autres groupes qui suivent.
  • Entre guillemets, inscrire la séquence suivante : "$1-",
Dans ce raisonnement récursif, pour le dernier groupe potentiellement capturé ($1), nous le séparons d'un potentiel suivant à l'aide d'un tiret (-).
  • Fermer la parenthèse de la fonction RegEx.Remplacer,
  • Valider la formule par le raccourci clavier CTRL + Entrée,
De cette manière, nous gardons active la cellule du résultat pour l'exploiter dans l'enchaînement.
  • Double cliquer sur la poignée de cette cellule,
Ainsi, nous répliquons la logique de la formule de remplacement sur la hauteur du tableau.

Séparer les groupes de chiffres par des tirets par formule Excel

Nous obtenons bien et comme par magie, les reconditionnements souhaités, grâce aux expressions régulières dans Excel. Nous avons bâti la syntaxe suivante :

=REGEX.REMPLACER(B4;"(.{4})(?=.{4})";"$1-")

Notez et comme nous l'avons notifié dans notre cas spécifique que nous aurions pu la remplacer par celle-ci, en raison de l'accumulation des chiffres :

=REGEX.REMPLACER(B4;"(\d{4})(?=\d{4})";"$1-")

 
Sur Facebook
Sur Youtube
Les livres
Contact
Mentions légales



Abonnement à la chaîne Youtube
Partager la formation
Partager sur Facebook
Partager sur Twitter
Partager sur LinkedIn