Automatiser son reporting Excel : Power Query, Office Scripts, Power Automate ou Power BI ?
Vous produisez chaque semaine le même tableau de ventes, de trésorerie ou d'heures, à partir de deux ou trois exports. La question n'est pas « faut-il automatiser », mais quelle brique Microsoft utiliser, et ce qui casse une fois la chaîne en place.
Cet article compare quatre options documentées par Microsoft — Power Query, Office Scripts, Power Automate et Power BI — puis propose une méthode de test avant de s'engager.
Ce qu'automatiser veut dire ici
L'éditeur MyReport, qui commercialise une solution de reporting, décrit l'automatisation comme le fait de générer des rapports à partir de sources consolidées sans intervention manuelle, et présente la réduction des erreurs de saisie dans les fichiers Excel comme l'un de ses apports principaux (MyReport). Ce même éditeur indique que les données financières (budgets, cash-flow), commerciales (chiffre d'affaires, marges), RH (effectifs, absentéisme), marketing et opérationnelles peuvent entrer dans un reporting automatisé. C'est une description commerciale, utile pour cadrer le périmètre, pas une mesure indépendante.
En pratique, dans une PME, le cœur du sujet reste plus modeste : supprimer les copier-coller entre un export et un classeur de synthèse.
Les quatre briques, et ce que chacune sait faire
Power Query : la transformation des données
À notre avis, c'est le point de départ à tester en premier. Power Query se connecte à des sources, nettoie et combine les données, et la requête se réactualise. Dans Excel 2016 et versions ultérieures, l'éditeur est accessible depuis la section Obtenir des données du ruban Données (Microsoft Learn).
Microsoft recommande Power Query « pour extraire et transformer des données à partir de sources de données externes volumineuses », en soulignant ses connexions intégrées à des centaines de sources et le fait qu'il n'a pas les mêmes limites de transfert que Power Automate ou Excel sur le web (Microsoft Learn). Point d'attention : « l'expérience Power Query complète est actuellement disponible uniquement pour Excel pour Windows ».
Coût : inclus dans Excel. C'est l'option à épuiser avant toute autre.
Office Scripts : la mise en forme et la logique
Microsoft positionne les scripts Office « lorsque vos besoins vont au-delà de l'importation et de la transformation des données » : mise en forme cohérente, création de graphiques et de tableaux croisés dynamiques, logique conditionnelle en TypeScript. Ils sont aussi « adaptés aux solutions rapides centrées sur Excel et aux intégrations Power Automate ».
Limites documentées pour Excel sur le web : les requêtes et réponses sont plafonnées à 5 Mo, une plage à cinq millions de cellules, et une licence professionnelle Microsoft 365 est requise pour les utiliser dans Power Automate (Microsoft Learn).
Power Automate : le déclencheur
Power Automate n'est pas un outil de reporting : il déclenche l'exécution (manuellement, à heure fixe, ou sur événement) et enchaîne les étapes. Le tutoriel officiel montre un flux instantané qui exécute un script Office sur un classeur OneDrive (Microsoft Learn).
C'est ici que se cachent les pièges les plus coûteux, tous documentés :
- L'actualisation n'est pas entièrement prise en charge pour les scripts Office exécutés dans un flux. « La plupart des méthodes d'actualisation, telles que
PivotTable.refresh, ne font rien lorsqu'elles sont appelées dans un flux. »Workbook.refreshAllDataConnections« s'actualise uniquement lorsque PowerBI est la source ». Et « Power Automate ne déclenche pas d'actualisation des données pour les formules qui utilisent des liens de classeur » (Microsoft Learn). À retenir : ne comptez pas sur un script Office appelé depuis un flux pour rafraîchir vos requêtes Power Query. - Pas de références relatives.
getActiveWorksheet,getSelectedRangeouRange.selectéchouent ou adoptent un comportement par défaut. Il faut nommer explicitement feuilles et plages. - Fuseaux horaires : « Power Automate utilise toujours l'UTC », ce qui décale les dates calculées.
- Quotas : 1 600 appels à l'action Exécuter le script par utilisateur et par jour, délai d'expiration de 120 secondes pour les opérations synchrones, et 28,6 Mo de paramètres maximum.
Power BI : la publication et la planification
Power BI prend le relais quand le reporting doit être partagé, planifié et consulté hors d'Excel.
En mode Import, le modèle doit être actualisé. En mode DirectQuery, « vous n'avez pas besoin d'exécuter une actualisation des données », car la source est interrogée à chaque interaction — mais Power BI continue d'actualiser les vignettes des tableaux de bord (Microsoft Learn).
Sur la modélisation, Microsoft conseille de « privilégier la création de colonnes personnalisées dans Power Query » plutôt que des colonnes calculées DAX, moins bien compressées et recalculées après le chargement (Microsoft Learn).
Comparatif, coûts et limites
| Brique | Rôle | Coût catalogue | Limites documentées |
|---|---|---|---|
| Power Query | Extraire, nettoyer, combiner | Inclus dans Excel | Expérience complète sur Excel pour Windows uniquement |
| Office Scripts | Mise en forme, visuels, logique | Inclus avec une licence Microsoft 365 éligible ; licence professionnelle requise pour Power Automate | Excel sur le web : 5 Mo par requête, 5 M de cellules par plage |
| Power Automate | Déclenchement, enchaînement | Licence Power Automate (non publiée dans les sources citées) | Un script Office exécuté dans un flux n'actualise pas la plupart des données ni les liens de classeur ; 1 600 exécutions/jour ; timeout 120 s ; UTC |
| Power BI Pro | Publication, planification, partage | 12,10 € HT/utilisateur/mois, paiement annuel | 8 actualisations planifiées/jour ; modèle limité à 1 Go |
| Power BI Premium par utilisateur | Idem, modèles plus gros | 20,80 € HT/utilisateur/mois, paiement annuel | 48 actualisations/jour ; modèle jusqu'à 100 Go |
Tarifs publiés par Microsoft, hors TVA (page tarifaire Power BI). Microsoft précise que « les prix indiqués sont uniquement à des fins de marketing » et peuvent varier.
Deux points de licence structurent le budget :
- Chaque lecteur doit être licencié, sauf à passer sur une capacité. Microsoft indique que la consultation de rapports « sans licences supplémentaires payées par utilisateur » n'est disponible « qu'à partir de P1 (et F64 et plus) ».
- La taille du modèle est plafonnée à 1 Go sur capacité partagée : « la capacité partagée peut héberger des modèles avec une taille maximale de 1 Go ».
Ce qui casse une fois la chaîne en place
Quatre causes de panne sont explicitement documentées par Microsoft pour Power BI :
- Les identifiants expirent. « Si le mot de passe que vous utilisez pour vous connecter à une source de données arrive à expiration ou a été changé, vous devez également le changer pour la source de données dans Informations d'identification de la source de données. »
- Quatre échecs consécutifs désactivent la planification. Power BI la désactive aussi « quand le service détecte une erreur irrécupérable nécessitant une mise à jour de la configuration, par exemple des informations d'identification non valides ou ayant expiré ». Le seuil n'est pas modifiable.
- L'inactivité suspend l'actualisation. « Après deux mois d'inactivité, l'actualisation planifiée sur votre modèle sémantique est suspendue » — un modèle est inactif si personne n'a ouvert un rapport qui s'en sert.
- La passerelle tombe. Une passerelle de données locale est nécessaire « lorsque le service Power BI doit interroger ou actualiser les données auxquelles il ne peut pas accéder directement sur Internet » (Microsoft Learn). Si le service est hors connexion, l'actualisation échoue.
Autrement dit : prévoyez qui surveille l'historique des actualisations et qui ressaisit les identifiants. C'est le vrai coût de maintenance.
Une méthode de test en deux semaines
Avant d'acheter quoi que ce soit, passez un seul reporting au banc d'essai.
- Jour 1 — Choisissez le reporting le plus répétitif, pas le plus complexe. Chronométrez sa production manuelle et notez le nombre de sources.
- Jours 2-3 — Reconstruisez-le entièrement en Power Query, sans écrire une ligne de code. Nommez les feuilles et les plages de façon fixe dès maintenant.
- Jour 4 — Testez l'actualisation sur un nouvel export : la requête tient-elle si une colonne change de place ou de nom ?
- Jour 5 — Décidez si Power Query suffit. Si la réponse est oui, le dossier s'arrête là.
- Semaine 2 — Si le besoin est la mise en forme ou les visuels, testez un Office Script. Si le besoin est la diffusion planifiée à plusieurs lecteurs, testez Power BI avec une actualisation quotidienne et comptez les licences nécessaires. Si le besoin est un déclenchement sur événement, testez Power Automate — en vérifiant d'abord qu'il n'a pas à rafraîchir une requête Power Query.
- Avant de valider — Débranchez volontairement une source ou changez un mot de passe de test, et mesurez combien de temps il faut pour détecter puis réparer la panne. Nommez la personne responsable de cette surveillance.
Exemple hypothétique (illustratif)
Scénario fictif. Une PME de 40 salariés consolide chaque lundi trois exports CSV de son ERP dans un suivi de marge. Power Query absorbe les trois fichiers depuis un dossier et produit le tableau en une actualisation. Personne n'a besoin de Power BI : le classeur reste sur SharePoint, trois personnes l'ouvrent. Le projet s'arrête là. Si, six mois plus tard, le dirigeant veut consulter l'indicateur sur mobile sans ouvrir Excel, la question Power BI — et ses licences par lecteur — se posera alors, pas avant.
Quand un développement sur mesure se justifie
Les quatre briques comparées ici partent du cas « des données existent déjà dans un fichier ou une base ». Si la donnée n'est pas encore saisie, par exemple sur le terrain, le besoin sort de ce périmètre.
C'est le cas auquel peut répondre un développement spécifique. Transparence : MistralJS, éditeur de cette page, réalise ce type de projets. Pour SMA Assainissement, MistralJS indique avoir livré une application sur le téléphone du technicien, qui note et photographie sur site, le rapport sortant « propre, prêt pour le bureau et le client » dès la fin du chantier (cas client). Il s'agit d'un cas rapporté par le prestataire. Si votre problème est en revanche « j'ai déjà les exports, je les recopie à la main », commencez par Power Query.
En résumé
Power Query d'abord. Office Scripts pour la mise en forme. Power Automate pour déclencher — en sachant qu'un script Office appelé depuis un flux n'actualise pas vos requêtes. Power BI quand le partage planifié le justifie, en comptant les licences lecteurs et en surveillant les identifiants.