XL 2013 Effacer ponctuation d'un texte par vba

Usuule

XLDnaute Nouveau
Bonjour à tous,

Nous recevons des écritures comptables avec de la ponctuation.
Le logiciel ne les accepte pas et j'ai donc décidé d'écrire une macro pour les effacer.

La première ne fonctionnant pas, je l'ai réécrit sous une forme légèrement différente.

Le problème est toujours le même, elle plante lorsqu'elle effectue sa deuxième boucle.

J'ai cherché pourquoi mais je ne comprends pas d'ou vient le problème.

Vous trouverez les éléments dans le fichier joint en version allégée.

Merci pour votre aide
:cool:
 

Pièces jointes

  • TEST efface symbole.xlsm
    20.8 KB · Affichages: 54

Paf

XLDnaute Barbatruc
Re : Effacer ponctuation d'un texte par vba

Bonjour Usuule, tototiti2008,

une autre approche sans RegExp

Code:
Sub remplace()
 Dim NomTableau(5), TabDonnées, i As Long, j As Byte
 
 'Alimente les éléments du tableau
    NomTableau(0) = "/"
    NomTableau(1) = "?"
    NomTableau(2) = "\"
    NomTableau(3) = "-"
    NomTableau(4) = ":"

 '**
 With Worksheets("TEST")
    TabDonnées = .Range("A2:A" & .Range("A" & .Rows.Count).End(xlUp).Row)
    For i = LBound(TabDonnées) To UBound(TabDonnées)
        For j = LBound(NomTableau) To UBound(NomTableau)
            TabDonnées(i, 1) = Replace(TabDonnées(i, 1), NomTableau(j), "")
        Next
    Next
    
    .Range("E2").Resize(UBound(TabDonnées), 1) = TabDonnées
 End With
End Sub

A+
 

Usuule

XLDnaute Nouveau
Re : Effacer ponctuation d'un texte par vba

Désolé Toto,
J'avais oublié que mon navigateur n'ouvre pas le bon fichier lorsque je l'ai déjà chargé avec le même nom, il ouvre le premier chargement.

Merci Toto et Paf pour votre aide et les solutions
 

Statistiques des forums

Discussions
312 469
Messages
2 088 695
Membres
103 922
dernier inscrit
hhhh