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

Le
jfm
But : corriger automatiquement (par une formule Excel) une adresse e-mail
contenant des accents ou cédilles en une adresse sans ceux-ci.
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
MichDenis
Le #20066471
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"
But : corriger automatiquement (par une formule Excel) une adresse e-mail
contenant des accents ou cédilles en une adresse sans ceux-ci.
jfm
Le #20067001
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"
But : corriger automatiquement (par une formule Excel) une adresse e-mail
contenant des accents ou cédilles en une adresse sans ceux-ci.




MichDenis
Le #20067281
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"
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"
But : corriger automatiquement (par une formule Excel) une adresse e-mail
contenant des accents ou cédilles en une adresse sans ceux-ci.




jfm
Le #20068751
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"
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" >
> But : corriger automatiquement (par une formule Excel) une adresse e-mail
> contenant des accents ou cédilles en une adresse sans ceux-ci.
>
>



Publicité
Poster une réponse
Anonyme