Pour partager cette vidéo sur les réseaux sociaux ou sur un site, voici son url :
Sujets que vous pourriez aussi aimer :Supprimer les zéros en trop
Dans cette dernière étape sur la découverte des possibilités nouvellement offertes par les
expressions régulières dans
Excel, nous allons voir comment supprimer tous les zéros en préfixe de codes, grâce à une formule triviale.

C'est ce qu'illustre le résultat finalisé présenté par la capture. Dans une première colonne d'un tableau, des
codes numériques sont livrés avec un
nombre variable de zéros en préfixes. En deuxième colonne, nous normalisons ces codes en
supprimant tous ces zéros en débuts de chaînes, grâce aux
expressions régulières. Nous démontrons tout leur intérêt en exploitant la
fonction Substitue en troisième colonne (
=SUBSTITUE(B4;"0";"")) pour faire de même. Mais naturellement, ce sont tous les zéros qui sont supprimés, y compris ceux en milieux de chaînes et ce n'est pas ce que nous souhaitons.
Classeur Excel à télécharger
Nous suggérons d'appuyer les travaux sur un
classeur Excel hébergeant ces codes à retravailler.

Nous retrouvons les codes à normaliser en première colonne d'un tableau. Les deux suivantes sont naturellement encore vides à ce stade.
La fonction de remplacement
Nous l'avons exprimé, la
fonction Excel Substitue permet de remplacer toutes les occurrences d'un terme ou d'un caractère cherché. Pour prouver qu'il ne s'agit pas de la bonne solution et que les
expressions régulières sont nécessaires, nous proposons de la mettre en oeuvre pour constater le résultat.
- Cliquer sur la première case vide de la troisième colonne pour sélectionner la cellule D4,
- Taper le symbole égal (=) pour débuter la construction de la formule,
- Inscrire la fonction de remplacement, suivie d'une parenthèse, soit : Substitue(,
- Désigner le premier code à transformer en cliquant sur sa cellule B4;
- Taper un point-virgule (;) pour passer dans l'argument du texte à remplacer,
- Inscrire le chiffre zéro entre guillemets, soit : "0",
- Taper un point-virgule (;) pour passer dans l'argument du texte de remplacement,
- Inscrire deux guillemets ("") pour supprimer tous les zéros trouvés,
- Fermer la parenthèse de la fonction Substitue,
- Valider la formule par le raccourci CTRL + Entrée pour garder active la cellule du résultat,
- Puis, double cliquer sur la poignée de cette cellule pour répandre la logique sur le tableau,

Certes, tous les zéros en préfixes sont éliminés mais également tous ceux qui se trouvaient au beau milieu des chaînes. Et ça, nous ne le souhaitons pas.
Les débuts de chaînes
Donc et de nouveau, nous appelons les
expressions régulières et la
fonction Excel RegEx.Remplacer pour purger les zéros, seulement placés en préfixes. Nous allons entamer une analyse chirurgicale et non une étude globale, grâce à cette finesse de réflexion.
- Cliquer sur la première case vide de la deuxième colonne pour sélectionner la cellule C4,
- Taper le symbole égal (=) pour initier la construction de la formule matricielle,
- Inscrire la fonction matricielle de remplacement suivie d'une parenthèse : =RegEx.Remplacer(,
- Désigner tous les codes à retravailler en sélectionnant la plage de cellules B4:B9,
- Taper un point-virgule (;) pour passer dans l'argument du motif de la séquence,
- Ouvrir un guillemet suivi de l'accent circonflexe, soit : "^,
Dans ce contexte, en dehors des crochets et en début de séquence, l'
accent circonflexe représente l'ancre de début de chaîne. Voyons ce qu'il reste à suivre.
- Taper le chiffre zéro suivi du symbole plus, soit : 0+,
Nous recherchons ainsi une ou plusieurs occurrences consécutives du chiffres zéro (0) à partir du début de la chaîne.
- Enfin, conclure l'expression comme suit : (?!$),
Il s'agit d'une condition (?) pour vérifier qu'après les zéros, il n'y a pas immédiatement une fin de chaîne ($ représente l'ancre de fin de chaîne). Donc, s'il est garanti, nous savons qu'il reste d'autres caractères après les zéros, pour justement supprimer tous ceux qui se trouvent en amont.
- Fermer les guillemets de l'expression régulière,
- Taper un point-virgule (;) pour passer dans le troisième argument de la fonction,
- Inscrire deux guillemets ("") pour supprimer tous ces zéros en préfixes,
- Fermer la parenthèse de la fonction RegEx.Remplacer,
- Enfin, valider la formule matricielle par la touche Entrée du clavier,

Cette fois et comme vous pouvez le savourer, ce sont tous les zéros en préfixes qui sont annihilés et non ceux qui sont placés en milieux de chaînes, une fois encore, grâce à une syntaxe triviale.