Rechercher : dans
Par :

Exécution macro à heure fixe, fichier fermé?

Dernière réponse le 8 jui 2009 à 16:22:08 satel, le 8 jui 2009 à 14:49:06 
 Signaler ce message aux modérateurs

Bonjour,

Je suis débutante en VB et je cherche à créer une macro qui me permettrait de mettre à jour les liens entre 2 fichiers Excel à heure fixe.

En fait, le problème de la mise à jour des liens est qu'elle est relativement longue (~5 minutes) et il faudrait donc pouvoir la faire lorsque l'ordinateur n'est plus utilisé, sachant qu'il reste en veille, mais que les 2 fichiers ne sont pas forcément ouverts!

Est-ce qu'une macro permettant d'effectuer une telle action avec un fichier fermé existe ?

Pour l'instant, j'utilise les macros suivantes (en supposant que 12h après l'ouverture du fichier, l'utilisateur sera déjà parti du bureau ...) :

Public Sub Workbook_Open()
Call AutoOpen
End Sub

Public Sub AutoOpen()
Application.OnTime Now + TimeValue("12:00:00"), "autosave"
End Sub

Mais elles ne marchent que si le fichier reste ouvert ...

Merci pour votre aide !

Configuration: Windows XP
Internet Explorer 6.0

Meilleures réponses pour « Exécution macro à heure fixe, fichier fermé? » dans :
Créer un fichier Autorun.inf VoirCréation de fichier autorun Autoriser l'exécution automatique Création du fichier autorun.inf Personnaliser l'icône Personnaliser le texte Personnaliser le menu Autoriser l'exécution automatique Une fonctionnalité de Windows...
Echec d'installation des mises à jour (Windows Update) VoirSi les mises à jour de Windows Xp sont impossibles, voici comment régler le problème. Téléchargez ce programme => Dial-a-Fix Une fenêtre "Téléchargement de fichiers" vous demandera si vous voulez exécuter ou enregistrer le fichier, cliquez sur...
Télécharger Object Fix Zip VoirLors de téléchargement de fichier compressé au format ZIP sur Internet, il arrive qu’il soit compromis et que le contenu ne soit inaccessible. Alors soit vous devez re-télécharger soit trouver autres choses. Object Fix Zip est un outil mais...

1

satel, le 8 jui 2009 à 15:37:43

J'ai oublié de préciser que je travaille sous VB6 ...

Répondre à satel

2

michel_m, le 8 jui 2009 à 15:51:28

Bonjour,
le problème de la mise à jour des liens est qu'elle est relativement longue (~5 minutes)

c'est là apparemment, qu'il faut traiter le problème et non dans une mise à jour pendant la nuit (T'es s^re que ton ordi restera sous tension?)

en quoi consiste ces mises à jour (valeurs de cellules, par ex.) ? et combien il y en a t il?
Au besoin copies colles un bout de ta macro... Cordialement, Michel

Répondre à michel_m

3

 satel, le 8 jui 2009 à 16:22:08

En fait, je travaille pour un commanditaire qui ne veut absolument pas que les liens soient mis à jour lors de l'ouverture du classeur, mais qu'ils soient mis à jour pendant la nuit. Ce sont des fichiers qui se trouveront sur les ordinateurs de tous ceux qui travaillent dans la société, donc il est très probable qu'au moins l'un d'entre eux reste sous tension. Ces mises à jour consistent effectivement en un copier/coller de données se trouvant dans le fichier (en fait, le fichier est constitué de plusieurs feuilles contenants des informations parfois redondantes, et on veut que le fichier de synthèse "synthétise" (justement) ces données dans un tableau). Il y en a environ 30 par classeur, et une centaine de classeurs.

Voilà un bout de la macro en question :

Sheets("POUR SYNTHESES").Activate
Range("A2: K2").Copy
Workbooks.Open Filename:= _
"\\Castore03\im_pm\EBT\EBT EXCEL\ESSAI OD\REPERTOIRE EBT.xls", UpdateLinks:=0
Sheets("Répertoire & Avancement ").Select
Cells(n_ligne, 4).Select
ActiveSheet.Paste Link:=True
Range(Cells(n_ligne, 4), Cells(n_ligne, 14)).Select
Selection.FormatConditions.Delete
Selection.FormatConditions.Add Type:=xlCellValue, Operator:=xlEqual, _
Formula1:="0"
Selection.FormatConditions(1).Font.ColorIndex = 6
Selection.FormatConditions(1).Interior.ColorIndex = 6
ActiveWorkbook.Save
ActiveWorkbook.Close
Sheets("SUMMARY").Select
Cells(1, 1).Select
End If


Merci !

Répondre à satel