Sauvegarde pièce jointe à mail.

Le
StDonat
Bonjour à tous et à toutes.
J’utilise, grâce à ce forum, un code pour envoyer un mail avec des pièces
jointes :

Sub Mail_Avec_Fichier_Joint(destinataire)
Dim outlookapp As Outlook.Application
Dim OutParam As Outlook.MailItem
Dim Afj As FileDialog

Set Afj = Application.FileDialog(msoFileDialogFilePicker)
Afj.InitialFileName = "c:"

Set outlookapp = Outlook.Application
Set OutParam = outlookapp.CreateItem(olMailItem)
With OutParam
.To = destinataire
.Subject = objet
.Body = "Merci de traiter rapidement cette demande"
line10:
If PJ = False Then GoTo line20
On Error Resume Next
Afj.Show
.Attachments.Add Afj.SelectedItems(1)
réponse = MsgBox("Voulez-vous joindre d'autres fichiers ?",
vbYesNo,
If réponse = 6 Then GoTo line10
line20:
.Send
End With
End Sub

Mon problème : Je voudrais en plus sauvegarder (créer une copie) des pièces
jointes sur un disque réseau….
Merci de votre aide…. toujours précieuse.
Questions / Réponses high-tech
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Papy Jean
Le #17762601
Bonjour
Voici une solution pour copier des fichiers avec Excel

Public FSO As Object
Set FSO = CreateObject("Scripting.Filesystemobject")

FSO.CopyFile CheminSource + FichierSource, CheminBut+FichierBut

attention: les noms des chemins doivent être complets à partir du Drive

à signaler aussi
If FSO.FileExists(NomComplet) = True Then FSO.DeleteFile NomComplet
car j'ai constaté que certains serveurs <n'aiment> pas remplacer un fichier
déjà existant
quelquefois, il faut aussi utiliser ChDrive

Si cela peut t'aider, cordialement
Papy Jean


"StDonat" news:
Bonjour à tous et à toutes.
J'utilise, grâce à ce forum, un code pour envoyer un mail avec des pièces
jointes :

Sub Mail_Avec_Fichier_Joint(destinataire)
Dim outlookapp As Outlook.Application
Dim OutParam As Outlook.MailItem
Dim Afj As FileDialog

Set Afj = Application.FileDialog(msoFileDialogFilePicker)
Afj.InitialFileName = "c:"

Set outlookapp = Outlook.Application
Set OutParam = outlookapp.CreateItem(olMailItem)
With OutParam
.To = destinataire
.Subject = objet
.Body = "Merci de traiter rapidement cette demande"
line10:
If PJ = False Then GoTo line20
On Error Resume Next
Afj.Show
.Attachments.Add Afj.SelectedItems(1)
réponse = MsgBox("Voulez-vous joindre d'autres fichiers ?",
vbYesNo,
If réponse = 6 Then GoTo line10
line20:
.Send
End With
End Sub

Mon problème : Je voudrais en plus sauvegarder (créer une copie) des
pièces
jointes sur un disque réseau..
Merci de votre aide.. toujours précieuse.



Daniel.C
Le #17762841
Bonjour.
Bizarre, ton code, la variable PJ n'étant pas initialisée, en arrivant
sur la ligne :
If PJ = False Then GoTo line20
tu vas te débrancher direct à line20 et sauter la partie pièces
jointes.

Essaie :

Sub Mail_Avec_Fichier_Joint(destinataire)
Dim outlookapp As Outlook.Application
Dim OutParam As Outlook.MailItem
Dim Afj As FileDialog

Set Afj = Application.FileDialog(msoFileDialogFilePicker)
Afj.InitialFileName = "c:"

Set outlookapp = Outlook.Application
Set OutParam = outlookapp.CreateItem(olMailItem)
With OutParam
.To = destinataire
.Subject = objet
.Body = "Merci de traiter rapidement cette demande"
line10:
If PJ = False Then GoTo line20
PJ = False
On Error Resume Next
Afj.Show
'*** ligne de recopie dans le dossier N:Dossier
FileCopy Afj.SelectedItems(1), "N:Dossier" &
Dir(Afj.SelectedItems(1))
.Attachments.Add Afj.SelectedItems(1)
réponse = MsgBox("Voulez-vous joindre d'autres fichiers ?",
vbYesNo)
If réponse = 6 Then
PJ = True
GoTo line10
End If
line20:
.Send
End With
End Sub

Le fichier sauvegardé sur le disque réseau porte le même nom que le
fichier original.
Cordialement.
Daniel

Bonjour à tous et à toutes.
J’utilise, grâce à ce forum, un code pour envoyer un mail avec des pièces
jointes :

Sub Mail_Avec_Fichier_Joint(destinataire)
Dim outlookapp As Outlook.Application
Dim OutParam As Outlook.MailItem
Dim Afj As FileDialog

Set Afj = Application.FileDialog(msoFileDialogFilePicker)
Afj.InitialFileName = "c:"

Set outlookapp = Outlook.Application
Set OutParam = outlookapp.CreateItem(olMailItem)
With OutParam
.To = destinataire
.Subject = objet
.Body = "Merci de traiter rapidement cette demande"
line10:
If PJ = False Then GoTo line20
On Error Resume Next
Afj.Show
.Attachments.Add Afj.SelectedItems(1)
réponse = MsgBox("Voulez-vous joindre d'autres fichiers ?",
vbYesNo,
If réponse = 6 Then GoTo line10
line20:
.Send
End With
End Sub

Mon problème : Je voudrais en plus sauvegarder (créer une copie) des pièces
jointes sur un disque réseau….
Merci de votre aide…. toujours précieuse.


StDonat
Le #17764851
Merci à vous deux pour les réponses aussi rapide.
J'ai choisi la methode de Daniel qui me parait plus simple.

PS: en effet ma variable PJ n'est pas initialisé mais c'est une variable
public et je n'ai publié ici qu'un extrait de mon code.

Encore merci

"Daniel.C" wrote:

Bonjour.
Bizarre, ton code, la variable PJ n'étant pas initialisée, en arrivant
sur la ligne :
If PJ = False Then GoTo line20
tu vas te débrancher direct à line20 et sauter la partie pièces
jointes.

Essaie :

Sub Mail_Avec_Fichier_Joint(destinataire)
Dim outlookapp As Outlook.Application
Dim OutParam As Outlook.MailItem
Dim Afj As FileDialog

Set Afj = Application.FileDialog(msoFileDialogFilePicker)
Afj.InitialFileName = "c:"

Set outlookapp = Outlook.Application
Set OutParam = outlookapp.CreateItem(olMailItem)
With OutParam
.To = destinataire
.Subject = objet
.Body = "Merci de traiter rapidement cette demande"
line10:
If PJ = False Then GoTo line20
PJ = False
On Error Resume Next
Afj.Show
'*** ligne de recopie dans le dossier N:Dossier
FileCopy Afj.SelectedItems(1), "N:Dossier" &
Dir(Afj.SelectedItems(1))
.Attachments.Add Afj.SelectedItems(1)
réponse = MsgBox("Voulez-vous joindre d'autres fichiers ?",
vbYesNo)
If réponse = 6 Then
PJ = True
GoTo line10
End If
line20:
.Send
End With
End Sub

Le fichier sauvegardé sur le disque réseau porte le même nom que le
fichier original.
Cordialement.
Daniel

> Bonjour à tous et à toutes.
> J’utilise, grâce à ce forum, un code pour envoyer un mail avec des pièces
> jointes :
>
> Sub Mail_Avec_Fichier_Joint(destinataire)
> Dim outlookapp As Outlook.Application
> Dim OutParam As Outlook.MailItem
> Dim Afj As FileDialog
>
> Set Afj = Application.FileDialog(msoFileDialogFilePicker)
> Afj.InitialFileName = "c:"
>
> Set outlookapp = Outlook.Application
> Set OutParam = outlookapp.CreateItem(olMailItem)
> With OutParam
> .To = destinataire
> .Subject = objet
> .Body = "Merci de traiter rapidement cette demande"
> line10:
> If PJ = False Then GoTo line20
> On Error Resume Next
> Afj.Show
> .Attachments.Add Afj.SelectedItems(1)
> réponse = MsgBox("Voulez-vous joindre d'autres fichiers ?",
> vbYesNo,
> If réponse = 6 Then GoTo line10
> line20:
> .Send
> End With
> End Sub
>
> Mon problème : Je voudrais en plus sauvegarder (créer une copie) des pièces
> jointes sur un disque réseau….
> Merci de votre aide…. toujours précieuse.





Publicité
Poster une réponse
Anonyme