Pour partager cette vidéo sur les réseaux sociaux ou sur un site, voici son url :
Sujets que vous pourriez aussi aimer :
Nettoyer des chaînes de textes
Nous poursuivons nos travaux avec les
expressions régulières dans
Excel . Ici, nous allons voir comment
purger des chaînes de textes afin de les
normaliser à la volée, par exemple à l'issue d'importations de masse depuis des bases de données externes, hébergeant de nombreuses anomalies.
C'est ce qu'illustre le cas finalisé présenté par la capture. Des anomalies se sont glissées dans des chaînes de textes en première colonne d'un tableau. Pour y voir plus clair, nous les avons formatées en rouge. Dans une seconde colonne, avec
une seule formule matricielle exploitant les
expressions régulières , nous nettoyons toutes ces chaînes pour rendre une liste de données parfaitement exploitables.
Classeur Excel à télécharger
Nous suggérons d'appuyer les démonstrations sur un
classeur Excel hébergeant ces chaînes avec des défauts à corriger.
Nous retrouvons bien le tableau de la présentation avec les anomalies repérées en rouge en première colonne. Fort naturellement à ce stade, la seconde colonne, celle du nettoyage, est vide.
Initier le remplacement matriciel
Pour travailler ces chaînes de textes et les corriger d'un tour de main, nous avons besoin de la
fonction Excel RegEx.Remplacer .
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 matricielle ,
Inscrire la fonction de remplacement , suivie d'une parenthèse, soit : RegEx.Remplacer( ,
Désigner toutes les cellules à corriger en sélectionnant la plage de cellules B4:B13 ,
Puis, taper un point-virgule (;) pour passer dans l'argument du motif de reconnaissance,
Ignorer toutes les lettres
Nous l'avons appris lors d'un sujet précédent, dans les
expressions régulières , c'est le
symbole de l'accent circonflexe qui permet d'agir comme une
négation afin d'ignorer tout ce qui suit.
Ouvrir un guillemet suivi d'un crochet de l'accent circonflexe, soit : "[^ ,
Dès lors, désigner toutes les lettres de l'alphabet à ignorer comme suit : a-z ,
Ignorer toutes les majuscules
De la même façon, toutes les lettres de l'alphabet en majuscules doivent être conservées. Donc, nous devons les énumérer.
A la suite, ajouter la syntaxe suivante : A-Z ,
De cette manière, nous préservons toutes les lettres en majuscules.
Ignorer tous les chiffres
Ces articles vestimentaires proposent des tailles. En conséquence, nous ne devons pas exclure tous les chiffres qui construisent des tailles.
A la suite de la syntaxe, ajouter la séquence suivante : 0-9 ,
De cette façon et grâce au symbole de l'accent circonflexe en préfixe, nous préservons aussi tous les numéros.
Ignorer les accents
Notre langue est latine, elle est forcément faite d'accents à un moment où à un autre. Nous devons donc les préserver et les énumérer.
A la suite de la syntaxe, ajouter la séquence suivante, sans oublier un espace en fin de liste :
Eèùà ôâî
En effet, l'espace est important pour garder la séparation entre les mots.
Fermer le crochet et le guillemet de l'expression régulière,
Taper un point-virgule (;) pour passer dans la séquence de remplacement ,
Inscrire deux guillemets pour remplacer tous les caractères proscrits par du vide,
Fermer la parenthèse de la fonction RegEx.Remplacer ,
Puis, valider la formule matricielle par la touche Entrée du clavier,
Comme vous pouvez l'apprécier, nous retrouvons le tableau de la présentation, purgé de toutes ses anomalies et ce, à l'aide d'une seule formule, certes matricielle mais à la syntaxe relativement simple. Imaginez le gain de temps sur des tableaux volumineux pour ce genre de traitement récursif !