Enlever les accents dans une macro

Bonjour,

Pour recréer des adresses email, j'ai écrit une macro:

Sub Email()
'
' Email Macro
'
' Touche de raccourci du clavier: Ctrl+m
'
' Création des variables a, b, c et d

Dim a, b, c, d As String

' Détermination de la valeur des variables: a sera la valeur située en colonne n°6 (F) sur la ligne active.

a = Cells(ActiveCell.Row, 6).Value
b = Cells(ActiveCell.Row, 5).Value

' Concatenation des valeurs pour créer l'adresse email en c

c = a + "." + b + "@xxx.fr"

' Retrait des espaces de cette adresse

d = Replace$(c, " ", "")

' Affichage de l'adresse dans la cellulesituée sur la ligne active en colonne 32 (AF)

Cells(ActiveCell.Row, 32) = d

End Sub

Or, dans mon fichier, certains prénoms (a) et certains noms (b) intègrent des accents.

L'adresse email dont j'ai besoin ne doit pas contenir d'accent.

J'ai beau "bricoler" avec les infos que je trouve sur le net, impossible de résoudre ce problème qui ne doit pas être êxtrèmement complexe.

Pourriez-vous m'aider svp ?

Salut le forum

Avec une fonction de Thierry Pourtier

Function MajSansAccent$(ByVal Chaine$)
'Ti
Const VAccent = "àáâãäåéêëèìíîïðòóôõöùúûü", VSsAccent = "aaaaaaeeeeiiiioooooouuuu"
Dim Bcle&
For Bcle = 1 To Len(VAccent)
Chaine = Replace(Chaine, Mid(VAccent, Bcle, 1), Mid(VSsAccent, Bcle, 1))
Next Bcle
MajSansAccent = UCase(Chaine)
End Function

Utilisation dans ton fichier

a = MajSansAccent(Cells(ActiveCell.Row, 6).Value)

Mytå

Merci pour cette réponde !

Effectivement, l'idée de traiter les informations en amont m'avait traversé l'esprit ...

Par contre, j'ai dû mettre la fonction dans un module différent. C'est important, du moment qu'elle est publique ?

Parce que j'ai testé ta proposition, mais les prénoms et noms n'apparaissent plus. J'obtiens l'adresse " . @xxx.fr"

Re le forum

Remet le code modifié de ta macro Sub Email()

Mytå

Le problème est résolu ...

Je ne voulais pas de la majuscule, alors j'avais retiré la ligne... Et ça ne fonctionnait plus . Pourquoi d'ailleurs, je n'en sais rien.

Toujours est-il qu'en recopiant ton code mot à mot, ça fonctionne. Sans conserver la casse, certes, mais ça fonctionne.

Merci beaucoup !

[EDIT] Je viens de saisir ... pas réveillé ce matin

J'avais retiré la ligne entière concernant la variable SansAccent alors qu'il me suffisait de noter SansAccent = Chaine ...

Merci encore !

Rechercher des sujets similaires à "enlever accents macro"