Erreur d'exécution

Résolu/Fermé
Lils_Bis Messages postés 57 Date d'inscription lundi 4 avril 2016 Statut Membre Dernière intervention 28 décembre 2020 - Modifié par Lils_Bis le 5/04/2016 à 16:34
 Utilisateur anonyme - 2 mai 2016 à 16:35
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
2 mai 2016 à 14:18
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
2 mai 2016 à 16:35
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