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

Convertir les caractères accentués

9 réponses
Avatar
GnarlyYoyo
Bonjour,
Existe-il un moyen de remplacer les caractères accentués par leurs
équivalents non accentués, sans utiliser de macro? J'ai une colonne qui
contient des prénoms, une colonne qui contient des noms, et je veux afficher
les adresses email dans la troisième colonne. Elles commencent par
prénom.nom, mais avec conversion des accents.
Merci de vos suggestions!

Yoann

9 réponses

Avatar
jps
bonjour yoyo
sans VBA, tu peux utiliser Edition Remplacer sinon point d'autre salut AMHA
jps

"GnarlyYoyo" a écrit dans le message de news:
442ed0c0$0$19185$
Bonjour,
Existe-il un moyen de remplacer les caractères accentués par leurs
équivalents non accentués, sans utiliser de macro? J'ai une colonne qui
contient des prénoms, une colonne qui contient des noms, et je veux
afficher les adresses email dans la troisième colonne. Elles commencent
par prénom.nom, mais avec conversion des accents.
Merci de vos suggestions!

Yoann



Avatar
GnarlyYoyo
Dommage... J'ai essayé des astuces comme MINUSCULE(MAJUSCULE(...)) mais les
accents sont conservés dans les majuscules.

Yoann


"jps" a écrit dans le message de news:

bonjour yoyo
sans VBA, tu peux utiliser Edition Remplacer sinon point d'autre salut
AMHA
jps

"GnarlyYoyo" a écrit dans le message de news:
442ed0c0$0$19185$
Bonjour,
Existe-il un moyen de remplacer les caractères accentués par leurs
équivalents non accentués, sans utiliser de macro? J'ai une colonne qui
contient des prénoms, une colonne qui contient des noms, et je veux
afficher les adresses email dans la troisième colonne. Elles commencent
par prénom.nom, mais avec conversion des accents.
Merci de vos suggestions!

Yoann







Avatar
GnarlyYoyo
En fait je suis preneur pour une solution élégante en VBA! (Pour l'instant
j'enchaîne des fonctions replace pour chaque type d'accent).

Yoann



"jps" a écrit dans le message de news:

bonjour yoyo
sans VBA, tu peux utiliser Edition Remplacer sinon point d'autre salut
AMHA
jps

"GnarlyYoyo" a écrit dans le message de news:
442ed0c0$0$19185$
Bonjour,
Existe-il un moyen de remplacer les caractères accentués par leurs
équivalents non accentués, sans utiliser de macro? J'ai une colonne qui
contient des prénoms, une colonne qui contient des noms, et je veux
afficher les adresses email dans la troisième colonne. Elles commencent
par prénom.nom, mais avec conversion des accents.
Merci de vos suggestions!

Yoann







Avatar
Jacky
Bonsoir,
regarde ici, des toutes faites
http://groups.google.fr/group/microsoft.public.fr.dotnet.aspnet/browse_thread/thread/48a3fd256b0cdd78/4880d666a572986f?lnk=st&q=remplacer+accents&rnum=4&hl=fr#4880d666a572986f

Salutations
JJ


"GnarlyYoyo" a écrit dans le message de news:
442ef784$0$19434$
En fait je suis preneur pour une solution élégante en VBA! (Pour l'instant
j'enchaîne des fonctions replace pour chaque type d'accent).

Yoann



"jps" a écrit dans le message de news:

bonjour yoyo
sans VBA, tu peux utiliser Edition Remplacer sinon point d'autre salut
AMHA
jps

"GnarlyYoyo" a écrit dans le message de news:
442ed0c0$0$19185$
Bonjour,
Existe-il un moyen de remplacer les caractères accentués par leurs
équivalents non accentués, sans utiliser de macro? J'ai une colonne qui
contient des prénoms, une colonne qui contient des noms, et je veux
afficher les adresses email dans la troisième colonne. Elles commencent
par prénom.nom, mais avec conversion des accents.
Merci de vos suggestions!

Yoann











Avatar
AV
| En fait je suis preneur pour une solution élégante en VBA! (Pour l'instant
| j'enchaîne des fonctions replace pour chaque type d'accent).

Function Virer_Accents$(chaine$)'AV
Dim tmp$
tmp = Trim(chaine)
For i = 1 To Len(tmp)
x = Asc(Mid(tmp, i, 1))
Select Case x
Case 192 To 197: x = "A": Case 200 To 203: x = "E"
Case 204 To 207: x = "I": Case 209: x = "N"
Case 210 To 214: x = "O": Case 217 To 220: x = "U"
Case 221: x = "Y": Case 224 To 229: x = "a"
Case 232 To 235: x = "e": Case 236 To 239: x = "i"
Case 241: x = "n": Case 240, 242 To 246: x = "o"
Case 249 To 252: x = "u": Case 253, 255: x = "y"
Case Else: x = Chr(x)
End Select
Virer_Accents = Virer_Accents & x
Next
End Function

AV
Avatar
JB
Bonjour,

http://cjoint.com/?ecuDmvD47O

On suppose que le prénom est en A1 et le nom en B1:

=TransCode(SUBSTITUE(A1&"."&B1&"@cegos.fr";" ";"-"))


Dans un module:

Function TransCode(chaine)
codeA = "éèêàçùôûï"
codeB = "eeeacuoui"
For i = 1 To Len(chaine)
p = InStr(codeA, Mid(chaine, i, 1))
If p > 0 Then Mid(chaine, i, 1) = Mid(codeB, p, 1)
Next
TransCode = chaine
End Function


Cordialement JB
Avatar
tinou
salut JB,

ton code m'interesse, voir (uniformisation des caracteres (optimisation) du
20/04/2006)
serait-il possible de l'appliquer a une feuille entière ??

merci d'avance


Tinou



Bonjour,

http://cjoint.com/?ecuDmvD47O

On suppose que le prénom est en A1 et le nom en B1:

=TransCode(SUBSTITUE(A1&"."&B1&"@cegos.fr";" ";"-"))


Dans un module:

Function TransCode(chaine)
codeA = "éèêàçùôûï"
codeB = "eeeacuoui"
For i = 1 To Len(chaine)
p = InStr(codeA, Mid(chaine, i, 1))
If p > 0 Then Mid(chaine, i, 1) = Mid(codeB, p, 1)
Next
TransCode = chaine
End Function


Cordialement JB




Avatar
JB
Bonjour,

Sub essai()
Dim i, p As Integer
codeA = "éèêàçùôûïî"
codeB = "eeeacuouii"
Cells.SpecialCells(xlCellTypeConstants, 23).Select ' les cellules
occupées seulement
For Each c In Selection
temp = c
For i = 1 To Len(temp)
p = InStr(codeA, Mid(temp, i, 1))
If p > 0 Then Mid(temp, i, 1) = Mid(codeB, p, 1)
Next
c.Value = temp
Next c
End Sub

Cordialement JB
Avatar
tinou
merci beaucoup...
c'est un autre chemin que celui du "REPLACE"...qui fonctionne !
merci JB

Tinou