Juste pour le plaisir,
Voici la même amplifiée avec les majuscules (incluant le "ç" et le "Ç" )
Sub Remplace_Accent_2()
'
' lettres accentuées minuscules, majuscules et ç/Ç
'
Accent = Array("à", "â", "ä", "é", "è", "ê", "ë", _
"î", "ï", "ô", "ö", "ù", "û", "ü", "ç", _
"À", "Â", "Ä", "É", "È", "Ê", "Ë", _
"Î", "Ï", "Ô", "Ö", "Ù", "Û", "Ü", "Ç")
SansAccent = Array("a", "a", "a", "e", "e", "e", "e", _
"i", "i", "o", "o", "u", "u", "u", "c", _
"A", "A", "A", "E", "E", "E", "E", _
"I", "I", "O", "O", "U", "U", "U", "C")
With Cells.SpecialCells(xlCellTypeConstants, 23)
For i = 0 To 28
.Replace Accent(i), SansAccent(i)
Next i
End With
End Sub
Hum, erreur de comptage dans l'array.
Voici la bonne formule commentée (Merci Felix pour les explications).
Sub Remplace_Accent_2()
'
' lettres accentuées minuscules, majuscules et ç/Ç
'
Accent = Array("à", "â", "ä", "é", "è", "ê", "ë", _
"î", "ï", "ô", "ö", "ù", "û", "ü", "ç", _
"À", "Â", "Ä", "É", "È", "Ê", "Ë", _
"Î", "Ï", "Ô", "Ö", "Ù", "Û", "Ü", "Ç")
SansAccent = Array("a", "a", "a", "e", "e", "e", "e", _
"i", "i", "o", "o", "u", "u", "u", "c", _
"A", "A", "A", "E", "E", "E", "E", _
"I", "I", "O", "O", "U", "U", "U", "C")
With Cells.SpecialCells(xlCellTypeConstants, 23)
' 23 signifie les cellules contenant des constantes,
' donc les cellules non vides
' et ne contenant pas de formules...
' Merci Felix pour ces explications
'
For i = 0 To 29
' Array de 30 caractères commençant à 0 => 29
.Replace Accent(i), SansAccent(i)
Next i
End With
End Sub