Comment supprimer les accents ?

Le
Gouap
Bonjour,

Je cherche à remplacer toutes les lettres qui sont accentuées dans les
cellules de ma feuille courante par la même lettre non accentuée.

Avez vous une idée pour faire ça simplement ?

@+
philippe
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
isabelle
Le #20795461
bonjour philippe,

Sub Macro1()
Accent = Array("à", "â", "ç", "è", "é", "ê", "ë", "î", "ï", "ô", "ù",
"û", "À", "Â", "Ç", "È", "É", "Ê", "Ë", "Î", "Ï", "Ô", "Ù", "Û")
SansAccent = Array("a", "a", "c", "e", "e", "e", "e", "i", "i", "o",
"u", "u", "A", "A", "C", "E", "E", "E", "E", "I", "I", "O", "U", "U")
For i = LBound(Accent) To UBound(Accent)
Cells.Replace What:¬cent(i), Replacement:=SansAccent(i),
LookAt:=xlPart, SearchOrder _
:=xlByRows, MatchCase:úlse, SearchFormat:úlse,
ReplaceFormat:úlse
Next
End Sub

isabelle

Gouap a écrit :
Bonjour,

Je cherche à remplacer toutes les lettres qui sont accentuées dans les
cellules de ma feuille courante par la même lettre non accentuée.

Avez vous une idée pour faire ça simplement ?

@+
philippe





FS
Le #20795451
Bonjour,

Je pense qu'il faut passer par une fonction perso en VBA. Parmi de
nombreuses propositions, celle-ci, signée D. Maher, s'utilise aussi bien
dans du code que dans une feuille de calcul :

' Début code ****************(dans un module ordinaire)
Const Avec_Accent$ = _
"ÀÁÂÃÄÅÈÉÊËÌÍÎÏÑÒÓÔÕÖÙÚÛÜÝàáâãäåèéêëìíîïðñòóôõöùúûüýÿ"
Const Sans_Accent$ = _
"AAAAAAEEEEIIIINOOOOOUUUUYaaaaaaeeeeiiiinnooooouuuuyy"

Sub test()
MsgBox CSA("là-bas, j'élève l'événement à loisir")
End Sub

' Caractères Sans Accents : CSA
' Daniel M., mpfe
Function CSA(cell1 As String) As String
CSA = MultiSubstitute(cell1, Avec_Accent, Sans_Accent)
End Function

'MultiSubstitute
'In an InputStr, replaces all chars belonging to ToBeReplacedChars
'by the corresponding chars in ByChars
'ToBeReplacedChars and ByChars should be of the same length
'or else it removes the found chars
'Returns the string with the characters replaced (or removed)
'By Daniel M.
Function MultiSubstitute(InputStr As String, _
ToBeReplacedChars As String, ByChars As String) As String

Dim s As String, i As Integer
Dim anOffset As Integer, len_Input As Integer, len_ByChars As Integer

len_Input = Len(InputStr)
len_ByChars = Len(ByChars)
For i = 1 To len_Input
s = Mid(InputStr, i, 1)
anOffset = InStr(ToBeReplacedChars, s)
If anOffset > 0 Then
If anOffset <= len_ByChars Then
MultiSubstitute = MultiSubstitute & _
Mid(ByChars, anOffset, 1)
End If
Else
MultiSubstitute = MultiSubstitute & s
End If
Next
End Function
' Fin du code ****************

FS
--
Frédéric SIGONNEAU
Modules et modèles pour Excel :
http://frederic.sigonneau.free.fr/

Gouap a écrit :
Bonjour,

Je cherche à remplacer toutes les lettres qui sont accentuées dans les
cellules de ma feuille courante par la même lettre non accentuée.

Avez vous une idée pour faire ça simplement ?

@+
philippe




JB
Le #20795531
Bonjour,

http://boisgontierjacques.free.fr/fichiers/fonctionsperso/Fonction_SansAcce nt.xls

JB

On 18 déc, 17:52, "Gouap"
Bonjour,

Je cherche à remplacer toutes les lettres qui sont accentuées dans le s
cellules de ma feuille courante par la même lettre non accentuée.

Avez vous une idée pour faire ça simplement ?

@+
philippe


Gouap
Le #20796371
Merci à Isabelle FS et JB pour vos propositions.
C'est exactement ce que je cherchais.
Je vais intégrer tout ça dans mon classeur.
@+
Philippe

"Gouap"
Bonjour,

Je cherche à remplacer toutes les lettres qui sont accentuées dans les
cellules de ma feuille courante par la même lettre non accentuée.

Avez vous une idée pour faire ça simplement ?

@+
philippe



Publicité
Poster une réponse
Anonyme