Bonjour,
Je voudrais exporter des données de mail de Outlook vers un fichier Excel.
Je bloque sur la manipulation de la partie Excel.
Lorsque je veux par exemple connaître la dernière ligne d'une colonne avec le bout de code suivant :
DerLigne = XlClas.worksheets(W1_Feuille1).Cells(Rows.Count, 1).End(xlUp).Row + 1
J'ai le message d'erreur suivant :
Le code est le suivant :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55
| Sub export_des_données()
Dim MonApplication As Object
Dim monfichier As String
Dim XlClas
Dim Ws As Object
Dim SelectedMail As MailItem
Dim expediteur, objet, contenu As String
Dim date_reception As Date
Dim heure_reception As Date
Dim Nom_Prenom As String
Dim DerLigne As String
Dim Feuille1 As String
Feuille1 = "Suivi"
Select Case TypeName(ActiveWindow)
Case "Explorer"
Set SelectedMail = ActiveExplorer.Selection.Item(1)
Case "Inspector"
Set SelectedMail = ActiveInspector.CurrentItem
End Select
'Récupération infos mail
With SelectedMail
If .SenderEmailType = "EX" Then
expediteur = .Sender.GetExchangeUser().PrimarySmtpAddress
Else
expediteur = .SenderEmailAddress
End If
Nom_Prenom = .SenderName
date_reception = CDate(Int(.ReceivedTime))
heure_reception = TimeValue(.ReceivedTime)
objet = .Subject
contenu = .Body
End With
Set MonApplication = CreateObject("Excel.Application")
MonApplication.Visible = True
monfichier = "C:\Users\MA\Desktop\Travail\Suivi.xlsx"
Set XlClas = MonApplication.Workbooks.Open(monfichier)
Set Ws = XlClas.sheets(Feuille1)
If Ws.FilterMode Then
Ws.ShowAllData
End If
If Ws.FilterMode Then
Ws.ShowAllData
End If
'Ecriture des valeurs dans Excel
DerLigne = XlClas.worksheets(Feuille1).Cells(Rows.Count, 1).End(xlUp).Row + 1
XlClas.worksheets(Feuille1).Cells(DerLigne , 7 + 1).Value = contenu |
Est-ce que certaines fonctions ne fonctionnent pas sous Outlook ?
Merci.
Partager