Concatener des dates

f76 - 15 févr. 2024 à 16:53
 f76 - 19 févr. 2024 à 10:13

Bonjour,

Je voudrais concaténer des dates pour avoir un format YYYYMMDD au lieu de JJ/MM/AAAA.

J'obtiens la date par ce code, ça fonctionne c'est parfait

   Range("G1").Select
  Do While ActiveCell.Offset(0, -1) <> ""
      ActiveCell.Offset(0, 0) = DateSerial(Left(ActiveCell.Offset(, -1), 4), Mid(ActiveCell.Offset(, -1), 5, 2), Right(ActiveCell.Offset(, -1), 2))
      ActiveCell.Offset(0, 0) = DateAdd("w", 1, ActiveCell.Offset(0, 0))
    ActiveCell.Offset(1, 0).Activate
  Loop
    Range("I:I").Select
    Selection.Insert Shift:=xlToRight

A partir de là c'est à dire la transformation en YYYYMMDD ça ne fonctionne plus.
    Range("H1").Select
    ActiveCell.FormulaR1C1 = "=concatenate(text(left(ActiveCell.Offset(, -1),4)),mid(text(ActiveCell.Offset(, -1),4,2)),right(text(ActiveCell.Offset(, -1),2)"

 Je pense ne pas en être très loin mais j'ai besoin d'aide svp?

Le tout est en VBA.

5 réponses

yg_be Messages postés 22747 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 2 mai 2024 1 477
15 févr. 2024 à 17:18

Si tu essaies simplement de changer le format d'affichage:

[h1] = [g1]
[h1].NumberFormat = "YYYYMMDD"
1
yg_be Messages postés 22747 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 2 mai 2024 1 477
15 févr. 2024 à 17:03

bonjour,

Si, je vois bien, tu calcules une date en G1, et tu obtiens le résultat souhaité.

Ensuite, tu essaies de mettre une formule en H1.  Pourquoi utilises-tu une formule, au lieu de mettre en H1 directement la valeur correspondant à la date en G1?

0
yg_be Messages postés 22747 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 2 mai 2024 1 477
15 févr. 2024 à 17:09

suggestion:

[h1] = Day([g1]) + 100 * Month([g1]) + 10000 * Year([g1])
0

Bonjour, merci pour vos réponses.

La 1ere solution fonctionne parfaitement, je ne connaissait absolument pas mais  en même temps je ne suis pas très expérimentée dans ce domaine, je m'autoforme au fur et a mesure. 

J'aurais encore une petite question, la cellule H1 affiche des dièses au lieu du résultat qui est visible dans le carré au dessus de la feuille sinon ce n'est pas grave cela ne gène pas pour la suite de la macro.

La 2eme solution j'avais déjà essayé mais ça ne fonctionne pas.

0
yg_be Messages postés 22747 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 2 mai 2024 1 477
16 févr. 2024 à 20:48

Les dièses s'affichent ainsi quand la cellule est trop petite pour afficher la valeur.

Je pense que tu devrais partout utiliser des vraies dates, ne jamais calculer des valeurs en YYYYMMDD, et simplement afficher ces dates en YYYYMMDD.

Si tu partages ton fichier, je pourrai être plus précis.

0

Bonjour,

Je ne vois pas comment joindre un fichier, peux tu me dire stp?

0
yg_be Messages postés 22747 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 2 mai 2024 1 477
19 févr. 2024 à 10:03

Pour partager un fichier, il faut le mettre à disposition sur Internet (cjoint.com, google drive, ...), puis publier ici un lien vers ce fichier partagé.

0

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

Posez votre question

ok merci je le ferai plus tard.

0