[Excel] vba : garder que les caracteres alpha

Bonjour,

J'ai des chaines de caracteres qui peuvent contenir du texte alphabétique ainsi que ',",#,é,à...
y a t il un moyen sous vba de supprimer les signes (ou les remplacer par _) ? et si possible de remplacer é par e et à par a,...

merci
Configuration: Windows XP
Firefox 2.0.0.13

4 réponses

  1. A adapter à tes besoins spécifiques:

    machaine = Range("B1").Value

    For i = 1 To Len(machaine)
    mcar = Asc(Mid(machaine, i, 1))

    Select Case mcar

    Case 32, 39, 65 To 90, 97 To 122 'si espace, apostrophe,minuscule ou majuscule
    temp = temp & Mid(machaine, i, 1)

    Case 224, 226 'a accentué
    temp = temp & "a"

    Case 232 To 234 'e accentué
    temp = temp & "e"

    End Select
    Next i
    Range("B2").Value = temp '(j'ai mis le résultat dans une autre cellule pour les essais, mais on aurait pu écrire dans B1

    Maintenant ton texte est il dans une cellule, dans plusieurs? Comment doit-on lancer la mise à jour ?

    Courage
    0
    1. Bonjour,

      merci pour ce petit script, je l'adapterai à mes besoins.
      je pensais, au départ, qu'il pouvait exister une fonction toute faite dans VBA.

      Cordialement
      0
      1. Contributeur
        Bonjour,
        Il y a effectivement une possibilité d'avoir ce résultat avec un Addin d'excel
        Charger MoreFunc ici
        Et ensuite la fonction
        =ANSI128(D13;0)
        enlève tout les accents de la chaine et remplace par la lettre non accentuée.
        A+
        0
        1. Contributeur
          Re,
          a combiner avec
          =REGEX.SUBSTITUE(ANSI128(D9;0);"#";"")
          dans le même Addin
          A+
          0