Enregistrement fichier MSG avec date au format américain
nicolasBsegula
Messages postés2Date d'inscriptionvendredi 16 novembre 2007StatutMembreDernière intervention22 novembre 2007
-
21 nov. 2007 à 15:42
nicolasBsegula
Messages postés2Date d'inscriptionvendredi 16 novembre 2007StatutMembreDernière intervention22 novembre 2007
-
22 nov. 2007 à 10:19
Bonjour,
j'ai recupéré une macro sur ce site afin de sauvegarder les messages au format MSG cependant la date du fichier enregistré est sous la forme jour mois année :
" (21.11.2007 13.52.50)Message test.msg "
Mon besoin etant de mettre cette date au format américain (année mois jour) pouvez-vous m'aider afin de modifier le code ci dessous.
Merci par avance.
Sub Enregistrements_Messages()
On Error GoTo AddAppt_Err
Dim myOlApp As New Outlook.Application
Dim myOlExp As Outlook.Explorer
Dim myOlSel As Outlook.Selection
Dim x As Integer
Dim i As Integer
Dim NameFile As String
Dim NameFileTemp As String
Dim SaveFile As Variant
Dim myNamespace As Variant
Dim myFolder As Variant
Dim myExplorer As Variant
Dim DateRecept As String
Dim fs, f, sf
Set fs = CreateObject("Scripting.FileSystemObject")
'Set myOlApp = CreateObject("Outlook.Application")
Set myOlApp = Application
Set myOlExp = myOlApp.ActiveExplorer
Set myOlSel = myOlExp.Selection
'Si le nombre de messages sélectionnés est inférieur à 1 => quitter programme
If myOlSel.Count < 1 Then
MsgBox "Aucun message sélectionné", vbCritical, "Erreur"
Exit Sub
End If
DirBox.Show
If Répertoire = "" Then Exit Sub
Set myNamespace = myOlApp.GetNamespace("MAPI")
Set myFolder = myNamespace.GetDefaultFolder(olFolderInbox)
Set myExplorer = myFolder.GetExplorer
Progression.Show 0
For x = 1 To myOlSel.Count
Progression.ProgressBar.Max = myOlSel.Count
Progression.ProgressBar.Value = x
Progression.Texte.Caption = myOlSel.Item(x)
DoEvents
Dim fff
fff = myOlSel.Item(x).Class
Debug.Print fff & NameFile
DateRecept = myOlSel.Item(x).ReceivedTime
If Err.Description = "Le navigateur a été fermé et ne peut pas être utilisé pour d'autres opérations. Vérifiez votre code et redémarrez Outlook." Then
MsgBox "Aucun message sélectionné", vbCritical, "Erreur"
Exit Sub
End If
MsgBox "Error " & Err.Number & vbCrLf & Err.Description & Chr(13) & "Probleme sur le MSG : " & NameFile
cs_Jack
Messages postés14006Date d'inscriptionsamedi 29 décembre 2001StatutModérateurDernière intervention28 août 201579 21 nov. 2007 à 20:38
Salut
Le format français est Jour/Mois/Année
Le format américain est Mois.Jour/Année
Celui dont tu parles Année/Mois/Jour est le format japonais.
Pas grave, on avait compris que ce format est évidemment pratique pour nommer des fichiers.
En fait, peu importe le nom du format, il te faudra le faire à la main :
Il te faut isoler dans 3 variables le jour, le mois et l'année.
En supposant que DateRecept est au format français (le format de ton Windows) :
Dim Jour As String, Mois As String, Année As String
Jour = CStr(Day(DateRecept))
Mois = CStr(Month(DateRecept))
Année = CStr(Year(DateRecept))
Et la date dans le format qui t'intéresse se recompose avec
NameFile = " (" & Année & "." & Mois & "." & Jour & ")" & NameFile
Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés
<hr />Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)