Productivité : se former à la programmation en langage Python pour automatiser ses tâches

L’informatique offre des grands potentiels de gains de productivité à qui maîtrise le sujet. L’automatisation et l’intelligence artificielle (IA) sont deux domaines à dompter que ce soit pour informatiser les tâches des plus simples aux plus complexes, pour traiter des volumes de données conséquents, de fichiers sans cesse croissants.python-300x300

Il serait illusoire de croire que ces deux sujets d’actualité ne sont qu’une mode passagère. Ces deux domaines occasionnent de fortes mutations dont les effets semblent à l’heure actuelle limités (l’actualité économique s’en fait régulièrement l’écho) mais qui finiront en une une lame de fond qui impactera de nombreux pans d’activités, au premier rang desquels les métiers de la finance et de la comptabilité. Ceux qui n’auront pas su saisir cette mutation à temps auront les mêmes perspectives professionnelles que ceux qui ont ignoré l’informatisation balbutiante puis à marche forcée dans les années 80 puis 90. Il est encore temps de prendre le train en marche pour maintenir son employabilité.

A ce titre, très facile à maîtriser et particulièrement adapté pour l’automatisation de tâches, l’analyse de données et le traitement de fichiers, le langage Python est le langage à la mode du moment. Il est le deuxième le plus demandé par les employeurs en 2022. D’ailleurs, Microsoft ne s’y est pas trompé en intégrant tout récemment Python à Excel.

Ce sera l'IA et moi, Cécile DEJOUX (éditions VUIBERT)

Ce sera l’IA et moi, Cécile DEJOUX (éditions VUIBERT)

Automatiser la collecte de fichiers de sources diverses (serveurs FTP, sites web…), la conversion de fichiers de formats divers (PDF, CSV, Excel…), la création de tableaux de reporting à partir de ces données dans des classeurs Excel… Le champs des possibles est infini… L’arrivée de l’IA générative grand public l’an dernier a ouvert un formidable terrain de jeux… dont ne ressortiront vivants (professionnellement parlant) que ceux qui maîtriseront ces outils.

Exemple de projet d’analyse de données automatisée (langages VBA / SQL) : mise en évidence d’écarts :

Exemple de contrôle automatisé de la variation des dépréciations de stock

Exemple de contrôle automatisé de la variation des dépréciations de stock

Je vous propose ci-après quelques idées de formations en ligne gratuite pour apprendre le langage Python sur la plateforme FUN-MOOC (France Université Numérique), lancée par le Ministère de l’Enseignement Supérieur et de la Recherche :

Vidéo, textes, manuel PDF, quiz… ces formations utilisent les principaux formats pour favoriser un apprentissage efficace…

MOOC PYTHON

Afin d’enfoncer le clou, je proposerai dans les mois qui viennent une série d’articles pour découvrir le langage Python autour d’exemples concrets : fusion de plusieurs fichiers PDF en un seul fichier, regroupement de plusieurs Fichiers d’Ecritures Comptables (FEC) en un seul, création d’un FEC augmenté (avec champ taux de TVA, racines de compte…), téléchargement de fichiers situés sur un serveur sFTP, exécution de scripts Python à partir d’un code VBA

FEC augmenté = FEC + champs additionnels : taux de TVA, racines de compte, solde et mois (AAAA/MM)

FEC augmenté = FEC + champs additionnels : taux de TVA, racines de compte, solde et mois (AAAA/MM)

A titre d’illustration, j’ai développé un projet VBA qui exécute un script Python. Le script Python se connecte à un serveur sFTP  et télécharges les 80 FEC du groupe, les balances comptables. Puis le code VBA prend le relais, effectue des traitements (dézipage…)  puis transfère les fichiers sur OneDrive pour lancer les traitements d’analyse de données (PADOCC_Ecritures)…

Supervision de la collecte de FEC : tableau de bord automatisé à l'aide d'un code VBA et d'un script Python

Supervision de la collecte de FEC : tableau de bord automatisé à l’aide d’un code VBA et d’un script Python

Ces tâches automatisées exécutées plusieurs fois par semaine, sans aucune valeur ajoutée mais hautement indispensables, sont réalisées en moins de 10 minutes… économies de ressources garanties… Toutes ces automatisations, ce sont des heures de travail gagnées chaque mois !

Tous ces exemples n’ont qu’un  but : automatiser au maximum les tâches de collecte et d’analyse de données.

Bien entendu, au delà de la formation, la création d’un programme Python nécessite un investissement en temps (modélisation du process à automatiser, programmation des différentes étapes identifiées et évidemment maintenance du script en cas de changement dans les process, dans l’infrastructure réseau, dans les SI comptables….).

Extrait d’un script Python (à titre d’illustration) :

# Cette fonction télécharges les fichiers et les sous-dossiers du serveur sFTP vers le PC
def telecharge_fichiers_sftp(sftp, chemin_serveur, chemin_local):
    try:
        # Liste des fichiers et dossiers dans le répertoire distant
        fichiers_serveur = sftp.listdir(chemin_serveur)

        # Téléchargement de chaque fichier du répertoire distant
        for fichier_serveur in fichiers_serveur:
            # Chemin accès aux fichiers
            chemin_fichier_serveur = f"{chemin_serveur}/{fichier_serveur}"
            chemin_fichier_local = f"{chemin_local}\\{fichier_serveur}"

            
            # Vérifie si l'élément distant est un répertoire
            if is_directory(sftp, chemin_fichier_serveur):
                # Création du sous-dossier local si nécessaire
                if not os.path.exists(chemin_fichier_local):
                    os.makedirs(chemin_fichier_local)

                # Appel de la fonction pour traiter le sous-dossier distant (récursivité)
                telecharge_fichiers_sftp(sftp, chemin_fichier_serveur, chemin_fichier_local)
            else:
                # Téléchargement du fichier
                sftp.get(chemin_fichier_serveur, chemin_fichier_local)

                # Lecture de la date de modification du fichier distant
                mtime = sftp.stat(chemin_fichier_serveur).st_mtime

                # Définition de la date de modification du fichier téléchargé en local
                os.utime(chemin_fichier_local, (time.time(), mtime))

                print(f"\tTéléchargé : {fichier_serveur}")

    except FileNotFoundError as e:
        print(f"\tErreur : Répertoire distant introuvable. {e}")
    except Exception as e:
        print(f"\tErreur : {e}")

Aller plus loin avec Python :

Pour compléter cet apprentissage, découvrez cette rapide (mais efficace 😉 Introduction à l’utilisation des agents conversationnels (IA) pour en comprendre les usages et limites et identifier comment les intégrer dans son environnement de travail en toute sécurité (principaux écueils : hallucinations, c’est-à-dire une réponse fausse ou trompeuse qui est présentée comme un fait certain… rédigée de manière crédible et généralement argumentée, fuites de données confidentielles et protection du secret des affaires) ainsi que quelques idées de formation sur l’intelligence artificielle :

MOOC FAKE NEWS IA

Les agents conversationnels sont très efficaces pour aider à écrire des programmes informatiques et à déboguer du code… et ce, quel que soit le langage de programmation (formules de calcul Excel, VBA, Python, PHP, SQL…).

Dernière information : Mendo, l’assistant personnel Excel, se dote des capacité de l’intelligence artificielle générative avec Mendo AI.

___

Approfondir le sujet : Découvrir la programmation avec le langage Basic

Share Button
The following two tabs change content below.
Après seize années passées en cabinet d’expertise-comptable et de commissariat aux comptes (où j’ai exercé comme expert-comptable et chef de mission audit), j’ai pris le poste de directeur comptable d’un groupe de distribution automobile en novembre 2014. Au cours de ma carrière, j’ai acquis une expérience significative en audit et en exploitation des systèmes d’information (analyse de données, automatisation des tâches, programmation informatique) au service de la production des comptes annuels et consolidés. C’est cette expérience personnelle et ma passion pour l’informatique que je partage sur ce blog. Mon CV / Réalisations personnelles et projets informatiques / Ma collection / Me contacter