Sub Selection_Feuille_addin()
On Error GoTo fin
Dim RRange As Range
Set RRange = Selection
If RRange Is Nothing Then GoTo fin
Application.ScreenUpdating = False
Application.EnableEvents = False
Dim Montab As Variant, cmpt1 As Long, cmpt2 As Long
If RRange.Count = 1 Then 'Pour 1 sinon KO pour une seule selection
ReDim Montab(1 To 1, 1 To 1)
Set Montab(1, 1) = RRange
Else
Montab = RRange.Value
End If
For cmpt1 = LBound(Montab, 1) To UBound(Montab, 1)
For cmpt2 = LBound(Montab, 2) To UBound(Montab, 2)
' Lettres accentuées minuscules
Montab(cmpt1, cmpt2) = Replace(Montab(cmpt1, cmpt2), "à", "a", , , vbTextCompare)
Montab(cmpt1, cmpt2) = Replace(Montab(cmpt1, cmpt2), "á", "a", , , vbTextCompare)
Montab(cmpt1, cmpt2) = Replace(Montab(cmpt1, cmpt2), "â", "a", , , vbTextCompare)
Montab(cmpt1, cmpt2) = Replace(Montab(cmpt1, cmpt2), "ã", "a", , , vbTextCompare)
Montab(cmpt1, cmpt2) = Replace(Montab(cmpt1, cmpt2), "ä", "a", , , vbTextCompare)
Montab(cmpt1, cmpt2) = Replace(Montab(cmpt1, cmpt2), "å", "a", , , vbTextCompare)
Montab(cmpt1, cmpt2) = Replace(Montab(cmpt1, cmpt2), "æ", "ae", , , vbTextCompare)
Montab(cmpt1, cmpt2) = Replace(Montab(cmpt1, cmpt2), "œ", "oe", , , vbTextCompare)
Montab(cmpt1, cmpt2) = Replace(Montab(cmpt1, cmpt2), "ç", "c", , , vbTextCompare)
Montab(cmpt1, cmpt2) = Replace(Montab(cmpt1, cmpt2), "è", "e", , , vbTextCompare)
Montab(cmpt1, cmpt2) = Replace(Montab(cmpt1, cmpt2), "é", "e", , , vbTextCompare)
Montab(cmpt1, cmpt2) = Replace(Montab(cmpt1, cmpt2), "ê", "e", , , vbTextCompare)
Montab(cmpt1, cmpt2) = Replace(Montab(cmpt1, cmpt2), "ë", "e", , , vbTextCompare)
Montab(cmpt1, cmpt2) = Replace(Montab(cmpt1, cmpt2), "ì", "i", , , vbTextCompare)
Montab(cmpt1, cmpt2) = Replace(Montab(cmpt1, cmpt2), "í", "i", , , vbTextCompare)
Montab(cmpt1, cmpt2) = Replace(Montab(cmpt1, cmpt2), "î", "i", , , vbTextCompare)
Montab(cmpt1, cmpt2) = Replace(Montab(cmpt1, cmpt2), "ï", "i", , , vbTextCompare)
Montab(cmpt1, cmpt2) = Replace(Montab(cmpt1, cmpt2), "ð", "o", , , vbTextCompare)
Montab(cmpt1, cmpt2) = Replace(Montab(cmpt1, cmpt2), "ñ", "n", , , vbTextCompare)
Montab(cmpt1, cmpt2) = Replace(Montab(cmpt1, cmpt2), "ò", "o", , , vbTextCompare)
Montab(cmpt1, cmpt2) = Replace(Montab(cmpt1, cmpt2), "ó", "o", , , vbTextCompare)
Montab(cmpt1, cmpt2) = Replace(Montab(cmpt1, cmpt2), "ô", "o", , , vbTextCompare)
Montab(cmpt1, cmpt2) = Replace(Montab(cmpt1, cmpt2), "õ", "o", , , vbTextCompare)
Montab(cmpt1, cmpt2) = Replace(Montab(cmpt1, cmpt2), "ö", "o", , , vbTextCompare)
Montab(cmpt1, cmpt2) = Replace(Montab(cmpt1, cmpt2), "ø", "o", , , vbTextCompare)
Montab(cmpt1, cmpt2) = Replace(Montab(cmpt1, cmpt2), "ù", "u", , , vbTextCompare)
Montab(cmpt1, cmpt2) = Replace(Montab(cmpt1, cmpt2), "ú", "u", , , vbTextCompare)
Montab(cmpt1, cmpt2) = Replace(Montab(cmpt1, cmpt2), "û", "u", , , vbTextCompare)
Montab(cmpt1, cmpt2) = Replace(Montab(cmpt1, cmpt2), "ü", "u", , , vbTextCompare)
Montab(cmpt1, cmpt2) = Replace(Montab(cmpt1, cmpt2), "ý", "y", , , vbTextCompare)
Montab(cmpt1, cmpt2) = Replace(Montab(cmpt1, cmpt2), "ÿ", "y", , , vbTextCompare)
' Minuscules en majuscules
Montab(cmpt1, cmpt2) = UCase(Montab(cmpt1, cmpt2))
Next cmpt2
Next cmpt1
RRange.Value = Montab
' Application.CutCopyMode = False
fin:
Set Montab = Nothing: Set RRange = Nothing
Application.ScreenUpdating = True
Application.EnableEvents = True
End Sub