date sans ZERO à transformer en 3 fois 2 caractéres ou 2x2 +" 2015"

Gaby71

XLDnaute Junior
Bonjour,
Je reçois un fichier en .csv où une cellule est la date de création
une macro triture ce fichier pour créer un rapport en .xls et notamment de cette date pour nommer ce fichier (CVB302-2015-12-10-00)
J'ai créé la macro fin décembre , impeccable ...
mais en janvier, il manque des 0 (8/1/2015)
il me faudrait insérer dans ma macro quelques lignes de code pour mettre cette date à notre standard (08/01/2015).

Merci d'avance

Gaby
 

camarchepas

XLDnaute Barbatruc
Re : date sans ZERO à transformer en 3 fois 2 caractéres ou 2x2 +" 2015"

Bonjour ,

un petit essai :

Code:
Sub gg()
Dim Journée As String, dateplus As String
Journée = "8/1/15"
dateplus = Format(Journée, "dd/mm/yyyy")
MsgBox "journée " & Journée & " dateplus " & dateplus
End Sub
 

Dranreb

XLDnaute Barbatruc
Re : date sans ZERO à transformer en 3 fois 2 caractéres ou 2x2 +" 2015"

Bonjour.

Vous voulez quoi au final, une date ou du texte ?
Mettez ce code dans un module, exécutez Test et étudiez le texte du message :
VB:
Sub Test()
Dim V As Variant, Z As String
V = "8/1/2015": Z = Vf(V) & " est une donnée de type " & TypeName(V)
Z = Z & vbLf & "CDate(" & Vf(V) & ")": V = CDate(V): Z = Z & " = " & Vf(V) & " (donnée de type " & TypeName(V) & ")"
Z = Z & vbLf & "Format(" & Vf(V) & ", " & Vf("dd/mm/yyyy") & ")": V = Format(V, "dd/mm/yyyy"): Z = Z & " = " & Vf(V) & " (donnée de type " & TypeName(V) & ")"
MsgBox Z, vbInformation, "Test"
End Sub
Function Vf(ByVal Valeur)
If VarType(Valeur) = vbString Then Vf = """" & Replace(Valeur, _
   """", """""") & """" Else Vf = Trim$(Str$(Valeur))
End Function
 
Dernière édition:

camarchepas

XLDnaute Barbatruc
Re : date sans ZERO à transformer en 3 fois 2 caractéres ou 2x2 +" 2015"

Oups ,

Le / est un caractère interdit pour la sauvegarde de fichier ,

donc plutot ceci

Code:
Sub gg()
Dim Journée As String, dateplus As String
Journée = "8/1/15"
dateplus = Format(Journée, "dd-mm-yyyy")
MsgBox "journée " & Journée & " dateplus " & dateplus
End Sub
 

Staple1600

XLDnaute Barbatruc
Re : date sans ZERO à transformer en 3 fois 2 caractéres ou 2x2 +" 2015"

Re, bonjour Dranreb


Un chouia plus court, bis
(lol: faut bien rigoler camarchepas en cette matinée pluvieuse ;))

Code:
Sub b()
chaine = "8/1/15"
MsgBox Replace(DateValue(chaine), "/", "-")
End Sub
 

camarchepas

XLDnaute Barbatruc
Re : date sans ZERO à transformer en 3 fois 2 caractéres ou 2x2 +" 2015"

Salutations Jean Marie , Bernard , Gaby

et oui , tout plein de solution , il suffit de chercher dans XLD, de ce baisser et de récupérer les trésors de savoir et d'ingeniosité
 

Gaby71

XLDnaute Junior
Re : date sans ZERO à transformer en 3 fois 2 caractéres ou 2x2 +" 2015"

Merci à Tous

Bonjour

De retour au bureau, je joins en fichier attaché un extrait de ma page excel où il y a cette date issue d'un fichier .csv venant des USA

j'ai déjà une macro qui la transforme en JJ/MM/aaaa.
Je l'avais fait fin decembre et en janvier , il manque des zero

Merci de m'avoir aidé

je vais appliquer ce que vous m'avez donné

Merci encore

@+

Gaby
 

Pièces jointes

  • date.xlsx
    8.3 KB · Affichages: 21
  • date.xlsx
    8.3 KB · Affichages: 27
  • date.xlsx
    8.3 KB · Affichages: 33

Gaby71

XLDnaute Junior
Re : date sans ZERO à transformer en 3 fois 2 caractéres ou 2x2 +" 2015"

Je n'arrive pas à appliquer tout ce que vous m'avez dit

Pour être plus simple je veux juste ajouter des zero si il y a en besoin

Merci d'avance

Gaby
 

Pièces jointes

  • date.xlsx
    8.3 KB · Affichages: 28
  • date.xlsx
    8.3 KB · Affichages: 46
  • date.xlsx
    8.3 KB · Affichages: 40

Dranreb

XLDnaute Barbatruc
Re : date sans ZERO à transformer en 3 fois 2 caractéres ou 2x2 +" 2015"

Bonjour.

Il n'y a toujours pas de macro dans votre classeur joint, alors on ne peut pas vous dire comment adapter au mieux la macro que vous aviez écrite.
Regardez ça :
VB:
Sub test()
Dim Tspl() As String
Tspl = Split("2/26/2015", "/")
MsgBox Format(DateSerial(Tspl(2), Tspl(0), Tspl(1)), "dd-mm-yyyy")
End Sub
 

Gaby71

XLDnaute Junior
Re : date sans ZERO à transformer en 3 fois 2 caractéres ou 2x2 +" 2015"

Bonjour

La macro qui est faite bien en sert en aval pour nommer le fichier

debut janvier , j'ai vu qu'il me manque des zero dans la date de la cellule C3 du dernier fichier attaché

Alors je voudrais avoir quelques lignes de code pour compléter "C3" quand c'est necessaire pour avoir "mm/jj/aaaa"

je n'ai pas su adapter les"MsgBox " en valeur de cellules...

Merci d'avance
 

Dranreb

XLDnaute Barbatruc
Re : date sans ZERO à transformer en 3 fois 2 caractéres ou 2x2 +" 2015"

Si à un moment donné en amont vous avez une expression Z en String représentant une date anglaise et que vous voulez mettre une donnée date dans une cellule ligne L colonne C de la feuille active faites :
VB:
Dim TSpl() As String
Tspl = Split(Z, "/")
Cells(L, C).Value = DateSerial(Tspl(2), Tspl(0), Tspl(1))
En l'occurrence :
VB:
Dim TSpl() As String
Tspl = Split([C3].Value, "/")
NomFic = Format(DateSerial(Tspl(2), Tspl(0), Tspl(1)), "dd-mm-yyyy")
 
Dernière édition:

Statistiques des forums

Discussions
312 321
Messages
2 087 239
Membres
103 497
dernier inscrit
JP9231