Enlever caractères spéciaux
Tootsi
-
michel_m Messages postés 18903 Statut Contributeur -
michel_m Messages postés 18903 Statut Contributeur -
Bonjour,
mon ami Google n'a pas réussi m'aider, donc je me tourne vers vous : je devrais enlever tous les caractéres speciaux (*&^%$#@!"' ;\|?></, Ä, Â etc. sur une feuille d'excel comportant près de 10 000 lignes, et ceci plusiquers fois par semaine. Rechercher - remplacer prend trop de temps, et je ne suis pas très calée avec les macros. Quelqu'un connait-il un moyen pour le faire?
Merci beaucoup d'avance!
Cordialement,
Tootsi
mon ami Google n'a pas réussi m'aider, donc je me tourne vers vous : je devrais enlever tous les caractéres speciaux (*&^%$#@!"' ;\|?></, Ä, Â etc. sur une feuille d'excel comportant près de 10 000 lignes, et ceci plusiquers fois par semaine. Rechercher - remplacer prend trop de temps, et je ne suis pas très calée avec les macros. Quelqu'un connait-il un moyen pour le faire?
Merci beaucoup d'avance!
Cordialement,
Tootsi
A voir également:
- Excel supprimer caractère spécifique
- Supprimer rond bleu whatsapp - Guide
- Caractère ascii - Guide
- Caractère spéciaux - Guide
- Liste déroulante excel - Guide
- Caractere speciaux - Guide
4 réponses
Bonjour,
Voici un exemple avec 3 caractères spéciaux, il faudra l'adapter.
Faites une sauvegarde du classeur avant par prudence:
Bon courage
Voici un exemple avec 3 caractères spéciaux, il faudra l'adapter.
Faites une sauvegarde du classeur avant par prudence:
Option Explicit
Private Sub CommandButton1_Click()
For_X_to_Next_Colonne
End Sub
Sub For_X_to_Next_Colonne()
Dim FL1 As Worksheet, Cell As Range, NoCol As Integer
Dim NoLig As Long, DerLig As Long, Var As Variant
'Instance de la feuille qui permet d'utiliser FL1 partout dans
'le code à la place du nom de la feuille
Set FL1 = Worksheets("Feuil1")
'Détermine la dernière ligne renseignée de la feuille de calculs
'(Voir explication sur l'utilisation de Split en bas de cette discussion)
DerLig = Split(FL1.UsedRange.Address, "$")(4)
'Fixe le N° de la colonne à lire
NoCol = 1
'Utilisation du N° de ligne dans une boucle For ... Next
For NoLig = 1 To DerLig
FL1.Cells(NoLig, NoCol).Select
Caractere_speciaux
'Pour tester : Affiche les variables dans la fenêtre Exécution de VBA
Debug.Print Var
Next
Set FL1 = Nothing
End Sub
Sub Caractere_speciaux()
ReDim A_Remplacer(0 To 3) 'adapter au nombre de caractères
ReDim Remplacants(0 To 3) 'adapter au nombre de caractères
Dim I As Byte
On Error Resume Next
A_Remplacer = Array("%", "@", "&") 'ajouter les caractéres spéciaux
Remplacants = Array("", "", "") 'ajouter les blancs
For I = 0 To 3 'adapter au nombre de caractères
Cells.Replace What:=A_Remplacer(I), Replacement:=Remplacants(I), LookAt:=xlPart
Next I
End Sub
Bon courage
Sub Caractere_speciaux() ReDim A_Remplacer(0 To 2) 'adapter au nombre de caractères ReDim Remplacants(0 To 2) 'adapter au nombre de caractères Dim I As Byte A_Remplacer = Array("%", "@", "&") 'ajouter les caractéres spéciaux Remplacants = Array("", "", "") 'ajouter les blancs For I = 0 To 2 'adapter au nombre de caractères Cells.Replace What:=A_Remplacer(I), Replacement:=Remplacants(I), LookAt:=xlPart Next I End SubCela commence à 0, il y a 3 caractères, cela fait :
0 To 2