Bonjour à tous,
Je souhaite mettre à jour des données en réseau à l'aide d'une macro. L'ensemble de ma macro fonctionne à l'exception de la mise à jour via la commande "activeWorkbook.refreshall".
J'ai un message qui s'affiche : " Cette action va annuler l'actualisation des données. Voulez vous continuer ?"
Ma macro consiste à :
- actualiser les données
- enregistrer puis convertir fichier xlsm en xlsx
- envoyer un mail
Tout fonctionne sauf l'actualisation des données...
Merci de votre aide
Nicolas
Voici ma commande :
Code :
- Sub Macro1()
- Application.DisplayAlerts = False
- ActiveWorkbook.RefreshAll
- ActiveWorkbook.Save
- 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 = "nicolas@xxx.com"
- .CC = ""
- .BCC = ""
- .Subject = "envoi fichier bilan"
- .Body = "voici le fichier bilan"
- .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.Quit
- End Sub
|