Serveur d'impression

Comment utiliser le Planificateur de tâches Windows 10 pour exécuter des tâches Office 365 – Bien choisir son serveur d impression

Le 2 septembre 2019 - 11 minutes de lecture

Si le chef souhaite recevoir un rapport tous les jours à la même heure, ne vous inquiétez pas des vacances, des congés de maladie, des urgences ou même de l'oubli, utilisez le Planificateur de tâches de Windows 10.

istock-975124168.jpg

Image: Andrey Popov, Getty Images / iStockphoto

Nous sommes nombreux à avoir des tâches récurrentes répétées quotidiennement, hebdomadairement, mensuellement, voire toutes les heures. Ouvrir un document et exécuter la même tâche à plusieurs reprises n'est pas nécessaire. Si la tâche peut être automatisée à l'aide d'une procédure VBA, vous pouvez exécuter cette procédure à partir du Planificateur de tâches de Windows 10. Cela se passera en arrière-plan et vous ne le saurez même pas. Si vous trouvez fastidieux les tâches répétitives ou si vous les oubliez souvent, essayez le Planificateur de tâches de Windows 10.

Cette solution nécessite VBScript (Visual Basic Scripting Edition), mais cet article fournit toutes les instructions nécessaires. Une fois que vous voyez à quel point ce langage de script est polyvalent, vous pouvez l'explorer vous-même. De plus, nous utiliserons le Planificateur de tâches de Windows 10, mais ne vous inquiétez pas si cet outil est nouveau pour vous, il est facile à utiliser. Cet article suppose que vous connaissez Excel et VBA. Si vous rencontrez des problèmes à un moment quelconque, lisez la section Dépannage à la fin de cet article.

EN SAVOIR PLUS: tarification et fonctionnalités pour le consommateur Office 365

J'utilise le planificateur de tâches Office 365 et Windows 10 sur un système Windows 10 64 bits, mais cela devrait fonctionner avec les versions antérieures d'Office et de Windows. Vous pouvez utiliser les fichiers de démonstration téléchargeables Excel .xlsm, .xls, .bas et .vbs. Cette technique n'est pas appropriée pour l'édition de navigateur d'Excel. Notez où vous enregistrez les fichiers – vous aurez besoin de ces informations ultérieurement.

La tâche

Figure a montre un objet Table simple avec des données et un tableau croisé dynamique. Supposons que les utilisateurs entrent de nouveaux enregistrements tout au long de la journée et que vous souhaitiez imprimer ou envoyer par courrier électronique une copie du tableau croisé dynamique mis à jour tous les matins à 8 heures. À moins que les utilisateurs ne sachent actualiser le tableau croisé dynamique, il est possible que vous ne receviez pas d'informations à jour. Ainsi, tous les matins à 8 heures, vous ouvrez le fichier, actualisez le tableau croisé dynamique, puis imprimez-le ou envoyez-le par courrier électronique. Nous allons nous en tenir aux bases et les imprimer.

Figure a

excelschedulingtasks-a.jpg "data-original =" https://tr2.cbsistatic.com/hub/i/r/2019/06/22/f29c89cb-e30f-4b47-93ce-4309740c51fb/resize/770x/3b86b40ef33e9618f92089d9 -a.jpg

Nous allons automatiser une tâche qui imprime le tableau croisé dynamique mis à jour tous les matins à 8 heures.

La première étape consiste à créer une procédure VBA opérationnelle dans Excel. L'étape suivante consiste à utiliser le Bloc-notes pour écrire un court script qui crée une instance d'Excel et exécute la macro. Enfin, nous allons créer une tâche de base qui exécute le script VBScript tous les matins à 8 heures.

Le cahier de travail et la procédure

Vous pouvez facilement configurer un classeur pour mettre à jour un tableau croisé dynamique lors de l'ouverture si les données sont dans un objet Table (la démonstration .xlsm est). Pour ce faire, cliquez avec le bouton droit n'importe où dans le tableau croisé dynamique et choisissez Options de tableau croisé dynamique dans le sous-menu obtenu. Dans la boîte de dialogue résultante, cliquez sur l'onglet Données. Ensuite, cochez l’option Actualiser les données lors de l’ouverture du fichier dans la section Données du tableau croisé dynamique (Figure B). Vous n'avez pas besoin de faire cela pour que cette technique fonctionne, mais vous devez savoir que vous le pouvez.

Figure B

excelschedulingtasks-b.jpg "data-original =" https://tr1.cbsistatic.com/hub/i/r/2019/06/22/8de24a95-bb37-4541-a6f2-4a6dbbd4/resize/770x/b980f84731c1d5d -b.jpg

Vous pouvez forcer Excel à actualiser les objets de tableau croisé dynamique lorsque vous ouvrez le classeur.

Pour le moment, l'ouverture du classeur actualise le tableau croisé dynamique, mais vous devez toujours l'imprimer – c'est là que la macro entre en jeu. Ouvrez Visual Basic Editor (VBE) du classeur en appuyant sur Alt + F11. Dans le menu Insertion, choisissez Module. Dans le module résultant, entrez la procédure indiquée dans Liste A. N'essayez pas de copier le code à partir de cette page Web, car VBE ne pourra pas l'interpréter correctement. à la place, tapez-le vous-même ou importez le fichier .bas téléchargeable.

Liste A

Sub PrintUpdatedPivotTable ()
'Mettez à jour, puis imprimez PivotTable1.
Dim pt As PivotTable
Définissez pt = Sheets ("PivotTable"). PivotTables ("PivotTable1")
'Sélectionnez PivotTable1.
pt.TableRange1.Select
'Actualiser tous les pivots.
ThisWorkbook.RefreshAll
'Définir le mode paysage.
ActiveSheet.PageSetup.Orientation = xlLandscape
'Imprimer un tableau croisé dynamique1.
ActiveWindow.SelectedSheets.PrintOut
End Sub

Le code identifie et sélectionne le tableau croisé dynamique que vous souhaitez imprimer (Tableau croisé dynamique1 est son nom par défaut et je ne l'ai pas modifié). Après avoir actualisé tous les objets de tableau croisé dynamique, la procédure imprime le tableau croisé dynamique sélectionné (Tableau croisé dynamique1) en mode paysage. À l'aide de la méthode PrintOut, vous pouvez spécifier plusieurs copies, etc. Pour tester la procédure, cliquez n'importe où à l'intérieur et appuyez sur F5.

Enregistrez le classeur et fermez-le. Si vous utilisez la version du ruban, veillez à enregistrer le classeur en tant que fichier prenant en charge les macros (.xlsm). Notez l'emplacement du classeur et le nom de la procédure, car vous en aurez besoin dans le script que nous écrirons ensuite. Le fichier de démonstration est enregistré localement dans le dossier Documents.

Le scénario

VBScript est modelé sur Visual Basic et utilisé principalement par les administrateurs, mais il est assez simple pour que la plupart d'entre nous puissent apprendre les bases. Nous utiliserons le Bloc-notes comme éditeur de script. Ouvrez le Bloc-notes et entrez le script présenté dans Liste B.

Liste B

'Imprimer un tableau croisé dynamique dans un classeur Excel, PivotTable1.xlsm.
Définir objApp = CreateObject ("Excel.Application")
Définissez objwb = objApp.Workbooks.Open ("C:  Utilisateurs  Susan Harkins  Documents  PivotTable1.xlsm")
objApp.Visible = False
objApp.Run "PrintUpdatedPivotTable"
objwb.Fermer False
objApp.Quit
Définir objApp = Nothing
MsgBox "Tableau croisé dynamique imprimé avec succès", vbInformation

Ce script simple crée une instance Excel, identifie le classeur avec le tableau croisé dynamique que nous voulons imprimer et ouvre ce fichier. Avec la propriété Visible définie sur False, vous ne la verrez pas. Ensuite, le script exécute la macro de la liste A qui actualise les objets de tableau croisé dynamique, puis imprime le tableau croisé dynamique1. Une fois l'impression terminée, le script ferme le classeur sans vous inviter à enregistrer, ferme l'instance d'Excel et définit l'objet Excel sur Nothing.

Enregistrez le fichier sous PrintPivotTable1.vbs. Vous devez ajouter l'extension .vbs vous-même lorsque vous tapez le nom. Fermez le fichier en notant son emplacement.

Planificateur de tâches

Le Planificateur de tâches est un outil d'administration Windows utilisé depuis longtemps. Il est facile à utiliser et flexible. Nous n'utiliserons qu'une petite partie de ses fonctionnalités.

Dans le menu Démarrer de Windows, développez Outils d’administration Windows et sélectionnez Planificateur de tâches. Pour ajouter la tâche, procédez comme suit:

  1. Dans le menu Action, choisissez Créer une tâche de base.
  2. Donnez à la tâche un nom significatif, tel que PrintPivotTable1.
  3. Ajouter une courte description (Figure c). Vous pourriez être tenté de sauter cette étape, mais il est facile d'oublier une tâche qui s'exécute automatiquement et les autres en bénéficieront également. Cliquez sur Suivant.
  4. Choisissez Quotidien pour cette tâche et cliquez sur Suivant.
  5. Entrez 8:00:00 dans le contrôle de démarrage à droite. Laissez le paramètre Toutes les répétitions à 1 (valeur par défaut), comme indiqué dans Figure D. Cliquez sur Suivant.
  6. Dans la section Action, conservez l'option par défaut, Démarrer un programme. Ne modifiez aucun paramètre – cliquez simplement sur Suivant.
  7. J'ai mentionné plus tôt que vous auriez besoin de connaître l'emplacement du fichier. Utilisez le bouton Parcourir pour localiser PrintPivotTable1.vbs.
  8. Dans l'action, démarrez un contrôle de programme, entrez C: Windows System32 wscript.exe. Cela ne devrait pas être différent pour la plupart des utilisateurs – cela identifie le programme VBScript. Vous pouvez voir cscript.exe au fur et à mesure que vous en apprenez plus sur la langue; cscript.exe fonctionne à partir de la console. Si vous ne trouvez pas ce fichier .exe, tapez où wscript dans Cortana.
  9. Dans le contrôle Ajouter des arguments, identifiez le chemin du classeur: "C: Utilisateurs Susan Harkins Documents PrintPivotTable.vbs", comme indiqué dans Figure E. Les guillemets sont obligatoires et votre chemin sera différent du mien, alors mettez-le à jour en conséquence.
  10. Cliquez sur Suivant, puis sur Terminer.

Figure c

excelschedulingtask-c.jpg "data-original =" https://tr3.cbsistatic.com/hub/i/r/2019/06/22/bcfcbac1-42a8-4187-97e598f017b1/resize/770x/d793748e40bb48b2 -c.jpg

Nommez et décrivez la tâche.

Figure D

excelschedulingtasks-d.jpg "data-original =" https://tr3.cbsistatic.com/hub/i/r/2019/06/22/5c2b02c4-8c06-4994-aa18-80f534db1083/resize/770x/500d06410d5a58 -d.jpg

Entrez l'heure à laquelle vous souhaitez imprimer le tableau croisé dynamique.

Figure E

excelschedulingtasks-e.jpg "data-original =" https://tr1.cbsistatic.com/hub/i/r/2019/06/22/7775cba2-3d51-4773-9873-9c4c0c0f/resize/770x/b745ad211cfc7cbb5 -e.jpg

Identifiez le langage de script et le chemin du classeur.

Pour tester le script, cliquez dessus avec le bouton droit de la souris et choisissez Exécuter.

Dépannage

Il se passe beaucoup de choses, les erreurs sont donc faciles. Les erreurs les plus probables sont des fautes de frappe, qui ne spécifient pas les noms et les emplacements corrects .vbs, .xlsm et macro. Heureusement, VBScript affichera des messages d'erreur. Il est donc facile de localiser la déclaration proprement dite. Si vous recevez un message d'erreur d'objet, vérifiez les noms de variables dans le script. Si vous obtenez une erreur empêchant Windows de trouver le fichier ou la macro, vérifiez les noms et les chemins. Si le problème semble être l'une des autorisations, vous aurez peut-être besoin de l'aide de votre administrateur. Je vous recommande de sauvegarder les fichiers localement plutôt que sur un serveur en réseau pendant que vous testez.

Si vous choisissez une heure impaire, par exemple, au milieu de la nuit pour imprimer et que la tâche ne se produit pas, activez l'option Sécurité de la tâche. Vous voudrez peut-être modifier le paramètre par défaut Exécuter uniquement lorsque l'utilisateur est connecté pour Exécuter, que l'utilisateur soit connecté ou non (Figure F).

Figure F

excelschedulingtasks-f.jpg "data-original =" https://tr4.cbsistatic.com/hub/i/r/2019/06/22/0aa47df0-e94d-403c-9a77-efbea94a21bf/resize/770x/7db1cfanga29ab768b8d24 -f.jpg

Modifiez cette option si vous souhaitez que la tâche soit exécutée même si vous n'êtes pas connecté.

Bien que VBScript prenne en charge la gestion des erreurs, ce script simple n'en contient aucune. Si vous travaillez avec des imprimantes réseau susceptibles de se mettre hors ligne de manière inattendue ou rencontrant d'autres problèmes, vous pouvez ajouter le traitement d'erreur approprié.

Envoyez-moi votre question sur Office

Je réponds aux questions des lecteurs quand je peux, mais il n'y a aucune garantie. N'envoyez pas de fichiers à moins que demandé; Les demandes initiales d’aide qui arrivent avec des fichiers joints seront supprimées non lues. Vous pouvez envoyer des captures d'écran de vos données pour clarifier votre question. Lorsque vous communiquez avec moi, soyez aussi précis que possible. Par exemple, "Merci de dépanner mon classeur et de corriger ce qui ne va pas" ne recevra probablement pas de réponse, mais "Pouvez-vous me dire pourquoi cette formule ne renvoie pas les résultats escomptés?" pourrait. Veuillez mentionner l'application et la version que vous utilisez. TechRepublic ne me rembourse pas mon temps ni mon expertise pour aider les lecteurs, et je ne demande pas de frais aux lecteurs que j'aide. Vous pouvez me contacter à [email protected]

Regarde aussi

Déclaration de l'affilié TechRepublic peut gagner une commission sur les produits et services présentés sur cette page.

Commentaires

Laisser un commentaire

Votre commentaire sera révisé par les administrateurs si besoin.