mise à jour

fourezizou

XLDnaute Occasionnel
bonjour le forum
Y at-il un outil ou un macro de mettre à jour le fichier Excel tous les jours sans l'ouvrir à un certain moment, par exemple, tous les jours à 12 heures du soir mise à jour le classeur Excel
 

joss56

XLDnaute Accro
Re : mise à jour

Il faut créer un fichier vbs avec le bloc-notes par exemple. Y saisir ce qui suit (à adapter bien sûr):
Dim XLApp

Set XLApp = CreateObject("Excel.Application")
With XLApp
.workbooks.Open "C:\Classeur1.xlsm"
.Run "Module1.MacroTest"
.activeworkbook.save
.Quit
End With
Set XLApp = Nothing

Ce script ouvre le fichier Excel qui se trouve sur C: et se nommant classeur1.xlsm. Il faudra adapter ça à tes besoins.
Ensuite, il lance la procédure appelée MacroTest stockée dans le module 1 de ton application et referme Excel. Tu enregistres ce fichier avec l'extension .vbs et tu crées une tâche planifiée pour ce fichier vbs.

A+
 

fourezizou

XLDnaute Occasionnel
Re : mise à jour

Bonjour joss56 ;le forum
Merci pour les réponses
Je essai avec cette code
Dim Xl
set xl = createobject("Excel.application")
Xl.Visible = True
Xl.enableevents=false
'Chemin et nom du fichier à ouvrir
set Wk = Xl.workbooks.open("C:\Users\administrateur\Desktop\CHQ GRNT.xlsm")

'J'ai supposé que la macro a exécuté s'appelait "Macro1" et qu'elle était
'située dans un MODULE STANDARD.
Xl.Run "Macro1"
Xl.enableevents=true

wk.save
wk.close

xl.quit

Et le code de macro1 =
Sub Macro1()
' Macro1 Macro
ActiveWorkbook.RefreshAll
End Sub

Mais la actualisation n’est pas terminé est afficher cette msg “ cette action va annuler une commande d’actualisation des données voulez-vous continuer?
 

fourezizou

XLDnaute Occasionnel
Re : mise à jour

RE
Quand je mets le code sans wk.save et wk.close et xl.quit ca marche bien l’actualisation mais le fichier Excel reste ouvert et sans enregistrer
Code :
Dim Xl
set xl = createobject("Excel.application")
Xl.Visible = True
Xl.enableevents=false
'Chemin et nom du fichier à ouvrir
set Wk = Xl.workbooks.open("E:\actualisation.xlsm")

'J'ai supposé que la macro a exécuté s'appelait "MaMacro" et qu'elle était
'située dans un MODULE STANDARD.
Xl.Run "Macro1"
Xl.enableevents=true
 

Statistiques des forums

Discussions
311 724
Messages
2 081 936
Membres
101 844
dernier inscrit
pktla