Probleme !!!

  • Initiateur de la discussion Will1841
  • Date de début
W

Will1841

Guest
Je dois faire un bouton excel vba qui ouvre outlook et qui copie le contenu d'un mail dans la page excel....

le prob c'est que il copie le contenu du mail que dans une cellule.......
J'ai comme code il copie le mail et le met dans excel en créant la page...

Dim OLapp As Outlook.Application
Dim OLspace As Outlook.NameSpace
Dim OLinbox As Outlook.MAPIFolder
Dim OLfolder As Outlook.MAPIFolder
Dim OLmail As Outlook.MailItem
Dim OLpj As Outlook.Attachment


' Copie le contenu d'un mail dans un fichier excel

Private Sub chMail()

Set OLapp = CreateObject("Outlook.application")
Set OLspace = OLapp.GetNamespace("MAPI")
Set OLinbox = OLspace.GetDefaultFolder(olFolderInbox)

For Each OLmail In OLinbox.Items
If OLmail.SenderName = "NomExpediteur, Prénom" Then
Dim OLbody As String
OLbody = OLmail.Body

Dim xlApp As Excel.Application
Dim wbk As Excel.Workbook
Dim sht As Excel.Worksheet

Set xlApp = CreateObject("Excel.Application")
With xlApp
.Visible = True
Set wbk = .Workbooks.Add
Set sht = wbk.ActiveSheet

With sht
.Range("A1") = OLbody
End With

wbk.SaveAs "C:\Chemin\Dossier\Fichier.xls"
wbk.Close
.Quit
End With

Set sht = Nothing
Set wbk = Nothing
Set xlApp = Nothing

End If
Next

End Sub

Est il possible de créé une page bloc note a la place de la page excel ????????????????
 
M

michel

Guest
Re: Exporter mails dans fichiers texte

bonsoir Will

pour commencer , je t'invite à lire la Charte XLD , nottament le premier chapitre

J'espere que la modification ci dessous repondra à ta demande


Option Explicit
Dim OLapp As Outlook.Application
Dim OLspace As Outlook.NameSpace
Dim OLinbox As Outlook.MAPIFolder
Dim OLfolder As Outlook.MAPIFolder
Dim OLmail As Outlook.MailItem
Dim OLpj As Outlook.Attachment

Private Sub TransfertMailsDansFichiersTextes()
Dim OLbody As String
Dim Cible As Integer
Dim i As Byte

Set OLapp = CreateObject("Outlook.application")
Set OLspace = OLapp.GetNamespace("MAPI")
Set OLinbox = OLspace.GetDefaultFolder(olFolderInbox)

For Each OLmail In OLinbox.Items
If OLmail.SenderName = "NomExpediteur, Prénom" Then
OLbody = OLmail.Body
i = i + 1
Cible = FreeFile
'adapter chemin fichier de suivi sur le reseau
Open "C:\Documents and Settings\ " & i & " NomExpediteur Prenom.txt" For Append As #Cible
Print #1, OLbody
Close #Cible

End If
Next
Set OLapp = Nothing
Set OLspace = Nothing
Set OLinbox = Nothing
End Sub



bonne soiree
michel
 
W

Will1841

Guest
Bonjour,
Tout d'abord merci pour le code que vous m'avez fourni car il marche très bien et c'est exactement ce que j'avais besoin....
Cependant j'aurai besoin d'une petite modification si vous pouviez m'aider....
Il faudrait que le document texte qui est créer par le code soit supprimé à la fin est ce possible ?????

Dim OLapp As Outlook.Application
Dim OLspace As Outlook.NameSpace
Dim OLinbox As Outlook.MAPIFolder
Dim OLfolder As Outlook.MAPIFolder
Dim OLmail As Outlook.MailItem
Dim OLpj As Outlook.Attachment

Private Sub TransfertMailsDansFichierTexte()
Dim OLbody As String
Dim Cible As Integer
Dim i As Byte

Set OLapp = CreateObject("Outlook.application")
Set OLspace = OLapp.GetNamespace("MAPI")
Set OLinbox = OLspace.GetDefaultFolder(olFolderInbox)

For Each OLmail In OLinbox.Items
If OLmail.SenderName = "Moine Laurent" Then
OLbody = OLmail.Body
i = i + 1
Cible = FreeFile

'Adapter chemin fichier de suivi sur le reseau

Open "K:\et\ET01LICI\et01proserpi\3Lici\Domaine d'application\Netgear.txt" For Append As #Cible
Print #1, OLbody
Close #Cible

End If
Next
Set OLapp = Nothing
Set OLspace = Nothing
Set OLinbox = Nothing
 
M

michel

Guest
bonsoir Will

je ne suis pas sur d'avoir bien compris ce que tu cherches à faire : pourquoi supprimer une fichier que tu viens de créer ou de modifier quelques lignes de codes avant ....


si tu veux supprimer un fichier , tu peux utiliser :

Kill "K:\et\ET01LICI\et01proserpi\3Lici\Domaine d'application\Netgear.txt"


bonne soirée
michel
 

Discussions similaires

Réponses
2
Affichages
289
Réponses
2
Affichages
135

Statistiques des forums

Discussions
312 391
Messages
2 087 943
Membres
103 679
dernier inscrit
yprivey3