Bonjour à tous,
Tout d'abord merci à toutes les personnes qui alimentent ce forum, il est très utile.
Je souhaite faire plusieurs actions avec une macro, les voici:
(Je pars d'un fichier "nom_fichier.xlsm")
1- enregistrer le fichier (nom_fichier.xlsm) sous format .xlsx
2- envoyer ce fichier par mail (nom_fichier.xlsx)
3- le supprimer
4- fermer excel
(Ouf ..! )
Par la suite j'aimerai lancer ce fichier à l'aide du planificateur de tâche de windows. Mais une chose après l'autre ...
Mon problème est le suivant :
Je n'arrive pas à supprimer le fichier ".xlsx". J'ai regardé attentivement le forum et voici mon code VBA
Sub Macro1()
Application.DisplayAlerts = False
Dim wb As Workbook
Dim Fichier As String
Fichier = ThisWorkbook.FullName ' fichier comprend le chemin + nom fichier avec .xlsm (FullName)
Fichier = Left(Fichier, Len(Fichier) - 4) & "xlsx" ' remplace l'extension par .xlsx exigée dans la fileformat
With ActiveWorkbook
.SaveAs Filename:=Fichier, FileFormat:=xlOpenXMLWorkbook, CreateBackup:=False 'syntaxe trouvée à partir de l'enregistreur de macro
End With
Application.DisplayAlerts = True
End Sub
Sub envoi_mail()
Application.DisplayAlerts = False
Dim OutApp As Object
Dim OutMail As Object
Set OutApp = CreateObject("Outlook.Application")
Set OutMail = OutApp.CreateItem(0)
On Error Resume Next
With OutMail
.to = "blabla@hotmail.com"
.CC = ""
.BCC = ""
.Subject = "envoi fichier nom_fichier"
.Body = "voici le fichier nom_fichier"
.Attachments.Add ActiveWorkbook.FullName
'You can add other files also like this
'.Attachments.Add ("C:\test.txt")
.Send 'or use .Display
End With
On Error GoTo 0
Set OutMail = Nothing
Set OutApp = Nothing
Application.DisplayAlerts = True
End Sub
Sub supprimerFichier()
Application.DisplayAlerts = False
'Supprimer le fichier
Application.Quit
ActiveWorkbook.Close
Application.Workbooks("Nom_fichier.xlsx").Close
Set fso = CreateObject("Scripting.FileSystemObject")
src = "c:\test"
Kill (src & "Nom_fichier.xlsx")
Application.DisplayAlerts = True
End Sub
Merci de vos réponses
Cordialement,
Nicolas