Enregistrement automatique après actualisation fichier fermé

  • Initiateur de la discussion Initiateur de la discussion VDM
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

VDM

XLDnaute Nouveau
Bonjour,

J'ai un fichier avec requete (sur deux onglets) que nous actualisons deux fois par jour manuellement.
J'aimerais savoir s'il existe un moyen sans ouvrir le fichier, qu'il s'actualise automatiquement puis enregistre les nouvelles données automatiquement et deux fois par jour également ?

Je n'ai jamais fais de VBA mais s'il existe une solution, j'apprendrai !

Merci pour votre aide !

VDM
 
Re : Enregistrement automatique après actualisation fichier fermé

Bonjour VDM, bienvenue sur XLD,

Pourqoi actualiser le fichier 2 fois par jour ? Il paraît plus simple de l'actualiser, chaque fois qu'on ouvre le fichier, par une macro Workbook_Open à placer dans ThisWorkbook (Alt+F11) :

Code:
Private Sub Workbook_Open()
'le code pour actualiser
End Sub

Maintenant si vous y tenez vraiment, vous faites ouvrir le fichier chaque jour aux heures voulues en utilisant le Planificateur de tâches de Windows (bouton Démarrer-Panneau de configuration-Tâches planifiées).

Prévoir alors dans la macro Workbook_Open un code pour refermer le fichier après actualisation, par exemple :

Code:
If Time >= TimeValue("09:00") And Time < TimeValue("09:01") _
  Or Time >= TimeValue("15:00") And Time < TimeValue("15:01") Then
  'le code pour actualiser
  ThisWorkbook.Save 'enregistre les modifications
  If Workbooks.Count > 1 Then ThisWorkbook.Close Else Application.Quit 'ferme le fichier ou Excel
End If

A+
 
Dernière édition:
Re : Enregistrement automatique après actualisation fichier fermé

Salut bpol,

bonjour,
pas très clair comme explication.

j'aimerais que l'on me dise comment on inscrit des données dans un fichier sans ouvrir excel 😕

Bpol

Un peu sec comme commentaire, non ???

A ma connaissance, on peut lire dans un fichier fermé sans l'ouvrir.

Mais pour le modifier, il faut l'ouvrir, enregistrer les modifications et le refermer.

A+
 
Re : Enregistrement automatique après actualisation fichier fermé

Re,

Merci kiki29.

Perso j'ai déjà utilisé ADO pour lire dans un fichier fermé, mais pas pour y écrire.

Dans tous les cas c'est une solution compliquée.

A+
 
Re : Enregistrement automatique après actualisation fichier fermé

Salut bpol,



Un peu sec comme commentaire, non ???

A ma connaissance, on peut lire dans un fichier fermé sans l'ouvrir.

Mais pour le modifier, il faut l'ouvrir, enregistrer les modifications et le refermer.

A+


bonjour job,

je te le concède, mais on le répète assez d'être le plus précis dans les explications.
on me l'a répété plusieurs fois lors de mes 1er messages.


Bpol
 
Re : Enregistrement automatique après actualisation fichier fermé

Bonjour VDM, bienvenue sur XLD,

Pourqoi actualiser le fichier 2 fois par jour ? Il paraît plus simple de l'actualiser, chaque fois qu'on ouvre le fichier, par une macro Workbook_Open à placer dans ThisWorkbook (Alt+F11) :

Code:
Private Sub Workbook_Open()
'le code pour actualiser
End Sub

Maintenant si vous y tenez vraiment, vous faites ouvrir le fichier chaque jour aux heures voulues en utilisant le Planificateur de tâches de Windows (bouton Démarrer-Panneau de configuration-Tâches planifiées).

Prévoir alors dans la macro Workbook_Open un code pour refermer le fichier après actualisation, par exemple :

Code:
If Time >= TimeValue("09:00") And Time < TimeValue("09:01") _
  Or Time >= TimeValue("15:00") And Time < TimeValue("15:01") Then
  'le code pour actualiser
  ThisWorkbook.Save 'enregistre les modifications
  If Workbooks.Count > 1 Then ThisWorkbook.Close Else Application.Quit 'ferme le fichier ou Excel
End If

A+
Merci pour ces infos job75, je vais essayer de regarder ça de plus près. A l'origine, on l'actualise deux fois par jour car c'est le fichier qui sert à actualiser les informations de notre site internet donc le fichier est extrait deux fois par jour par une personne tierce.

VDM
 
Re : Enregistrement automatique après actualisation fichier fermé

Bonjour,

Je m'y suis enfin mise, par contre, j'ai un message d'erreur sur ma macro. Voici la macro initiale :

Private Sub Workbook_Open()
If Time >= TimeValue("12:45") And Time < TimeValue("12:46") _
Or Time >= TimeValue("16:45") And Time < TimeValue("16:46") Then
Sheets("TARIFS").Select
Range("B22").Select
ActiveSheet.PivotTables("Tableau croisé dynamique2").RefreshTable
Range("G20").Select
ActiveSheet.PivotTables("Tableau croisé dynamique3").RefreshTable
Range("M20").Select
ActiveSheet.PivotTables("Tableau croisé dynamique1").RefreshTable
Sheets("Base Site Internet").Select
Range("B22").Select
Selection.QueryTable.Refresh BackgroundQuery:=False
'le code pour actualiser
ThisWorkbook.Save 'enregistre les modifications
If Workbooks.Count > 1 Then ThisWorkbook.Close Else Application.Quit 'ferme le fichier ou Excel
End If
End Sub

Et le message d'erreur "instruction incorrecte à l'exterieur d'une procedure" ouvre cette macro en modifiant les heures :

If Time >= TimeValue("14:44") And Time < TimeValue("14:45") _
Or Time >= TimeValue("16:45") And Time < TimeValue("16:47") Then
'le code pour actualiser
ThisWorkbook.Save 'enregistre les modifications
If Workbooks.Count > 1 Then ThisWorkbook.Close Else Application.Quit 'ferme le fichier ou Excel
End If

("Time" est surligné)

Quelqu'un pourrait il m'aider sur ce problème ?
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
5
Affichages
341
Réponses
4
Affichages
709
Retour