1. Livres & vidéos
  2. UiPath et Robotic Process Automation
  3. Gestion de classeurs Microsoft Excel
Extrait - UiPath et Robotic Process Automation Automatisez vos processus métier avec la RPA (2e édition)
Extraits du livre
UiPath et Robotic Process Automation Automatisez vos processus métier avec la RPA (2e édition) Revenir à la page d'achat du livre

Gestion de classeurs Microsoft Excel

Introduction

Nous avons entrevu la manipulation de feuilles de calcul Google Sheets dans le chapitre précédent.

Les interactions possibles avec les fichiers Microsoft Excel sont encore plus nombreuses.

Nous étudierons douze applications UiPath dans lesquelles :

  • Nous accéderons en mode lecture au contenu d’une feuille de calcul Microsoft Excel.

  • Nous compterons le nombre de lignes présentes dans une feuille de calcul.

  • Nous compterons le nombre de feuilles présentes dans un classeur Microsoft Excel.

  • Nous listerons les noms des feuilles de calcul d’un classeur.

  • Nous supprimerons le contenu d’une feuille de calcul.

  • Nous supprimerons une feuille de calcul.

  • Nous supprimerons un lot de feuilles de calcul.

  • Nous exporterons le contenu d’une feuille de calcul au format CSV.

  • Nous importerons le contenu d’un fichier au format CSV dans une feuille de calcul.

  • Nous supprimerons les doublons présents dans une feuille de calcul.

  • Nous trierons les enregistrements d’une feuille de calcul.

  • Nous déclencherons une procédure écrite en VBA (Visual Basic for Applications) Excel.

Sans prétendre à l’exhaustivité, ces exemples vous donneront une idée assez précise du potentiel d’UiPath pour la gestion des classeurs Microsoft Excel.

Application « Excel - Lecture de données depuis un classeur »

1. Présentation de l’application

Cette première version d’application UiPath a pour objectif d’ouvrir un classeur Microsoft Excel de nom TDF2003.xlsx. Le jeu de données est constitué de trois onglets principaux nommés COUREUR, PAYS et EQUIPE.

Le premier onglet COUREUR contient quatre colonnes caractérisant les coureurs ayant participé à l’édition du Tour de France cycliste masculin en 2003. Ces colonnes sont :

  • DOSSARD_COUREUR (dossard sur 3 caractères) ;

  • IDENTITE_COUREUR (nom et prénom sur 40 caractères) ;

  • CODE_PAYS_COUREUR (code ISO du pays sur 3 caractères) ;

  • CODE_EQUIPE_COUREUR (code de l’équipe sur 3 caractères).

Les données lues sur l’onglet COUREUR seront affichées au travers d’une fenêtre d’alerte.

Le jeu de données COUREUR contient 198 enregistrements.

images/XII_1_1_01.png

2. Application UiPath

Le workflow du traitement est relativement simple. Il est vrai que nous nous contentons de faire une extraction basique de données suivie d’un affichage par une activité MessageBox.

images/XII_1_2_01.png

Le traitement est englobé dans une séquence qui intègre une activité Traitement du classeur Excel (ExcelApplicationScope).

Ici, l’intitulé...

Application « Excel - Nombre de lignes d’une feuille »

1. Présentation de l’application

Cette seconde application UiPath a pour objectif d’ouvrir un classeur Microsoft Excel de nom TDF2003.xlsx et de compter le nombre d’enregistrements présents sur l’onglet nommé COUREUR.

Le processus aura à peu près les mêmes caractéristiques techniques que celles vues dans la section Application « Excel - Lecture de données depuis un classeur ».

2. Application UiPath

Le workflow du traitement est très simple. Nous nous contentons d’effectuer une extraction basique des données, suivie de l’affichage du nombre de coureurs au moyen d’une activité MessageBox :

images/XII_2_2_01.png

La différence est que la DataTable récupérant le flux de données issu de l’onglet COUREUR a ici été nommée dataTableCOUREUR. Il s’agit d’une convention de nommage communément utilisée.

Le nombre de coureurs est affiché à l’aide de la formule suivante :

"Nombre de coureurs :" + dataTableCOUREUR.Rows.Count.ToString  

3. Compte rendu d’exécution

À l’exécution du processus UiPath, nous obtenons l’affichage du nombre de coureurs présents dans l’onglet COUREUR du classeur Microsoft Excel TDF2003.xlsx :...

Application « Excel - Nombre de feuilles d’un classeur »

1. Présentation de l’application

Cette troisième application permet de déterminer le nombre de feuilles présentes dans un classeur Microsoft Excel. Nous utiliserons le classeur TDF2003.xlsx, déjà employé dans l’application de la section Application « Excel - Nombre de lignes d’une feuille ».

En revanche, le processus ne mentionnera pas le nom des feuilles.

2. Application UiPath

Démarrons par le workflow du processus UiPath :

images/XII_3_2_01.png

Le conteneur principal est de type UiPath.Excel.Activities.Business.ExcelProcessScopeX.

À titre indicatif, ce conteneur diffère de celui utilisé dans l’application XII.1. Cela ne modifie pas intrinsèquement le fonctionnement du processus.

Le composant nommé Processus UiPath sur le classeur Excel TDF2003.xlsx, de type UiPath.Excel.Activities.Business.ExcelApplicationCard, permet de sélectionner le classeur sur lequel intervenir (ici TDF2003.xlsx) et de renseigner quelques paramètres sans grande importance dans notre cas. Seul le champ Référencer en tant que est renseigné avec le nom Excel. Ce nom, choisi librement, sera réutilisé plus loin dans le processus.

Ce composant intègre une séquence Faire de type System.Activities.Statements.Sequence :

images/XII_3_2_02.png

L’activité...

Application « Excel - Listage du nom des feuilles d’un classeur »

1. Présentation de l’application

Cette quatrième application va lister les noms des feuilles incluses dans un classeur Microsoft Excel (TDF2003.xlsx).

2. Application UiPath

Présentons le workflow du processus UiPath :

images/XII_4_2_01.png

Le conteneur principal est de type UiPath.Excel.Activities.Business.ExcelProcessScopeX.

Ce conteneur est identique à celui utilisé dans l’application listant le nombre de feuilles d’un classeur.

Le composant nommé Processus UiPath sur le classeur Excel TDF2003.xlsx de type UiPath.Excel.Activities.Business.ExcelApplicationCard permet de lister les noms des feuilles du classeur TDF2003.xlsx.

images/XII_4_2_02.png

Ce composant intègre une séquence de type System.Activities.Statements.Sequence (Faire) embarquant une activité de type UiPath.Excel.Activities.Business.ForEachSheetX : 

images/XII_4_2_03.png

Cette activité parcourt la collection des feuilles du classeur TDF2003.xlsx. Leurs noms sont concaténés dans une variable textuelle nommée listeNomsFeuilles, déclarée dans le gestionnaire de données du processus.

La concaténation s’effectue comme suit :

listeNomsFeuilles + vbCrLf + "- " + CurrentSheet.Name  

3. Compte rendu d’exécution

La liste des feuilles du classeur Microsoft Excel TDF2003.xlsx est affichée comme suit à...

Application « Excel - Effacement du contenu d’une feuille »

1. Présentation de l’application

Cette cinquième application va permettre l’effacement du contenu d’une feuille de calcul d’un classeur Microsoft Excel.

La feuille dont le contenu sera effacé est la feuille COUREUR du classeur TDF2003.xlsx.

Une copie préalable de cette feuille sera à effectuer pour ne pas risquer une perte irrémédiable de données.

2. Application UiPath

Démarrons par le workflow du processus UiPath :

images/XII_5_2_01.png

Le conteneur principal est de type UiPath.Excel.Activities.Business.ExcelProcessScopeX. Ce conteneur est identique à celui utilisé dans l’application de la section Application « Excel - Listage du nom des feuilles d’un classeur ».

Le composant nommé Processus UiPath sur le classeur Excel TDF2003.xlsx de type UiPath.Excel.Activities.Business.ExcelApplicationCard permet de supprimer le contenu de l’onglet COUREUR du classeur TDF2003.xlsx.

Ce composant intègre une séquence de type System.Activities.Statements.Sequence.

images/XII_5_2_02.png

Cette séquence permet la suppression du contenu de la feuille COUREUR au travers d’une activité UiPath.Excel.Activities.Business.ClearRangeX :

images/XII_5_2_03.png

Comme souvent, le paramétrage de cette activité est directement accessible au moyen de son interface graphique ;...

Application « Excel - Suppression d’une feuille de calcul »

1. Présentation de l’application

Cette nouvelle application va plus loin que la précédente : il ne s’agit plus d’effacer le contenu d’une feuille de calcul d’un classeur Microsoft Excel, mais de supprimer la feuille elle-même.

La feuille COUREUR du classeur TDF2003.xlsx sera supprimée par le processus. 

Une copie préalable de cette feuille sera à effectuer pour ne pas risquer une perte irrémédiable de données.

2. Application UiPath

Voici le workflow du processus UiPath :

images/XII_6_2_01.png

Le conteneur principal est de type UiPath.Excel.Activities.Business.ExcelProcessScopeX. Ce conteneur est identique à celui utilisé dans l’application de la section Application « Excel - Effacement du contenu d’une feuille ».

Nous retrouvons également le composant nommé Processus UiPath sur le classeur Excel TDF2003.xlsx de type UiPath.Excel.Activities.Business.ExcelApplicationCard qui permet de supprimer la feuille de calcul COUREUR du classeur TDF2003.xlsx.

Ce composant intègre une séquence de type System.Activities.Statements.Sequence :

images/XII_6_2_02.png

Cette séquence permet la suppression de la feuille COUREUR au travers d’une activité UiPath.Excel.Activities.Business.DeleteSheetX :

images/XII_6_2_03.png

Comme nous l’avons...

Application « Excel - Suppression d’un lot de feuilles de calcul »

1. Présentation de l’application

Cette application, très proche de la précédente, permet de supprimer en une seule opération plusieurs feuilles de calcul d’un classeur Microsoft Excel.

Les feuilles dont le nom contient par CLASSEMENT_ du classeur TDF2003.xlsx seront supprimées par le processus. Il s’agira des feuilles CLASSEMENT_BLANC, CLASSEMENT_EQUIPE, CLASSEMENT_ETAPE, CLASSEMENT_POIS et CLASSEMENT_VERT.

Une fois de plus, une copie préalable de ces feuilles de calcul sera également à effectuer pour ne pas risquer une perte définitive de données.

2. Application UiPath

Consultons le workflow de ce processus UiPath :

images/XII_7_2_01.png

En réalité, le processus n’est ici que partiellement reproduit.

Seule la séquence Faire, elle-même incluse dans l’activité Processus sur classeur TDF2003.xlsx de type UiPath.Excel.Activities.Business.ExcelApplicationCard est présentée.

La première partie du processus a déjà été commentée en détail dans la description des applications UiPath précédentes.

N’oubliez pas, par ailleurs, que les processus UiPath présentés dans ce livre sont tous téléchargeables depuis l’onglet Compléments.

La séquence...

Application « Excel - Export du contenu d’une feuille au format CSV »

1. Présentation de l’application

Cette huitième application consiste à étudier l’export d’un contenu de feuille d’un classeur Microsoft Excel au format CSV.

Le contenu de la feuille COUREUR (198 coureurs ayant participé à l’édition 2003 du Tour de France cycliste masculin) du classeur TDF2003.xlsx sera reporté dans un fichier CSV nommé COUREUR.csv.

Ce processus ne présente pas de difficultés techniques particulières.

2. Application UiPath

Le workflow complet de ce processus UiPath est présenté ci-après :

images/XII_8_2_01.png

Seule l’activité Export du contenu de la feuille COUREUR au format CSV (COUREUR.csv) est commentée ci-après.

Cette activité est de type UiPath.Excel.Activities.Business.ExportExcelToCsvX.

La propriété Écrire depuis indique la source des données :

Excel.Sheet("COUREUR")  

Le préfixe Excel est tout simplement le nom de l’objet signalé en début de traitement comme nom du classeur dans le processus UiPath.

Le fichier en sortie (COUREUR.csv) sera créé (ou écrasé) dans le répertoire du processus UiPath lui-même. Il aurait été possible de le générer dans un tout autre répertoire...

Application « Excel - Import d’un fichier CSV dans une feuille Excel »

1. Présentation de l’application

Cette neuvième application permettra l’import du fichier CSV COUREUR.csv généré par le processus de la section Application « Excel - Export du contenu d’une feuille au format CSV » dans une feuille nommée COUREUR du classeur Microsoft Excel TDF2003.xlsx.

Ce processus ne présente pas non plus de difficultés techniques particulières.

2. Application UiPath

Le workflow de ce processus UiPath est présenté en entier ci-après :

images/XII_9_2_01.png

Une fois de plus, contentons-nous d’étudier la seconde activité Faire, qui contient la partie du processus UiPath qui nous intéresse.

Vous noterez que l’importation des données CSV se fera sur une feuille nommée COUREUR du classeur Microsoft Excel TDF2003.xlsx. Son contenu antérieur sera effacé en début de processus puis le fichier CSV COUREUR.csv sera importé. Le fichier CSV est celui exporté par le processus précédent.

La séquence Faire débute par une activité Effacement contenu feuille "COUREUR" qui est de type UiPath.Excel.Activities.Business.ClearRangeX:

images/XII_9_2_02.png

Le préfixe Excel est comme d’habitude le nom de l’objet associé à notre classeur Microsoft...

Application « Excel - Suppression de doublons dans une feuille »

1. Présentation de l’application

Cette application permettra de supprimer les doublons éventuels pouvant être présents dans une feuille de calcul d’un classeur Microsoft Excel.

Des doublons ont été intégrés dans la feuille COUREUR du classeur Microsoft Excel TDF2003.xlsx servant de support à notre processus UiPath.

Seront considérés comme étant des doublons des enregistrements ayant toutes leurs valeurs identiques, c’est-à-dire DOSSARD_COUREUR, IDENTITE_COUREUR, CODE_PAYS_COUREUR et CODE_EQUIPE_COUREUR.

Voici à titre indicatif le contenu de la feuille COUREUR avant le lancement du processus UiPath :

images/XII_10_1_01.png

De très nombreux doublons sont présents, notamment concernant les coureurs de l’équipe USP (lignes 2 à 19).

2. Application UiPath

Le workflow de ce processus UiPath est présenté en entier ci-après :

images/XII_10_2_01.png

Nous nous bornerons à étudier la seconde activité Faire, qui contient la partie du processus UiPath assurant la suppression des doublons.

L’activité Suppression des doublons sur l’onglet COUREUR de type UiPath.Excel.Activities.Business.RemoveDuplicatesX agit sur l’onglet COUREUR et supprime les enregistrements si les quatre valeurs de champs sont parfaitement...

Application « Excel - Tri des enregistrements d’une feuille Excel »

1. Présentation de l’application

Cette application effectuera un tri des enregistrements de la feuille COUREUR du classeur Microsoft Excel TDF2003.xlsx sur les valeurs de la colonne DOSSARD_COUREUR.

2. Application UiPath

Le workflow de ce processus UiPath est présenté en entier ci-après :

images/XII_11_2_01.png

Nous nous bornerons à étudier la seconde activité, Tri des enregistrements, qui contient la partie du processus UiPath assurant le tri sur la colonne DOSSARD_COUREUR. 

L’activité Colonne de tri et ordre assure le tri sur la colonne DOSSARD_COUREUR en ordre croissant :

images/XII_11_2_02.png

Cette activité est de type UiPath.Excel.Activities.Business.RemoveSortColumnX.

Ses caractéristiques détaillées sont accessibles au travers de la fenêtre des propriétés :

images/XII_11_2_03.png

3. Compte rendu d’exécution

Le message de confirmation apparaît en fin d’exécution du processus UiPath :

images/XII_11_3_01.png

Le contenu de la feuille COUREUR montre que le tri a bien été effectué :

images/XII_11_3_02.png

Comme indiqué dans le premier message d’exécution, il faut penser à trier le contenu de la feuille COUREUR selon un autre critère que la colonne DOSSARD_COUREUR avant de lancer le processus UiPath.

Application « Activation d’une macro-commande Excel VBA »

1. Présentation de l’application

Bien qu’UiPath Studio propose de nombreuses activités permettant de manipuler assez finement les données d’un classeur Microsoft Excel (accès aux cellules en lecture et écriture, insertion/destruction de lignes et de colonnes, filtrage et tri sur une table…), certaines opérations ne sont pas possibles :

  • qu’au travers de dépendances spécialisées qui conviendra de rechercher et d’installer dans le projet ;

  • qu’en utilisant le langage de programmation embarqué dans Microsoft Excel, le VBA (Visual Basic For Applications).

Vous trouverez un descriptif complet sur le VBA sur le site Wikipédia à l’adresse https://fr.wikipedia.org/wiki/Visual_Basic_for_Applications.

Dans l’application que nous allons étudier, notre objectif va être de compter le nombre de coureurs présents dans la feuille COUREUR du classeur Microsoft Excel TDF2003_VBA.xlsm.

Comme nous avons déjà utilisé ce jeu de données, nous savons que le nombre de coureurs ayant participé à l’édition 2003 du Tour de France masculin était de 198.

Un classeur Excel destiné à utiliser le langage de programmation VBA doit être enregistré au format Classeur Excel prenant en charge les macros. Le fichier porte alors l’extension .xlsm.

Par ailleurs, l’utilisation des macros (terme utilisé pour désigner une procédure codée en VBA) doit être autorisée.

Pour que la prise en compte du VBA soit effective dans votre classeur Excel, il convient de suivre ces étapes.

 Rendez-vous dans Fichier, puis dans la fenêtre Options, et enfin dans Centre de gestion de la confidentialité.

images/XII_12_1_01.png

 Confirmez en cliquant sur le bouton Paramètres du Centre de gestion de la confidentialité.

 Dans Paramètres des macros, finalisez les réglages comme suit :

images/XII_12_1_02.png

2. Code Visual Basic for Applications

Pour accéder au code VBA du classeur, il vous faudra utiliser le raccourci-clavier [Alt][F11]...

Pour aller plus loin

Une attention particulière a été portée au pilotage des classeurs Microsoft Excel avec UiPath au travers des douze processus étudiés.

Vous pouvez donc estimer avoir une maîtrise suffisante du sujet.

Par ailleurs, il existe des alternatives très intéressantes à UiPath, notamment le langage VBA intégré à Microsoft Excel, que nous verrons plus loin dans le livre, ainsi que le langage Python.