Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Sauvegarde pièce jointe à mail.

3 réponses
Avatar
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.

3 réponses

Avatar
Papy Jean
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" a écrit dans le message de
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.



Avatar
Daniel.C
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.


Avatar
StDonat
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.