Visual Basic + Regex + fichier xlxs ou csv

Fermé
gab74m Messages postés 4 Date d'inscription vendredi 11 octobre 2019 Statut Membre Dernière intervention 11 octobre 2019 - 11 oct. 2019 à 10:43
Whismeril Messages postés 19027 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 24 avril 2024 - 11 oct. 2019 à 23:53
Bonjour,
voilà j'ai un fichier excel comportant par exemple des numéros de téléphone.
Plusieurs utilisateurs ont alimentés ce fichier du coup il y a des problème de format avec les numéros de téléphone. Certains ont mis des espaces, des virgules, des points...
Au final une recherche simple le fichier excel devient problématique.
J'avais pensé à utiliser une regex dans excel via le visual basic je ne sais si c'est possible... Et je ne sais pas du tout comment le mettre en place ...
Voici ma regex : ([0]{1})([1-9]{1})[ .,/-]?[1-9]{2}[ .,/-]?[1-9]{2}[ .,/-]?[1-9]{2}[ .,/-]?[1-9]{2}
Est-il possible de reformater tout dans le format que je souhaite ou sinon de faire une recherche en prenant en compte les différences qu'il peut y avoir...
Merci pour votre réponse
A voir également:
  • Visual Basic + Regex + fichier xlxs ou csv
  • Xlxs reader - Télécharger - Tableur

2 réponses

cs_Le Pivert Messages postés 7903 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 11 mars 2024 728
11 oct. 2019 à 11:39
Bonjour,

avec la fonction Replace. Tu as un modèle pour une colonne entière.
Tu fais plusieurs passages pour arriver à ce que tu veux: espace, tiret etc.

https://silkyroad.developpez.com/VBA/ManipulerChainesCaracteres/#LI-J

0
Whismeril Messages postés 19027 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 24 avril 2024 931
11 oct. 2019 à 23:53
Bonjour

Une regex est l’outil idéal pour ce que tu cherches à faire.
Copie le lien ci dessous
http://regexstorm.net/tester?p=%28%28%3f%3a0%7c%5c%2b%5cd%5cd%29%5cd%29%5b_%5c-+.%5d%3f%28%5cd%5cd%29%5b_%5c-+.%5d%3f%28%5cd%5cd%29%5b_%5c-+.%5d%3f%28%5cd%5cd%29%5b_%5c-+.%5d%3f%28%5cd%5cd%29&i=01.23.45.67.89%0d%0a02+34+56+78+91%0d%0a0345678912%0d%0a04-56-78-91-23%0d%0a05_67_89_12_34%0d%0a%2b336.78+90-12_45&r=%241+%242+%243+%244+%245

Clique sur l’onglet « Table » pour voir les captures, les groupes et les résultats des remplacements.

Pour utiliser les regex en VBA https://cafeine.developpez.com/access/tutoriel/regexp/
0