Suppression caractères spéciaux, tabulation ou espace dans adresse mail

Bonjour,

Mes connaissances en VBA sont assez limitées et pourtant je dois y avoir recours pour pouvoir travailler sur un fichier.

Ce fichier contient des adresses mails non "normées":

  • Doublons
  • Chiffres au début d’adresse mail
  • Préfixe composé uniquement de chiffres
  • Point à la fin du préfixe, ex : toto.@gmail.com)
  • Point au début du préfixe
  • Tiret au début ou à la fin du préfixe
  • Domaine sans .fr ou .com ou .eu ou autre (vérifier que le domaine est correct)
  • Caractère spéciaux : ( ),/\,;, $%^ parenthèses, crochets, espace …
  • Suite de caractère spéciaux autorisés, ex : suite de points consécutifs, suite de tirets consécutifs, suite de @, etc.
  • Accents sur les lettres, cédille, caractères accentués
  • Tabulation dans l’adresse mail (ex : quentin.tarantino @yahoo.fr)
  • Espace dans barre de formule, ex : françois.damiens@gmail.com

Pourriez-vous m'aider à trouver une macro qui puisse nettoyer toutes ces anomalies ?

Merci beaucoup.

Béa

25fichier-test.xlsx (10.09 Ko)

Bonjour,

Voici un premier jet, pour le moment, je n'ai pas le temps de tout regarder.

Cdlt

bonjour

pour amorcer

cordialement

11barre.xlsx (12.53 Ko)

Bonjour à tous,

J'espère que tu ne t'es pas Barré sans répondre aux membres

Une contribution du soir basée sur la liste transmise, qui a été mise sous forme de tableau structuré.

2 choix :

  • Affichage des adresses retraitées uniquement
=LET(
t;UNIQUE(FILTRE(Tableau1;Tableau1[Prénom]<>""));
d;MINUSCULE(CHOISIRCOLS(t;2)&"."&CHOISIRCOLS(t;1)&"@");
f;SI(ESTNUM(CHERCHE("yahoo";CHOISIRCOLS(t;3)));"yahoo.fr";"gmail.com");
d&f)
  • Affichage du tableau source retraité en entier :
=LET(
t;UNIQUE(FILTRE(Tableau1;Tableau1[Prénom]<>""));
d;MINUSCULE(CHOISIRCOLS(t;2)&"."&CHOISIRCOLS(t;1)&"@");
f;SI(ESTNUM(CHERCHE("yahoo";CHOISIRCOLS(t;3)));"yahoo.fr";"gmail.com");
ASSEMB.H(PRENDRE(t;;2);d&f))
11barre.xlsx (12.94 Ko)

Edit : Quant à notre cher François Damiens, il est impossible de savoir s'il utilise une adresse Yahoo ou Gmail

Bonjour à tous,

à JB_, l'adresse de François Damiens est complète, mais après un retour ligne:

image

et revoici ma proposition plus complète:

Cdlt

Salut Barré,
Salut les as,

les règles de rédaction d'une adresse-mail sont régies par un protocole régulièrement mis à jour : RFC 3696.

Ou encore, ceci.

Ça m'a l'air bien plus compliqué que les exemples fournis qui peuvent être épurés sommairement comme vous le tentez courageusement mais qui devront, de toute façon, être recontrôlés par Barré, d'autant que certains fournisseurs n'autorisent pas certains caractères pourtant admis par le protocole.
J'ai lu par exemple que le "-" n'est pas autorisé par GMAIL.

Vaste sujet que tout votre génie ne pourra dominer sans connaître toutes ces règles particulières!
Bon courage, les as!

A+

Bonjour à tous,

@Curulis : Merci pour ces informations !

@Arturo : La fatigue m'a rattrapé. Bien vu et merci ! A priori, cela ne change rien à ma proposition.

Attendons un retour de Barré concernant toutes ces informations

Bonjour,

qui a donné la liste des adresses de Mails incorrectes ?

Pour simplifier la mise en place de celles-ci, il suffit de créer la liste des domaines avec leur TLD (.com, .fr, …) et de le faire à partir d’une Formule ou d’une Macro (Cf fichier joint) !

Nota : j’utilise tours les Tableaux pour gérer les données et ici, les nom et prénom de ces adresses mais bien sûr avec autre chose cela demandera une toute autre approche !

Rechercher des sujets similaires à "suppression caracteres speciaux tabulation espace adresse mail"