Commande RefreshAll pour fichier en réseau

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 essayé de mettre une temporisation mais rien n'y fait. (car l'actualisation prend du temps)

Merci de votre aide

Nicolas

Voici ma macro:

Sub Macro1()

    Application.DisplayAlerts = False
    ActiveWorkbook.RefreshAll
    Application.Wait Now + TimeValue("00:00:10") 'Temporisation de 10 secondes
    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

Bonjour,

et si tu fais le refresh en mode manuel cela fonctionne-t-il ?

quels sont les objets dont tu fais le refresh ?

Bonjour,

pardon de répondre avec ce délai.

Oui en effet l'actualisation des données manuelle fonctionne bien. Les fichiers sont des devis, commandes... tapés par des administratifs qui, via un logiciel, met à jour des fichiers présents sur le réseau. Je ne fais que reprendre ces fichiers pour ma macro.

Hier j'ai voulu tester si la commande refreshall fonctionnait toute seule, et c'est le cas. Je suppose qu'il doit y avoir une "incompatibilité" dans mes commandes. De plus, j'ai utilisé application.displayalert et je n'ai pas pu voir les messages d'erreurs.

Hier j'ai organisé ma macro différemment :

  • macro 1: refreshall
  • macro 2 : enregistrement + conversion xlsm en xlsx
  • macro3 : envoi mail + application.quit
Il n'y a pas eu de message d'erreur du style "Cette action va annuler une commande d'actualisation de données".

J'attends de voir si cela fonctionne avec la nouvelle mise à jour.

Merci

Nicolas

Bonjour,

j'ai regardé la mise à jour de mon fichier, et la commande refreshall ne fonctionne toujours pas. Je n'ai plus d'idée n’hésitez pas si vous avez des conseils ou d'autres pistes.

Merci

Nicolas

Rechercher des sujets similaires à "commande refreshall fichier reseau"