VBA - Supprimer les slash dans une date

Résolu/Fermé
nabhalia Messages postés 23 Date d'inscription vendredi 29 octobre 2010 Statut Membre Dernière intervention 12 mars 2015 - 16 janv. 2011 à 12:15
 Numa - 22 juin 2016 à 16:26
Bonjour,


Sous Excel 2003, avec une macro, je voudrais supprimer les slash dans une date.
Passer de 08/12/1978 à 08121978

J'ai saisi le code ci-dessous sous vba :

    ActiveCell.Select
    ActiveCell.Replace What:="/", Replacement:=""
    
    Selection.NumberFormat = "@"


Mais quand je lance la macro j'obtiens le résultat suivant :
08/12/1978 -> 1281978

Excel inverse les "jours" et les mois". (problème de format de date anglais je suppose...)
Quelqu'un saurait-il m'expliquer comment éviter cette inversion ?

Accessoirement, comment faire pour qu'il ne supprime pas le "0" avant le "8" ?
(j'arriverai m'arranger pour le replacer si le "8" repasse en première position dans la cellule, mais s'il y a un moyen de le faire simplement...)

Désolée si cette question a déjà été posée, j'ai cherché pendant quelques jours, mais rien trouvé.

Merci d'avance pour votre aide :-)
N.
A voir également:

6 réponses

m@rina Messages postés 20033 Date d'inscription mardi 12 juin 2007 Statut Contributeur Dernière intervention 19 avril 2024 11 269
16 janv. 2011 à 13:43
Bonjour

C'est juste une question de format, il n'y a pas à supprimer les /.

Essaie ceci :

ActiveCell.NumberFormat = "ddmmyyyy"


m@rina
0
nabhalia Messages postés 23 Date d'inscription vendredi 29 octobre 2010 Statut Membre Dernière intervention 12 mars 2015
16 janv. 2011 à 16:17
Bonjour,

Je viens de tester,
Si je mets ce format, la cellule reste au format date, ce que je voudrais éviter.

Je dois reprendre le contenu de cette cellule dans une autre, et Excel me remet alors les slash...
0
Mike-31 Messages postés 18310 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 29 mars 2024 5 073
16 janv. 2011 à 18:43
Salut,

Regardes si c'est ce que tu cherches

ActiveCell.Select
ActiveCell.Replace What:="/", Replacement:=""
Selection.NumberFormat = "00000000"
0
nabhalia Messages postés 23 Date d'inscription vendredi 29 octobre 2010 Statut Membre Dernière intervention 12 mars 2015
19 janv. 2011 à 20:51
Bonjour,

Ça ne fonctionne pas non plus avec le format "00000000" ,

mais j'ai réussi à contourner le problème en insérant du texte dans la cellule, puis en supprimant les slashs.

Au cas où, si quelqu'un a une solution plus directe, ça m'intéresserait de la connaître.

Merci pour votre aide.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Mike-31 Messages postés 18310 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 29 mars 2024 5 073
19 janv. 2011 à 22:34
Re,

Regarde si ce code te convient

Selection.FormulaR1C1 = "'" & ActiveCell
Selection.Replace What:="/", Replacement:=""
0
Autre solution : créer un fichier de type note pad / Bloc-Notes (donc format .txt) copier les dates et les coller dans le fichier .txt les / disparaissent
Copier les valeurs et les coller dans Excel en ayant au préalable configurer les cellules au format Texte (pour éviter de perdre les "0" en début de date)
0