Tâche planifiée Excel

Kevin B

XLDnaute Junior
Bonjour tout le monde,

Pour un besoin professionnel, j'ai besoin de mettre à jour un fichier Excel tous les matins. Ce sont des tableaux de bord.

Mes données sont extraites d'une base de données diverses à l'aide de MS Query, puis ensuite, j'ai créé des tableaux croisés dynamiques afin de synthétiser les données.

Ensuite, afin de mettre à disposition du personnel concerné, j'enregistre mes tableaux croisés dynamiques en format HTML.

J'ai donc deux questions concernant la mise à jour de ce fichier :

1/ Je me suis renseigné, et j'ai pu lire que pour lancer à heure fixe l'ouverture d'un classeur Excel, nous pouvons utiliser le planificateur de taches de Windows. Jusque là, pas de problèmes. Cependant, certains disent qu'il faut créer un fichier .bat afin de lancer l’exécution d'Excel. Est ce vraiment nécessaire? Car à priori, le fait de choisir le classeur en question fonctionne aussi.

Selon vous quelle est la meilleure méthode? Et quels sont les avantages et les inconvénients des deux méthodes?

2/J'utilise une macro à l'ouverture du fichier afin de mettre à jour les tableaux, effectuer la sauvegarde, exporter le fichier en html et refermer le fichier. (Code ci-dessous). Est ce qu'il est possible d'optimiser ce code notament en ce qui concerne la mise à jour des bases de données extraites à l'aide de MS Query.

Code:
Private Sub Workbook_Open()

Module1.Actu

Actu

Application.Quit

End Sub

Sub Actu()

ActiveWorkbook.RefreshAll

ActiveWorkbook.RefreshAll

Module1.enregistrement

Application.Quit

End Sub

Sub enregistrement()

Application.DisplayAlerts = False

'Enregistrement fichier Excel

    ActiveWorkbook.Save


ChDir "C:\STATSPLS"
    ActiveWorkbook.SaveAs Filename:="C:\STATSPLS\Ca CA et Marge.htm" _
        , FileFormat:=xlHtml, ReadOnlyRecommended:=False, CreateBackup:=False

End Sub

J'ai imaginé ce système afin de mettre à jour mes tableaux de bord, mais je suis également ouvert à tous autres propositions afin de mettre à jour mes tableaux de bord.

Merci par avance pour votre aide.

Cordialement

Kevin B
 

Matheop

XLDnaute Occasionnel
Re : Tâche planifiée Excel

Hello Kevin B.

Je vais me contenter de répondre à la première question, pas spécialement de propositions pour la seconde. Je pense que la meilleure chose à faire est de déclarer une nouvelle tâche planifiée chargée d'ouvrir ton classeur ; en effet le planificateur de tâches permet l'ouverture de classeurs Excel (comme tu le soulignes très justement). J'utilise d'ailleurs personnellement cette méthode - également pour un besoin professionnel - et cela fonctionne parfaitement. C'est très pratique et très simple alors pourquoi s'embêter avec un fichier .bat qui ne ferait que rajouter quelques étapes supplémentaires pour au final aboutir au même résultat. Bien que les deux méthodes se valent sûrement, j'opte pour ouvrir directement le classeur à heures programmées via le planif. de tâches.
 

Kevin B

XLDnaute Junior
Re : Tâche planifiée Excel

Bonjour tout le monde,

J'essaye de mettre à jour des données externes, à l'aide du code ci-dessus, le tout lancé automatiquement grâce à une tâche planifiée, cependant, mes données ne sont pas mises à jour.

Est ce que quelqu'un à une idée de pourquoi cela ne fonctionne pas.

Cdt

Kevin
 

Matheop

XLDnaute Occasionnel
Re : Tâche planifiée Excel

Re Kevin.

Lorsque tu exécutes manuellement ton code depuis ton fichier Excel, est-ce que tes données se rafraichissent ? En dehors de l'aspect automatisation, il convient de savoir si le problème a lieu tout le temps ou seulement lorsque tu souhaites informatiser le traitement. En théorie il ne devrait pas y avoir de problème : tu planifies l'ouverture de ton classeur, et ta macro Workbook_Open est censée se déclencher à chaque ouverture de ton classeur.
 

Kevin B

XLDnaute Junior
Re : Tâche planifiée Excel

Bonjour Matichoux,

L'actualisation ne fonctionne pas uniquement lorsque le fichier est lancé de manière automatique (Planificateur de taches)

Merci pour l’intérêt que tu portes à ma demande.

Cdt

Kevin
 

Matheop

XLDnaute Occasionnel
Re : Tâche planifiée Excel

Hmm je trouve cela pour le moins étrange..
Le point positif est que ton code est opérationnel puisqu'il marche en temps normal.

Il faudrait par exemple que tu vérifies que ta macro événementielle se déclenche bien à l'ouverture de ton classeur (tu n'as qu'à te contenter de faire une macro Private Sub Workbook_Open contenant un simple Msgbox "Ouverture du classeur" pour voir si elle se déclenche correctement). S'il faut tu as un message bloquant d'information, d'alerte, d'erreur de la part d'Excel qui t'empêche de poursuivre l'exécution de ton code ; genre un message qui te demande si tu souhaites activer les macros par exemple.

Dans tous les cas, il serait bienvenue que tu nous fournisses une copie de ton fichier ou un fichier d'exemple s'il y a des données trop sensibles. En se basant sur un fichier, on aura une base concrète pour identifier le problème. :)
 

Kevin B

XLDnaute Junior
Re : Tâche planifiée Excel

Bonjour Matichoux,

En faite, la tâche planifiée est programmée sur un serveur, elle est programmée à 6h00 du matin. Tout les ordinateurs sont éteints, le serveur est probablement en veille/veille prolongée. Lors j’exécute le code grâce à la tache planifiée en pleine journée (pour faire mes essais) cela fonctionne.

Je vais essayer de cocher l'option "Mettre l'ordinateur en éveil pour exécuter la tache" Je vais également décaler l'heure de la tache pour vérifier si la tache s'exécute correctement.

Cdt

Kevin
 

Statistiques des forums

Discussions
314 655
Messages
2 111 604
Membres
111 217
dernier inscrit
aladinkabeya2