[Excel] vba : garder que les caracteres alpha

mortelrdv -  
lermite222 Messages postés 8724 Date d'inscription   Statut Contributeur Dernière intervention   -
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
A voir également:

4 réponses

zheimer
 
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
mortelrdv
 
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
lermite222 Messages postés 8724 Date d'inscription   Statut Contributeur Dernière intervention   1 191
 
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
lermite222 Messages postés 8724 Date d'inscription   Statut Contributeur Dernière intervention   1 191
 
Re,
a combiner avec
=REGEX.SUBSTITUE(ANSI128(D9;0);"#";"")
dans le même Addin
A+
0