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.

6 réponses

m@rina Messages postés 21254 Date d'inscription mardi 12 juin 2007 Statut Contributeur Dernière intervention 15 janvier 2025 11 378
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 18354 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 1 janvier 2025 5 110
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 18354 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 1 janvier 2025 5 110
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