La méthode 'Replace' de l'objet 'Range' a échoué

Résolu
Bonjour,

J'ai enregistré une macro qui supprime les accents :

Sub Accents()
'
' Accents Macro
'

'
    Cells.Replace What:="à", Replacement:="a", LookAt:=xlPart, SearchOrder _
        :=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False    Cells.Replace What:="é", Replacement:="e", LookAt:=xlPart, SearchOrder _
        :=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False
          Cells.Replace What:="è", Replacement:="e", LookAt:=xlPart, SearchOrder _
        :=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False
    Application.Run "PERSONAL.XLSB!Accents"
      Cells.Replace What:="ù", Replacement:="u", LookAt:=xlPart, SearchOrder _
        :=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False
          Cells.Replace What:="ï", Replacement:="i", LookAt:=xlPart, SearchOrder _
        :=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False
End Sub


Problème, à l'exécution, j'ai ce message hostile :

Erreur d'exécution '-2147417848 (80010108)':
La méthode 'Replace' de l'objet 'Range' a échoué


En activant le débogueur, la première ligne en gras dans le code ci-dessus est surlignée en jaune.
Y a-t-il qquechose à faire selon vous ?
La subsitution des accents semble néanmoins fonctionner

Merci

3 réponses

  • Votes
  • Date
  • Date décroissante
  1. Bonjour
    Voila une macro
    mettre au depard Cells.Select qui selectionne toute la Feuil

    Sub Macro1()
    Cells.Select
    Selection.Replace What:="é", Replacement:="e", LookAt:=xlPart, _
    SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
    ReplaceFormat:=False
    Selection.Replace What:="à", Replacement:="a", LookAt:=xlPart, _
    SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
    ReplaceFormat:=False
    ' Fin
    Range("A1").Select
    End Sub
    1. Étant donné que tu emploies Cells directement, sans désigner la feuille et le classeur, il faudrait que tu t'assures que la macro s'exécute sur le bon objet.