Erreur d'exécution [Résolu/Fermé]

Signaler
Messages postés
57
Date d'inscription
lundi 4 avril 2016
Statut
Membre
Dernière intervention
28 décembre 2020
-
 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


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.  😊
 

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.  😊