code outlook format date [VBA] - VB/VBA/VBS - Programmation
MarshPosté le 06-09-2021 à 11:50:42
Bonjour
J'ai un soucis que je n'arrive pas à résoudre. une macro va récupérer une date dans l'objet d'un mail outlook, la date est au format dd/mm/yyyy dans l'objet du mail. Cependant quand il la récupere dans vba il l'a met au format mm/dd/yyyy. Je ne sais pas comment récupérer la date sous excel au meme format que dans l'objet du mail
est ce qu'il existe un code particulier pour récupérer la date au meme format que dans l'objet du mail ? Sub CheckIsin()
'onglet cm blotter 'installer outlook app Dim outlookApp As Outlook.Application Dim oOutlook As Outlook.Namespace Dim oInboxMos As Recipient Dim oDossier As Outlook.MAPIFolder Dim myItems As Outlook.Items Dim myItem As Object
'indenter outlook for ged mo Set outlookApp = New Outlook.Application Set oOutlook = outlookApp.GetNamespace("MAPI" ) Set oInboxMos = oOutlook.CreateRecipient("GED_MO@***.com" ) Set oDossier = oOutlook.GetSharedDefaultFolder(oInboxMos, olFolderInbox) 'Set oDossier = oOutlook.GetDefaultFolder(olFolderInbox) Set myItems = oDossier.Items
Dim Isin As String Dim i As Integer Dim n As Integer
'parcours colonne de ref Isin, important cellule C2 name = Isin n = Range("Isin", Range("Isin" ).End(xlDown)).Count - 1
'parcours mail dans inbox et verifie si dans sujet du mail il y a isin For i = 0 To n Isin = Worksheets("CM Blotter" ).Range("Isin" ).Offset(i, 0).Value For Each myItem In myItems If myItem.Class = olMail Then If InStr(1, myItem.Subject, Isin) > 0 Then Range("YorN" ).Offset(i, 0).Value = "Yes" Cells(i + 2, 5).Value = Split(Split(myItem.Subject, " - " )(9), " : " )(1) Exit For Else Range("YorN" ).Offset(i, 0).Value = "No" Cells(i + 2, 5).Value = "no mail" End If End If Next myItem Next i
Marsh Posté le 06-09-2021 à 11:50:42
Bonjour
J'ai un soucis que je n'arrive pas à résoudre. une macro va récupérer une date dans l'objet d'un mail outlook, la date est au format dd/mm/yyyy dans l'objet du mail. Cependant quand il la récupere dans vba il l'a met au format mm/dd/yyyy. Je ne sais pas comment récupérer la date sous excel au meme format que dans l'objet du mail
est ce qu'il existe un code particulier pour récupérer la date au meme format que dans l'objet du mail ?
Sub CheckIsin()
'onglet cm blotter
'installer outlook app
Dim outlookApp As Outlook.Application
Dim oOutlook As Outlook.Namespace
Dim oInboxMos As Recipient
Dim oDossier As Outlook.MAPIFolder
Dim myItems As Outlook.Items
Dim myItem As Object
'indenter outlook for ged mo
Set outlookApp = New Outlook.Application
Set oOutlook = outlookApp.GetNamespace("MAPI" )
Set oInboxMos = oOutlook.CreateRecipient("GED_MO@***.com" )
Set oDossier = oOutlook.GetSharedDefaultFolder(oInboxMos, olFolderInbox)
'Set oDossier = oOutlook.GetDefaultFolder(olFolderInbox)
Set myItems = oDossier.Items
Dim Isin As String
Dim i As Integer
Dim n As Integer
myItems.Sort "[SentOn]", True
Range("YorN" ).ClearContents
'parcours colonne de ref Isin, important cellule C2 name = Isin
n = Range("Isin", Range("Isin" ).End(xlDown)).Count - 1
'parcours mail dans inbox et verifie si dans sujet du mail il y a isin
For i = 0 To n
Isin = Worksheets("CM Blotter" ).Range("Isin" ).Offset(i, 0).Value
For Each myItem In myItems
If myItem.Class = olMail Then
If InStr(1, myItem.Subject, Isin) > 0 Then
Range("YorN" ).Offset(i, 0).Value = "Yes"
Cells(i + 2, 5).Value = Split(Split(myItem.Subject, " - " )(9), " : " )(1)
Exit For
Else
Range("YorN" ).Offset(i, 0).Value = "No"
Cells(i + 2, 5).Value = "no mail"
End If
End If
Next myItem
Next i
End Sub