Macro pour supprimer un espace insécable

Résolu/Fermé
Gaston Lagaffe 94 Messages postés 6 Date d'inscription lundi 4 juin 2012 Statut Membre Dernière intervention 14 juin 2012 - 11 juin 2012 à 20:50
Gaston Lagaffe 94 Messages postés 6 Date d'inscription lundi 4 juin 2012 Statut Membre Dernière intervention 14 juin 2012 - 14 juin 2012 à 06:29
Bonjour,

J'ai besoin d'un petit coup de main pour supprimer un espace insécable situé à la fin d'une date dans chaque cellule de la même colonne.
J'ai bien réussi à le supprimer avec la fonction =CNUM(SUPPRESPACE(B2)), mais cela m'oblige à recréer une colonne dans une autre feuille.
J'essaye de créer une macro pour supprimer cet espace directement dans la colonne concernée, mais malgré divers essais je n'arrive pas à un résultat satisfaisant.
Quelqu'un a-t-il une idée pour me sortir de la panade ?
En vous remerciant par avance.

Je joint un petit extrait de mon fichier original contenant les fameux espaces insécables (en colonne B).

https://www.cjoint.com/?BFluOkekMky
A voir également:

2 réponses

gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 4 684
11 juin 2012 à 23:46
bonjour,

En fait tu n'as pas d'espace insécable dans tes données, c'est assez bizarre, car ta date parait correcte mais n'est pas traitée comme date malgré le format.

Cette macro devrait te réparer cette colonne B :

Public Sub vers_date()
Dim elm As Range
For Each elm In UsedRange.Columns("B").Cells
    If IsDate(elm.Value) Then elm.Value = CDate(elm.Value)
Next elm
End Sub
0
Gaston Lagaffe 94 Messages postés 6 Date d'inscription lundi 4 juin 2012 Statut Membre Dernière intervention 14 juin 2012
12 juin 2012 à 19:40
Bonjour et merci d'avoir pris en compte ma demande. J'ai essayé la macro que tu me propose, mais je me retrouve avec une "erreur d'exécution '424' " après l'exécution de la ligne 3.
0
gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 4 684
12 juin 2012 à 23:09
Bonjour,

Si tu as mis la macro dans un module il faut préciser la feuille concernée, par exemple :

For Each elm In Activesheet.UsedRange.Columns("B").Cells
0
Gaston Lagaffe 94 Messages postés 6 Date d'inscription lundi 4 juin 2012 Statut Membre Dernière intervention 14 juin 2012
14 juin 2012 à 06:29
Bonjour,

Ça y est ça fonctionne impeccable. J'ai eu beaucoup de mal à l'adapter à ma macro principale, mais, enfin, ça marche. Un grand merci à toi.
Cdt
0