Erreur d'exécution

Résolu
Lils_Bis Messages postés 57 Date d'inscription   Statut Membre Dernière intervention   -  
 Utilisateur anonyme -
Bonjour,
Je travaille actuellement grâce à VBA via EXCEL
Lorsque j'exécute mon code qui devrait supprimer le dernier caractère ainsi que l'espace qui le précède, il m'indique qu'il y a une erreur d'exécution, en l'occurrence la 5... Aussi, il supprime bien ce que je lui demande mais que jusqu'à ce qu'il trouve une cellule vide au sein de la colonne.
HELP PLEASE !

Je vous mets mon code associé à cette erreur :

Private Sub Clean_Click()
'NETTOYAGE
'SUPP ?
Dim NC, Cel As Range
For Each Cel In Range("N2:N869")
Cel.Value = Trim(Cel.Value) 'supprime espaces
NC = Len(Cel) 'compte les caractères
Cel.Value = Left(Cel, NC - 1)
Next Cel
End Sub


2 réponses

Utilisateur anonyme
 
Bonjour Lils_Bis,

Après ta ligne NC = Len(Cel), ajoute un test devant ta ligne suivante :
If NC > 0 Then Cel = Left$(Cel, NC - 1)

Note que le .Value de Cel.Value est inutile, et c'est mieux d'ajouter
un signe " $ " à Left() : Left$().

Cordialement.  😊
 
0
Utilisateur anonyme
 
J'ai oublié :

1) Tu peux supprimer ta 2ème ligne commentaire : 'SUPP ?

2) Pour Trim() aussi, c'est mieux d'ajouter un signe " $ " :
Cel = Trim$(Cel)
Là aussi, les 2 .Value sont inutiles !

3) Trim$() supprime les espaces avant et après ; si tu as besoin
d'enlever seulement les espaces après, tu peux utiliser RTrim$()

Cordialement.  😊
 
0