Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Comment remplacer caractère accentué par non accentué (e-mails) ?

4 réponses
Avatar
jfm
But : corriger automatiquement (par une formule Excel) une adresse e-mail
contenant des accents ou cédilles en une adresse sans ceux-ci.

4 réponses

Avatar
MichDenis
Bonjour Jfm,

Dans ta cellule pour appeler la fonction, tu écris :
en supposant que ton texte avec accent est en A1
=Sans_accents(A1)

Tu copies cette fonction dans un module STANDARD
'---------------------------------------------
Function Sans_accents(Chaine As Range)
Dim T As String, A As String, B As String
Dim i As Integer, U As String
If Chaine.Value = "" Then Exit Function
T = Chaine.Value
'remplacement des caractères accentués
A = "ÀÁÂÃÄÅÈÉÊËÌÍÎÏÑÒÓÔÕÖÙÚÛÜÝàáâãäåèéêëìíîïðñòóôõöùúûüýÿçÇ"
B = "AAAAAAEEEEIIIINOOOOOUUUUYaaaaaaeeeeiiiionooooouuuuyycC"
For i = 1 To Len(T)
U = InStr(1, A, Mid(T, i, 1), 0)
If U Then Mid(T, i, 1) = Mid(B, U, 1)
Next i
Sans_accents = T
End Function
'---------------------------------------------



"jfm" a écrit dans le message de groupe de discussion :

But : corriger automatiquement (par une formule Excel) une adresse e-mail
contenant des accents ou cédilles en une adresse sans ceux-ci.
Avatar
jfm
Grand merci MichDenis,
Je ne suis pas un utilisateur de Visual basic et c'est sans doute le moment
d'apprendre, grâce à vos conseils…
Première tentative… malheureusement échouée.
J'ai créé deux fichiers : 1) MonFichier = Celui qui m'intéresse (texte avec
accents à remplacer par texte sans accents). 2) VotreFichier = Celui (en
Excel) où j'ai repris votre texte.
En passant par Développeur > Code > Visual basic, j'y découvre VBAProject
MonFichier et VBAProject VotreFicier (et un troisième VBAProject Funcres.xlam
(???)).
J'ail cru comprendre (via l'aide Excel) que je devais faire glisser le
deuxième vers le premier. Ce que j'ai fait mais je reçois pour message "Nom
de module, de projet ou de bibliothèque d'objets déjà utilisé".
Je n'y suis donc pas encore…

"MichDenis" a écrit :

Bonjour Jfm,

Dans ta cellule pour appeler la fonction, tu écris :
en supposant que ton texte avec accent est en A1
=Sans_accents(A1)

Tu copies cette fonction dans un module STANDARD
'---------------------------------------------
Function Sans_accents(Chaine As Range)
Dim T As String, A As String, B As String
Dim i As Integer, U As String
If Chaine.Value = "" Then Exit Function
T = Chaine.Value
'remplacement des caractères accentués
A = "ÀÁÂÃÄÅÈÉÊËÌÍÎÏÑÒÓÔÕÖÙÚÛÜÝàáâãäåèéêëìíîïðñòóôõöùúûüýÿçÇ"
B = "AAAAAAEEEEIIIINOOOOOUUUUYaaaaaaeeeeiiiionooooouuuuyycC"
For i = 1 To Len(T)
U = InStr(1, A, Mid(T, i, 1), 0)
If U Then Mid(T, i, 1) = Mid(B, U, 1)
Next i
Sans_accents = T
End Function
'---------------------------------------------



"jfm" a écrit dans le message de groupe de discussion :

But : corriger automatiquement (par une formule Excel) une adresse e-mail
contenant des accents ou cédilles en une adresse sans ceux-ci.




Avatar
MichDenis
Pour ouvrir la fenêtre de l'éditeur de code, tu peux utiliser
le raccourci clavier Alt + F11

Dans la section de gauche ayant comme titre :
VBAProjet(nom de ton classeur)
Tu fais un petit clic sur le + à gauche de la ligne précédente
Les objets de ton projet s'ouvre
à partir du menu de la fenêtre de l'éditeur de code :
Insertion / Module /
Une feuille blanche va s'ajouter à ton projet portant le nom de Module1
tu copies le code dans cette feuille c'est tout.
Tu retournes à ta feuille de travail et tu saisis la formule
de l'exemple du message précédent.




"jfm" a écrit dans le message de groupe de discussion :

Grand merci MichDenis,
Je ne suis pas un utilisateur de Visual basic et c'est sans doute le moment
d'apprendre, grâce à vos conseils…
Première tentative… malheureusement échouée.
J'ai créé deux fichiers : 1) MonFichier = Celui qui m'intéresse (texte avec
accents à remplacer par texte sans accents). 2) VotreFichier = Celui (en
Excel) où j'ai repris votre texte.
En passant par Développeur > Code > Visual basic, j'y découvre VBAProject
MonFichier et VBAProject VotreFicier (et un troisième VBAProject Funcres.xlam
(???)).
J'ail cru comprendre (via l'aide Excel) que je devais faire glisser le
deuxième vers le premier. Ce que j'ai fait mais je reçois pour message "Nom
de module, de projet ou de bibliothèque d'objets déjà utilisé".
Je n'y suis donc pas encore…

"MichDenis" a écrit :

Bonjour Jfm,

Dans ta cellule pour appeler la fonction, tu écris :
en supposant que ton texte avec accent est en A1
=Sans_accents(A1)

Tu copies cette fonction dans un module STANDARD
'---------------------------------------------
Function Sans_accents(Chaine As Range)
Dim T As String, A As String, B As String
Dim i As Integer, U As String
If Chaine.Value = "" Then Exit Function
T = Chaine.Value
'remplacement des caractères accentués
A = "ÀÁÂÃÄÅÈÉÊËÌÍÎÏÑÒÓÔÕÖÙÚÛÜÝàáâãäåèéêëìíîïðñòóôõöùúûüýÿçÇ"
B = "AAAAAAEEEEIIIINOOOOOUUUUYaaaaaaeeeeiiiionooooouuuuyycC"
For i = 1 To Len(T)
U = InStr(1, A, Mid(T, i, 1), 0)
If U Then Mid(T, i, 1) = Mid(B, U, 1)
Next i
Sans_accents = T
End Function
'---------------------------------------------



"jfm" a écrit dans le message de groupe de discussion :

But : corriger automatiquement (par une formule Excel) une adresse e-mail
contenant des accents ou cédilles en une adresse sans ceux-ci.




Avatar
jfm
Grand merci MichDenis !

"MichDenis" a écrit :

Pour ouvrir la fenêtre de l'éditeur de code, tu peux utiliser
le raccourci clavier Alt + F11

Dans la section de gauche ayant comme titre :
VBAProjet(nom de ton classeur)
Tu fais un petit clic sur le + à gauche de la ligne précédente
Les objets de ton projet s'ouvre
à partir du menu de la fenêtre de l'éditeur de code :
Insertion / Module /
Une feuille blanche va s'ajouter à ton projet portant le nom de Module1
tu copies le code dans cette feuille c'est tout.
Tu retournes à ta feuille de travail et tu saisis la formule
de l'exemple du message précédent.




"jfm" a écrit dans le message de groupe de discussion :

Grand merci MichDenis,
Je ne suis pas un utilisateur de Visual basic et c'est sans doute le moment
d'apprendre, grâce à vos conseils…
Première tentative… malheureusement échouée.
J'ai créé deux fichiers : 1) MonFichier = Celui qui m'intéresse (texte avec
accents à remplacer par texte sans accents). 2) VotreFichier = Celui (en
Excel) où j'ai repris votre texte.
En passant par Développeur > Code > Visual basic, j'y découvre VBAProject
MonFichier et VBAProject VotreFicier (et un troisième VBAProject Funcres.xlam
(???)).
J'ail cru comprendre (via l'aide Excel) que je devais faire glisser le
deuxième vers le premier. Ce que j'ai fait mais je reçois pour message "Nom
de module, de projet ou de bibliothèque d'objets déjà utilisé".
Je n'y suis donc pas encore…

"MichDenis" a écrit :

> Bonjour Jfm,
>
> Dans ta cellule pour appeler la fonction, tu écris :
> en supposant que ton texte avec accent est en A1
> =Sans_accents(A1)
>
> Tu copies cette fonction dans un module STANDARD
> '---------------------------------------------
> Function Sans_accents(Chaine As Range)
> Dim T As String, A As String, B As String
> Dim i As Integer, U As String
> If Chaine.Value = "" Then Exit Function
> T = Chaine.Value
> 'remplacement des caractères accentués
> A = "ÀÁÂÃÄÅÈÉÊËÌÍÎÏÑÒÓÔÕÖÙÚÛÜÝàáâãäåèéêëìíîïðñòóôõöùúûüýÿçÇ"
> B = "AAAAAAEEEEIIIINOOOOOUUUUYaaaaaaeeeeiiiionooooouuuuyycC"
> For i = 1 To Len(T)
> U = InStr(1, A, Mid(T, i, 1), 0)
> If U Then Mid(T, i, 1) = Mid(B, U, 1)
> Next i
> Sans_accents = T
> End Function
> '---------------------------------------------
>
>
>
> "jfm" a écrit dans le message de groupe de discussion :
>
> But : corriger automatiquement (par une formule Excel) une adresse e-mail
> contenant des accents ou cédilles en une adresse sans ceux-ci.
>
>