L'IA ne peut pas automatiser le chaos #2 : automatiser sans moyens dans votre entreprise
Nous avons tous un nombre plus ou moins élevé de tâches extrêmement répétitives à réaliser périodiquement. Je vais vous montrer dans cette série comment j'ai gagné plusieurs heures par semaine.
Ton entreprise ne dispose pas d’abonnements à des modèles IA, et n’a pas les moyens/l’intention de l’intégrer à ses procédés répétitifs. Tu vas devoir innover, ou bricoler, ça dépend du point de vue.
Ce qui me prenait au minimum une heure chaque jour se fait maintenant tout seul pendant ma pause déjeuner. Je gagne entre 4 et 5 heures par semaine.
Merci d'avoir lu Construire avec l'IA ! Abonnez-vous gratuitement pour recevoir de nouveaux posts et soutenir mon travail.
Je souhaitais terminer la série sur mon set d’outils analogues avant d’attaquer les outils IA à proprement parler. Cette dernière sera pour ceux qui aiment “mettre les mains dans le cambouis” et s’affairer à des systèmes parfois plus vieux qu’eux.
Il se trouve que ce dont nous nous apprêtons à parler a été rendu possible justement par l’IA, qui brisa la barrière entre développeurs et amateurs de pauses café. Chacun d’eux a en commun la rationalité : optimiser son temps et l’énergie investie. L’un est un expert, l’autre un novice sans connaissances, mais qui peut parvenir à presque tout avec un peu de persévérance.
On va parler ici d’un exemple réel où les données d’un site industriel local sont totalement déconnectées du système central car il n’y a pas d’ERP local.
Le déclic ?
Pendant des mois, j'ai regardé des fichiers s'empiler. Chaque jour, la même routine : ouvrir 12 fichiers Excel, copier-coller, vérifier, renommer, uploader. Une heure perdue. Et un jour, j'ai mis le pied à l’étrier.
Explorations
Comme tu le sais, je ne suis pas développeur, mais je connais la puissance de l’IA, qui peut écrire du code extrêmement qualitatif à partir d’une description de problème.
J’ai commencé par tester des choses sur VBA (le langage de scripts sur Excel) et PowerShell (le langage de scripts de Windows).
—> Créer un dossier avec le nom du jour, renommer ceci, bouger cela… C’était de l’itération pure et dure, mais très formatrice ! Et j’ai d’ailleurs découvert que j’adorais apprendre comment fonctionnait le code et en écrire moi-même, en partant de 0. C’est à la portée de quiconque avec un intérêt pour les nouvelles technologies et l’automatisation.
Un système de chaînes d’exécution
Voici plus concrètement ce que j’ai automatisé.
Le traitement des factures locales émises par mon entreprise, et les ordres d’achats de nos clients. Tous les jours à exactement 13 h 05, quand je suis en pause de midi, toute une machine se lance.
Excel s’ouvre tout seul et exécute une macro VBA.
La macro actualise un Power Query (dont je t’ai parlé la semaine dernière)
La macro crée le dossier du jour et génère un fichier de facturation et de commandes en .txt à loader dans le système central, avec format et structure précise.
Un fichier .txt avec le run du jour est généré pour la traçabilité.
Les fichiers .txt sont loadés sur le serveur central de l’entreprise.
Un mail m’est envoyé automatiquement via Outlook avec le statut “SUCCESS” ou “ERROR”.

Comment ça fonctionne ?
Premièrement, pour qu’un script se lance seul sur ordinateur, tu as deux possibilités :
Le planificateur de tâches
Mettre un script qui se déclenche au démarrage de l’ordinateur et attend l’heure que tu lui définiras pour continuer
Pour ma part, j’ai opté pour l’option 2, n’ayant pas le droit d’utiliser le planificateur de taches dans mon entreprise.
Pour ce faire, presse les boutons Windows + R et écris shell:startup.

Crée-y un fichier .txt avec le contenu suivant (n’oublie pas de remplacer les “X” par ta route réelle).
Set objShell = CreateObject("WScript.Shell")
objShell.Run _
"powershell.exe -NoProfile -ExecutionPolicy Bypass -File ""C:\XXX\XXXX.ps1""", _
0, _
FalseEnregistre-sous en .vbs (c’est le format de scripts Windows à côté de PowerShell). Concrètement, ce lanceur va exécuter 0_Launcher.ps1 en mode “dormant”, qui attendra l’heure définie pour lancer les macros Excel.
Arrivé à 13 h 05, ça démarre.

Ensuite, cela va cascader sur le “1_Execute_macros”, “Get_files” etc…
Le résultat final à mon retour de pause déjeuner :

Comment l’utiliser pour toi ?
Mon premier conseil, déjà évoqué ici : faire un mapping complet de ce dont tu aimerais épargner ton temps. Repère ce qui est systématique et prévisible.
Pour la plupart des tâches, ça se divise en deux groupes.
Les tâches organisationnelles
Pour les tâches Windows, décris de manière extrêmement détaillée à Claude ce que tu aimerais pouvoir réaliser et demande un code PowerShell. Colle le code dans le Bloc-notes et enregistre au format .ps1.
Teste-le en ouvrant PowerShell (en ayant au préalable fait une copie !) et colle “C:\Chemin\Vers\TonScript.ps1”

Et une fois que cela fonctionne, automatise-le via le planificateur de tâches ou le script à déclenchement.
Les tâches Excel
Demande à Claude de te générer un script VBA, en étant extrêmement détaillé (cases, colonnes, résultats, destinations). Active les macros si ce n’est pas déjà fait.
Sélectionne Menu “Développeur” > Visual Basic ou simplement Alt + F11 :) Insère un nouveau module.

Copie-colle le code. Ensuite je te conseille de le tester ligne par ligne en appuyant sur F8 à chaque ligne exécutée, tu verras les changements en temps réel s'opérer sur ton fichier. Ici par exemple, on a une ébauche d'un code :
Qui met à jour le fichier complet (celui dans lequel tu exécutes la macro, mais tu pourrais très bien pointer vers un autre fichier)
Enregistre la première feuille dans un dossier à la date d’aujourd’hui, et le fichier aussi a comme nom la date d’aujourd’hui
Sub Rafraichir_et_enregistrer()
Dim wb As Workbook
Dim ws As Worksheet
Dim dateToday As String
Dim folderPath As String
Dim fileName As String
' Définir le classeur actif
Set wb = ActiveWorkbook
Set ws = wb.Sheets(1) ' Première feuille
' Rafraîchir toutes les connexions et calculs
wb.RefreshAll
Application.CalculateUntilAsyncQueriesDone ' Attendre la fin du rafraîchissement
' Créer le nom du dossier et du fichier avec la date du jour
dateToday = Format(Date, "yyyy.mm.dd")
folderPath = "C:\Users\XXXX\Votre route\" & dateToday & "\" ' Pense à bien adapter la route
' Créer le dossier s'il n'existe pas
If Dir(folderPath, vbDirectory) = "" Then
MkDir folderPath
End If
' Nom du fichier (date du jour)
fileName = folderPath & dateToday & ".xlsx"
' Enregistrer la première feuille dans un nouveau classeur
Dim newWb As Workbook
Set newWb = Workbooks.Add
ws.Copy Before:=newWb.Sheets(1) ' Copier la feuille dans le nouveau classeur
Application.DisplayAlerts = False ' Désactiver les alertes pour éviter les pop-ups
newWb.SaveAs fileName, FileFormat:=xlOpenXMLWorkbook ' Enregistrer en .xlsx
newWb.Close SaveChanges:=False ' Fermer sans enregistrer les modifications ultérieures
Application.DisplayAlerts = True ' Réactiver les alertes
End Sub
Maintenant, tu peux automatiser son déclenchement à toute heure de la journée, si par exemple c’est un fichier Excel dynamique qui s’actualise régulièrement, et envoyer un e-mail à toi-même comme je l’ai fait.
L’idée, c’est que chaque script devienne le déclencheur du suivant. Ici par exemple, la fin des macros déclenche le script de nettoyage des fichiers et l’upload.

Pour finir, comme tout se déroule sur ton ordinateur, il n’y aura aucun problème pour le script final de déclencher l’ouverture d’Outlook et de t’envoyer un mail à toi-même. Ce dernier sert de trace qui te permet d’avoir un historique de ce qu’il s’est passé, et t’assure de la bonne exécution de tes tâches.
Ta chaîne d’exécution doit être “bullet-proof”. Si tu redémarres ton ordinateur et que le script a déjà été exécuté plus tôt dans la journée, il ne doit pas se redéclencher.
Pour éviter cela, on peut générer un petit fichier .txt (que l’on appelle un log chez les développeurs), avec par exemple la date du jour. Ainsi, tu mettras dans ton premier script une vérification : s’il existe déjà un .txt avec la date du jour, annuler l’exécution.
Ce système tourne maintenant depuis plusieurs mois sans broncher. 4 à 5 heures gagnées par semaine, pour un investissement initial de quelques jours. Mais on reste encore dans l’automatisation “locale” : tout se passe sur mon ordinateur. Dans les prochains posts, on passe à n8n et l’IA : orchestration dans le cloud, connexion entre plusieurs services...
Je me tiens à ta disposition pour toute question ou si tu souhaites de l’aide pour construire tes automatisations, et n’hésite pas à me faire un retour si le contenu t’a été utile !
Les scripts sont à retrouver sur mon Notion (sinon la newsletter va faire 10 km) avec des explications pour chaque ligne. Il s’agit d’ébauches de scripts à adapter à tes besoins et à tes chemins d’accès, à enregistrer en format .ps1.
Merci d'avoir lu Construire avec l'IA ! Abonnez-vous gratuitement pour recevoir de nouveaux posts et soutenir mon travail.
Construire avec l'IA
Recevez chaque nouvel article par e-mail, gratuitement, dès sa parution sur Substack.
