Problème de génération de fichier auto sous mes documents sans r ai
5 réponses
PJ
Bonjour,
Je veux envoyer un fichier joint par mail. J'utilise le code ci-dessous mais
le problème est que cela me génère automatiquement une copie sous Mes
Documents.
Quelqu'un sait-il pourquoi et comment le résoudre?
Merci d'avance de votre Aide.
Salutations
CODE:
Dim FileExtStr As String
Dim FileFormatNum As Long
Dim Sourcewb As Workbook
Dim Destwb As Workbook
Dim TempFilePath As String
Dim TempFileName As String
Sheets("Résumé_Cmde").Activate
Set Sourcewb = ActiveWorkbook
'Copy the sheet to a new workbook
ActiveSheet.Copy
Set Destwb = ActiveWorkbook
'Mail it
TempFileName = "résumé de la nouvelle commande de "
With Destwb
.SaveAs TempFileName & FileExtStr
On Error Resume Next
.SendMail "toto@tata.com", _
"Voici le " & TempFileName
On Error GoTo 0
.Close SaveChanges:=False
End With
Dans ce code la ligne qui enregistre le document :
.SaveAs TempFileName & FileExtStr
inhibe là en mettant une cote devant ainsi :
'.SaveAs TempFileName & FileExtStr
Et refais des essais Tiens moi informé du résultat !!!!
FFO
Rebonjour à toi
"Auriez-vous une idée pour le sauver sous le bon nom sans générer de fichier?"
Je ne vois pas comment
Le sauver c'est obligatoirement le générer
Pour le supprimer il faudrait qu'il soit fermer
Donc récupérer son chemin et son nom :
Chemin = Activeworkbook.Path & "" & TempFileName
Fermer le document :
ActiveWorkbook.Close
La suite du code ....
A la fin du code supprimer le document :
Kill (Chemin)
Pour celà la macro doit être dans son propre document et non dans celui que l'on a fermé et envoyé
Ce qui donne au final ce code :
Dim FileExtStr As String Dim FileFormatNum As Long Dim Sourcewb As Workbook Dim Destwb As Workbook Dim TempFilePath As String Dim TempFileName As String
Sheets("Résumé_Cmde").Activate Set Sourcewb = ActiveWorkbook 'Copy the sheet to a new workbook ActiveSheet.Copy Set Destwb = ActiveWorkbook
'Mail it
TempFileName = "résumé de la nouvelle commande de "
With Destwb .SaveAs TempFileName & FileExtStr
Chemin = Activeworkbook.Path & "" & TempFileName ActiveWorkbook.Close On Error Resume Next .SendMail "", _ "Voici le " & TempFileName
On Error GoTo 0 .Close SaveChanges:úlse End With Kill (Chemin)
Je n'ai pas testé et te laisse le soin de le faire
Tiens moi informé !!!!!
"PJ" wrote:
J'ai parlé trop tôt!!! Si je ne sauvegarde pas, le fichier joint ne garde pas le bon nom...et n'en garde plus du tout... Auriez-vous une idée pour le sauver sous le bon nom sans générer de fichier? ou en le supprimant ? Merci. PJ
"FFO" wrote:
> Salut à toi > > Dans ce code la ligne qui enregistre le document : > > .SaveAs TempFileName & FileExtStr > > inhibe là en mettant une cote devant ainsi : > > '.SaveAs TempFileName & FileExtStr > > Et refais des essais > Tiens moi informé du résultat !!!! >
Rebonjour à toi
"Auriez-vous une idée pour le sauver sous le bon nom sans générer de fichier?"
Je ne vois pas comment
Le sauver c'est obligatoirement le générer
Pour le supprimer il faudrait qu'il soit fermer
Donc récupérer son chemin et son nom :
Chemin = Activeworkbook.Path & "" & TempFileName
Fermer le document :
ActiveWorkbook.Close
La suite du code ....
A la fin du code supprimer le document :
Kill (Chemin)
Pour celà la macro doit être dans son propre document et non dans celui que
l'on a fermé et envoyé
Ce qui donne au final ce code :
Dim FileExtStr As String
Dim FileFormatNum As Long
Dim Sourcewb As Workbook
Dim Destwb As Workbook
Dim TempFilePath As String
Dim TempFileName As String
Sheets("Résumé_Cmde").Activate
Set Sourcewb = ActiveWorkbook
'Copy the sheet to a new workbook
ActiveSheet.Copy
Set Destwb = ActiveWorkbook
'Mail it
TempFileName = "résumé de la nouvelle commande de "
With Destwb
.SaveAs TempFileName & FileExtStr
Chemin = Activeworkbook.Path & "" & TempFileName
ActiveWorkbook.Close
On Error Resume Next
.SendMail "toto@tata.com", _
"Voici le " & TempFileName
On Error GoTo 0
.Close SaveChanges:úlse
End With
Kill (Chemin)
Je n'ai pas testé et te laisse le soin de le faire
Tiens moi informé !!!!!
"PJ" wrote:
J'ai parlé trop tôt!!!
Si je ne sauvegarde pas, le fichier joint ne garde pas le bon nom...et n'en
garde plus du tout...
Auriez-vous une idée pour le sauver sous le bon nom sans générer de fichier?
ou en le supprimant ?
Merci.
PJ
"FFO" wrote:
> Salut à toi
>
> Dans ce code la ligne qui enregistre le document :
>
> .SaveAs TempFileName & FileExtStr
>
> inhibe là en mettant une cote devant ainsi :
>
> '.SaveAs TempFileName & FileExtStr
>
> Et refais des essais
> Tiens moi informé du résultat !!!!
>
"Auriez-vous une idée pour le sauver sous le bon nom sans générer de fichier?"
Je ne vois pas comment
Le sauver c'est obligatoirement le générer
Pour le supprimer il faudrait qu'il soit fermer
Donc récupérer son chemin et son nom :
Chemin = Activeworkbook.Path & "" & TempFileName
Fermer le document :
ActiveWorkbook.Close
La suite du code ....
A la fin du code supprimer le document :
Kill (Chemin)
Pour celà la macro doit être dans son propre document et non dans celui que l'on a fermé et envoyé
Ce qui donne au final ce code :
Dim FileExtStr As String Dim FileFormatNum As Long Dim Sourcewb As Workbook Dim Destwb As Workbook Dim TempFilePath As String Dim TempFileName As String
Sheets("Résumé_Cmde").Activate Set Sourcewb = ActiveWorkbook 'Copy the sheet to a new workbook ActiveSheet.Copy Set Destwb = ActiveWorkbook
'Mail it
TempFileName = "résumé de la nouvelle commande de "
With Destwb .SaveAs TempFileName & FileExtStr
Chemin = Activeworkbook.Path & "" & TempFileName ActiveWorkbook.Close On Error Resume Next .SendMail "", _ "Voici le " & TempFileName
On Error GoTo 0 .Close SaveChanges:úlse End With Kill (Chemin)
Je n'ai pas testé et te laisse le soin de le faire
Tiens moi informé !!!!!
"PJ" wrote:
J'ai parlé trop tôt!!! Si je ne sauvegarde pas, le fichier joint ne garde pas le bon nom...et n'en garde plus du tout... Auriez-vous une idée pour le sauver sous le bon nom sans générer de fichier? ou en le supprimant ? Merci. PJ
"FFO" wrote:
> Salut à toi > > Dans ce code la ligne qui enregistre le document : > > .SaveAs TempFileName & FileExtStr > > inhibe là en mettant une cote devant ainsi : > > '.SaveAs TempFileName & FileExtStr > > Et refais des essais > Tiens moi informé du résultat !!!! >
FFO
Rebonjour à toi
Il se peux que dans ma proposition le document soit fermé trop tôt
Dans cette hypothèse essaies comme celà :
Dim FileExtStr As String Dim FileFormatNum As Long Dim Sourcewb As Workbook Dim Destwb As Workbook Dim TempFilePath As String Dim TempFileName As String
Sheets("Résumé_Cmde").Activate Set Sourcewb = ActiveWorkbook 'Copy the sheet to a new workbook ActiveSheet.Copy Set Destwb = ActiveWorkbook
'Mail it
TempFileName = "résumé de la nouvelle commande de "
With Destwb .SaveAs TempFileName & FileExtStr
On Error Resume Next .SendMail "", _ "Voici le " & TempFileName
On Error GoTo 0 Chemin = Activeworkbook.Path & "" & TempFileName .Close SaveChanges:úlse End With Kill (Chemin)
A toi de voir et dis moi !!!!
Rebonjour à toi
Il se peux que dans ma proposition le document soit fermé trop tôt
Dans cette hypothèse essaies comme celà :
Dim FileExtStr As String
Dim FileFormatNum As Long
Dim Sourcewb As Workbook
Dim Destwb As Workbook
Dim TempFilePath As String
Dim TempFileName As String
Sheets("Résumé_Cmde").Activate
Set Sourcewb = ActiveWorkbook
'Copy the sheet to a new workbook
ActiveSheet.Copy
Set Destwb = ActiveWorkbook
'Mail it
TempFileName = "résumé de la nouvelle commande de "
With Destwb
.SaveAs TempFileName & FileExtStr
On Error Resume Next
.SendMail "toto@tata.com", _
"Voici le " & TempFileName
On Error GoTo 0
Chemin = Activeworkbook.Path & "" & TempFileName
.Close SaveChanges:úlse
End With
Kill (Chemin)
Il se peux que dans ma proposition le document soit fermé trop tôt
Dans cette hypothèse essaies comme celà :
Dim FileExtStr As String Dim FileFormatNum As Long Dim Sourcewb As Workbook Dim Destwb As Workbook Dim TempFilePath As String Dim TempFileName As String
Sheets("Résumé_Cmde").Activate Set Sourcewb = ActiveWorkbook 'Copy the sheet to a new workbook ActiveSheet.Copy Set Destwb = ActiveWorkbook
'Mail it
TempFileName = "résumé de la nouvelle commande de "
With Destwb .SaveAs TempFileName & FileExtStr
On Error Resume Next .SendMail "", _ "Voici le " & TempFileName
On Error GoTo 0 Chemin = Activeworkbook.Path & "" & TempFileName .Close SaveChanges:úlse End With Kill (Chemin)
A toi de voir et dis moi !!!!
PJ
ça marche parfaitement, merci encore. Bonne soirée
"FFO" wrote:
Rebonjour à toi
"Auriez-vous une idée pour le sauver sous le bon nom sans générer de fichier?"
Je ne vois pas comment
Le sauver c'est obligatoirement le générer
Pour le supprimer il faudrait qu'il soit fermer
Donc récupérer son chemin et son nom :
Chemin = Activeworkbook.Path & "" & TempFileName
Fermer le document :
ActiveWorkbook.Close
La suite du code ....
A la fin du code supprimer le document :
Kill (Chemin)
Pour celà la macro doit être dans son propre document et non dans celui que l'on a fermé et envoyé
Ce qui donne au final ce code :
Dim FileExtStr As String Dim FileFormatNum As Long Dim Sourcewb As Workbook Dim Destwb As Workbook Dim TempFilePath As String Dim TempFileName As String
Sheets("Résumé_Cmde").Activate Set Sourcewb = ActiveWorkbook 'Copy the sheet to a new workbook ActiveSheet.Copy Set Destwb = ActiveWorkbook
'Mail it
TempFileName = "résumé de la nouvelle commande de "
With Destwb .SaveAs TempFileName & FileExtStr
Chemin = Activeworkbook.Path & "" & TempFileName ActiveWorkbook.Close On Error Resume Next .SendMail "", _ "Voici le " & TempFileName
On Error GoTo 0 .Close SaveChanges:úlse End With Kill (Chemin)
Je n'ai pas testé et te laisse le soin de le faire
Tiens moi informé !!!!!
"PJ" wrote:
> J'ai parlé trop tôt!!! > Si je ne sauvegarde pas, le fichier joint ne garde pas le bon nom...et n'en > garde plus du tout... > Auriez-vous une idée pour le sauver sous le bon nom sans générer de fichier? > ou en le supprimant ? > Merci. > PJ > > "FFO" wrote: > > > Salut à toi > > > > Dans ce code la ligne qui enregistre le document : > > > > .SaveAs TempFileName & FileExtStr > > > > inhibe là en mettant une cote devant ainsi : > > > > '.SaveAs TempFileName & FileExtStr > > > > Et refais des essais > > Tiens moi informé du résultat !!!! > >
ça marche parfaitement, merci encore.
Bonne soirée
"FFO" wrote:
Rebonjour à toi
"Auriez-vous une idée pour le sauver sous le bon nom sans générer de fichier?"
Je ne vois pas comment
Le sauver c'est obligatoirement le générer
Pour le supprimer il faudrait qu'il soit fermer
Donc récupérer son chemin et son nom :
Chemin = Activeworkbook.Path & "" & TempFileName
Fermer le document :
ActiveWorkbook.Close
La suite du code ....
A la fin du code supprimer le document :
Kill (Chemin)
Pour celà la macro doit être dans son propre document et non dans celui que
l'on a fermé et envoyé
Ce qui donne au final ce code :
Dim FileExtStr As String
Dim FileFormatNum As Long
Dim Sourcewb As Workbook
Dim Destwb As Workbook
Dim TempFilePath As String
Dim TempFileName As String
Sheets("Résumé_Cmde").Activate
Set Sourcewb = ActiveWorkbook
'Copy the sheet to a new workbook
ActiveSheet.Copy
Set Destwb = ActiveWorkbook
'Mail it
TempFileName = "résumé de la nouvelle commande de "
With Destwb
.SaveAs TempFileName & FileExtStr
Chemin = Activeworkbook.Path & "" & TempFileName
ActiveWorkbook.Close
On Error Resume Next
.SendMail "toto@tata.com", _
"Voici le " & TempFileName
On Error GoTo 0
.Close SaveChanges:úlse
End With
Kill (Chemin)
Je n'ai pas testé et te laisse le soin de le faire
Tiens moi informé !!!!!
"PJ" wrote:
> J'ai parlé trop tôt!!!
> Si je ne sauvegarde pas, le fichier joint ne garde pas le bon nom...et n'en
> garde plus du tout...
> Auriez-vous une idée pour le sauver sous le bon nom sans générer de fichier?
> ou en le supprimant ?
> Merci.
> PJ
>
> "FFO" wrote:
>
> > Salut à toi
> >
> > Dans ce code la ligne qui enregistre le document :
> >
> > .SaveAs TempFileName & FileExtStr
> >
> > inhibe là en mettant une cote devant ainsi :
> >
> > '.SaveAs TempFileName & FileExtStr
> >
> > Et refais des essais
> > Tiens moi informé du résultat !!!!
> >
ça marche parfaitement, merci encore. Bonne soirée
"FFO" wrote:
Rebonjour à toi
"Auriez-vous une idée pour le sauver sous le bon nom sans générer de fichier?"
Je ne vois pas comment
Le sauver c'est obligatoirement le générer
Pour le supprimer il faudrait qu'il soit fermer
Donc récupérer son chemin et son nom :
Chemin = Activeworkbook.Path & "" & TempFileName
Fermer le document :
ActiveWorkbook.Close
La suite du code ....
A la fin du code supprimer le document :
Kill (Chemin)
Pour celà la macro doit être dans son propre document et non dans celui que l'on a fermé et envoyé
Ce qui donne au final ce code :
Dim FileExtStr As String Dim FileFormatNum As Long Dim Sourcewb As Workbook Dim Destwb As Workbook Dim TempFilePath As String Dim TempFileName As String
Sheets("Résumé_Cmde").Activate Set Sourcewb = ActiveWorkbook 'Copy the sheet to a new workbook ActiveSheet.Copy Set Destwb = ActiveWorkbook
'Mail it
TempFileName = "résumé de la nouvelle commande de "
With Destwb .SaveAs TempFileName & FileExtStr
Chemin = Activeworkbook.Path & "" & TempFileName ActiveWorkbook.Close On Error Resume Next .SendMail "", _ "Voici le " & TempFileName
On Error GoTo 0 .Close SaveChanges:úlse End With Kill (Chemin)
Je n'ai pas testé et te laisse le soin de le faire
Tiens moi informé !!!!!
"PJ" wrote:
> J'ai parlé trop tôt!!! > Si je ne sauvegarde pas, le fichier joint ne garde pas le bon nom...et n'en > garde plus du tout... > Auriez-vous une idée pour le sauver sous le bon nom sans générer de fichier? > ou en le supprimant ? > Merci. > PJ > > "FFO" wrote: > > > Salut à toi > > > > Dans ce code la ligne qui enregistre le document : > > > > .SaveAs TempFileName & FileExtStr > > > > inhibe là en mettant une cote devant ainsi : > > > > '.SaveAs TempFileName & FileExtStr > > > > Et refais des essais > > Tiens moi informé du résultat !!!! > >
PJ
la 1ère marche parfaitement donc no problemo. Et merci. PJ
"FFO" wrote:
Rebonjour à toi
Il se peux que dans ma proposition le document soit fermé trop tôt
Dans cette hypothèse essaies comme celà :
Dim FileExtStr As String Dim FileFormatNum As Long Dim Sourcewb As Workbook Dim Destwb As Workbook Dim TempFilePath As String Dim TempFileName As String
Sheets("Résumé_Cmde").Activate Set Sourcewb = ActiveWorkbook 'Copy the sheet to a new workbook ActiveSheet.Copy Set Destwb = ActiveWorkbook
'Mail it
TempFileName = "résumé de la nouvelle commande de "
With Destwb .SaveAs TempFileName & FileExtStr
On Error Resume Next .SendMail "", _ "Voici le " & TempFileName
On Error GoTo 0 Chemin = Activeworkbook.Path & "" & TempFileName .Close SaveChanges:úlse End With Kill (Chemin)
A toi de voir et dis moi !!!!
la 1ère marche parfaitement donc no problemo.
Et merci.
PJ
"FFO" wrote:
Rebonjour à toi
Il se peux que dans ma proposition le document soit fermé trop tôt
Dans cette hypothèse essaies comme celà :
Dim FileExtStr As String
Dim FileFormatNum As Long
Dim Sourcewb As Workbook
Dim Destwb As Workbook
Dim TempFilePath As String
Dim TempFileName As String
Sheets("Résumé_Cmde").Activate
Set Sourcewb = ActiveWorkbook
'Copy the sheet to a new workbook
ActiveSheet.Copy
Set Destwb = ActiveWorkbook
'Mail it
TempFileName = "résumé de la nouvelle commande de "
With Destwb
.SaveAs TempFileName & FileExtStr
On Error Resume Next
.SendMail "toto@tata.com", _
"Voici le " & TempFileName
On Error GoTo 0
Chemin = Activeworkbook.Path & "" & TempFileName
.Close SaveChanges:úlse
End With
Kill (Chemin)
la 1ère marche parfaitement donc no problemo. Et merci. PJ
"FFO" wrote:
Rebonjour à toi
Il se peux que dans ma proposition le document soit fermé trop tôt
Dans cette hypothèse essaies comme celà :
Dim FileExtStr As String Dim FileFormatNum As Long Dim Sourcewb As Workbook Dim Destwb As Workbook Dim TempFilePath As String Dim TempFileName As String
Sheets("Résumé_Cmde").Activate Set Sourcewb = ActiveWorkbook 'Copy the sheet to a new workbook ActiveSheet.Copy Set Destwb = ActiveWorkbook
'Mail it
TempFileName = "résumé de la nouvelle commande de "
With Destwb .SaveAs TempFileName & FileExtStr
On Error Resume Next .SendMail "", _ "Voici le " & TempFileName
On Error GoTo 0 Chemin = Activeworkbook.Path & "" & TempFileName .Close SaveChanges:úlse End With Kill (Chemin)