Bonjour
Je voudrai reconstituer des adresses courriels à partir de NOM Prénom.
Les noms sont toujours en majuscule
Les prénoms sont toujours après les noms, sont en minuscules avec la 1ère lettre en majuscule.
Je peux avoir des caractères accentués dans les noms et les prénoms, ainsi que des apostrophes et des tildés (~)
Les noms et les prénoms peuvent être composés
Mon adresse Courriel sera sous la forme prenom-compose.nom-compose@gmail.com
Je veux bien une macro qui me fasse le tout ou plusieurs fonctions à concaténer dans une feuille de calcul.
J'ai trouvé une fonction qui remplace les accents, mais je n'arrive pas à la faire fonctionner
d'habitude, je saisie dans une cellule =suppAccent(A2), mais ici j'obtiens le résultat #nom
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 Function suppAccent(chaine As String) As String Dim accent As String, sansAccent As String, i As Long accent = "ÁÂÃÄÅÇÈÉÊËÌÍÎÏÑÒÓÔÕÖÙÚÛÜÝàáâãäåçèéêëìíîïñòóôõöùúûüýÿ" sansAccent = "AAAAACEEEEIIIINOOOOOUUUUYaaaaaaceeeeiiiinooooouuuuyy" For i = 1 To Len(accent) chaine = Replace(chaine, Mid(accent, i, 1), Mid(sansAccent, i, 1)) Next i suppAccent = chaine End Function
ensuite, j'ai trouvé une fonction qui récupère le NOM et une autre qui récupère le Prénom
mais elle ne fonctionne pas s'il y a des caractères spéciaux
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 Function Nom(ATrouver As String) As String With CreateObject("vbscript.regexp") .Global = True .Pattern = "([A-Z]{2,}-* *)+" If .test(ATrouver) Then Nom = .Execute(ATrouver)(0) End If End With End Function
Est-ce que quelqu'un peut m'aider, svp.
MErci
Partager