Rapport Alternance2 LHUILLIER 2020

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 23

Apprenti ingénieur

LATESYS

L’HUILLIER Timothée Thématique du travail réalisé :


Promotion 2021
❑ Mécanique
DI RUSSO Jonathan
Responsable STES ❑ Automatique
❑ Électricité/électronique
CHARPENTIER Marc
❑ Informatique
❑ Génie industriel
❑ Autre

Période du 01/07/2019 au 31/08/2019


1ère
Année – Alternance 2

Rapport confidentiel : OUI / NON


2019/2020 Rapport 2ère année / alternance n°3 L’HUILLIER Timothée

Sommaire

TABLE DES MATIERES


1 LATESYS PRESENTATION............................................................................................ 5
1.1 Subsidiary of the ADF group....................................................................................... 5
1.2 International presence .................................................................................................. 5
1.3 Sectors ......................................................................................................................... 5
1.4 Organisation................................................................................................................. 6
1.5 Turnover ...................................................................................................................... 6
2 INTRODUCTION .............................................................................................................. 7
3 MACRO MAILING ........................................................................................................... 8
3.1 Introduction : ............................................................................................................... 8
3.2 Objectifs : .................................................................................................................... 8
3.3 Rédaction de la macro ................................................................................................. 8
3.3.1 Le bouton d’appel................................................................................................. 9
3.3.2 L’interface ............................................................................................................ 9
3.3.3 Le codage de la macro ........................................................................................ 12
3.3.4 Le résultat final................................................................................................... 15
3.3.5 Tutoriel ............................................................................................................... 16
4 AUTRES MACROS ........................................................................................................ 18
4.1 MACRO PLAN DE CHARGE ................................................................................. 18
4.2 DAN........................................................................................................................... 19
4.2.1 Introduction ........................................................................................................ 19
4.3 Résultat voulu ............................................................................................................ 20
4.4 L’interface ................................................................................................................. 20
4.4.1 La création des DAN au format EXCEL ........................................................... 21
5 CONCLUSION ................................................................................................................ 23

2/23
2019/2020 Rapport 2ère année / alternance n°3 L’HUILLIER Timothée

Remerciements

First, I extend my thanks and appreciation to all the ESTIA professors who have dedicated
themselves to having a strong theoretical background, especially the second-year teachers and
my apprenticeships tutors Mr Gurun LE GRAND and Jonathan DI RUSSO.

I want to thank everyone who contributed to the success of my internship.

Then Loic PINCHON, Design activities Manager, without this second year could not be done.
I thank them just as much for all the steps they have taken in my regard.

These people framed me and supported me throughout these periods. They have always been
there to help me solve my problems while leaving me a great autonomy of work.

I also thank them for their sympathy and kindness. I also thank all my team for their welcome,
their team spirit, their good mood.

Finally, I would like to thank all the people who advised me when writing this internship report.

3/23
2019/2020 Rapport 2ère année / alternance n°3 L’HUILLIER Timothée

Abstract

The apprenticeship is part of my engineering education at ESTIA. It represents the opportunity


to put into practice the knowledge acquired in class. I had the privilege of performing my
apprenticeship within the LATESYS company.

LATESYS specializes in the business sector of architecture, engineering, control activities and
technical analysis.

My learning takes place on the site of AIRBUS DEFENSE AND SPACE and at LATESYS’S
AEROPARC site in Toulouse where I joined an engineering team that works on satellite for
the Space Industry. It was an opportunity to discover the work and daily life of a design
engineer, to develop both professionally and personally, acquire and validate skills and build a
professional experience.

Two years ago, I was already in apprenticeship at LATESYS during my TIAS Bachelor. This
year was the next logical step, with more responsibility, like that of engineer. This year I worked
on different project, some on satellites and other in project management to improve my
engineering competences.

4/23
2019/2020 Rapport 2ère année / alternance n°3 L’HUILLIER Timothée

1 LATESYS PRESENTATION

1.1 Subsidiary of the ADF group

The ADF Group, based in Vitrolles, is one of the major players in


engineering and maintenance services for the industry around
three activities: engineering and expertise, supply of production
and testing equipment, services in production and maintenance.
In 2016, ADF Group acquired Latécoère Services, which became
LATĒSYS in 2018.
The alliance of the expertise of ADF, G2Métric and LATĒSYS makes it possible to propose
competitive solutions in terms of time and development costs.

1.2 International presence

Latēsys is established in 14 countries on 4 continents near the industrial sites of its major
customers.

1.3 Sectors

The group operates in the sectors of Aeronautics, Space, Defense, Energy, Nuclear, Industry,
Naval and Rail.
It offers end-to-end integrated solutions that reduce the total cost of ownership. An engineering
department working in PDMS, ANSYS, SOLIDWORKS and CATIA and present in the main
basins of the aerospace industry.

The group offers maintenance-oriented engineering for continuous improvement and masters
more than 4000 references in technologies. He is present in 71 locations.
In industrial sites with strong environmental ambitions, it takes care of their viability by
providing maintenance or engineering services that meet the challenges of safety,
competitiveness and respect for the environment.

5/23
2019/2020 Rapport 2ère année / alternance n°3 L’HUILLIER Timothée

He is involved in the oil exploration and production cycle from the production of compression
equipment to maintenance shutdowns. The safety culture combined with decades of oil know-
how is a guarantee of the quality of the interventions.

1.4 Organisation

1.5 Turnover

The Group's turnover in 2017 amounted to € 411 million. € 4,810,000 was invested in
innovation.
In 2017, the ADF group employed 3921 employees of 27 nationalities. The global workforce
within its subsidiary Latēsys - Engineering & Expertise Unit is 445 people.

6/23
2019/2020 Rapport 2ère année / alternance n°3 L’HUILLIER Timothée

2 INTRODUCTION

La pandémie du COVID-19 a eu un impact très important pour notre quotidien, notre économie
à l’échelle mondiale mais aussi locale dans divers secteurs d’activités. L’aéronautique en est
une des principales victimes. Le groupe AIRBUS a souhaité au cours de cette crise mondiale
maintenir un maximum d’emploi. Pour cela, les activités ont été conservé en interne, sans faire
appels aux sous-traitants habituels, afin de pérenniser l’avenir du groupe.
C’est la raison pour laquelle de nombreuses entreprises externes dépendantes d’AIRBUS se
retrouvent dans une situation complexe les obligeants à dépendre des aides de l’Etat Français.
LATESYS fait partie de ces entreprises car, depuis Mai, celle-ci connait une forte baisse
d’activité. Le chômage partiel permet depuis le confinement de soutenir notre économie en
espérant un futur plus sécurisant. En tant qu’alternant, j’ai donc été soumis aux mêmes
restrictions avec un chômage partiel d’une durée de 4 mois soit de début Mai jusqu’à fin
Septembre. Ce rapport ne concernera uniquement les activités effectuées entre Décembre 2019
et Février 2020.
Durant cette courte période de 3 mois en entreprise, nous nous sommes principalement
concentrés sur des activités liées à la gestion de projet. Les missions données portées sur de
l’amélioration de l’utilisation de l’outil Excel et de la gestion des fichiers de suivis afin de
faciliter les tâches répétitives pour les managers.
Nous avons donc conçu plusieurs macros permettant une meilleure efficience sur des activités
tels que la relance des clients, l’envoie automatique de mail et de bon de livraison, des rapports
de plan de charge, etc.
Dans ce rapport nous découvrirons en détail une macro assez simpliste concernant l’envoie des
mails pour les employés en interne, puis nous analyserons deux autres macro Excel plus
globales dans le but de comprendre les enjeux et conséquences de ces missions.

7/23
2019/2020 Rapport 2ère année / alternance n°3 L’HUILLIER Timothée

3 MACRO MAILING
3.1 Introduction :
L’une des principales sources de communication au sein d’une entreprise est la boîte mail. En
interne, de nombreux mails sont envoyés à différents groupes de collaborateurs pour les
informer sur divers sujets (information projet, information de sécurité, information sur l’arrivé
des tickets restaurants, etc). Ces groupes de collaborateurs sont tracés dans un classeur
disponible aux employés afin de leur permettre de trouver facilement les destinataires.

3.2 Objectifs :
Les objectifs qui a été fixés sont d’obtenir un gain de temps et de fiabilité sur les envois des
mails. Dans un premier temps, nous nous intéresserons au lien direct entre Outlook et une base
de données Excel. Puis dans un second temps, nous verrons comment les erreurs de
destinataires ont pu être éliminé dû à des groupes Outlook qui ne sont pas mis à jour.
Pour approfondir le gain de temps, nous allons également mettre une option permettant de
préremplir le texte pour les mails informatifs récurrents (exemple : appel mensuel des Tickets
Restaurants).
Pour ce faire, il est donc nécessaire de construire une macro standardisé qui doit être modifiable
et disponible par plusieurs utilisateurs. Nous ajouterons également un lien appelant une
interface facile tout en respectant le code couleur de l’entreprise pour sélectionner les options
de la rédaction du mail.
Enfin, nous communiquerons un tutoriel sur l’utilisation de la macro afin qu’elle soit utilisable
pour tous.

3.3 Rédaction de la macro

Le classeur contenant les différentes informations sur les destinataires est le suivant :

Nous pouvons ainsi cibler les colonnes qui nous intéressent :


Colonne B : Nom prénom des collaborateurs
Colonne C : Si le collaborateur est un LATESYS ou un sous-traitant
Colonne E : Le statut « Actif » ou « Non Actif »
Colonne J : La localisation du collaborateur s’il se trouve sur le site LATESYS ou chez le client
Colonne L : Adresse mail du collaborateur

8/23
2019/2020 Rapport 2ère année / alternance n°3 L’HUILLIER Timothée

Ces différents renseignements nous permettent de définir un contenu pour les macros qui sera
indiqué dans notre cahier des charges.

3.3.1 Le bouton d’appel


Nous souhaitons également concevoir un bouton virtuel intégré au classeur permettant à
l’utilisateur d’appeler la macro. Il est important de créer un bouton simple et compréhensible
afin de ne pas confondre les différentes macros du classeur. Nous travaillerons ainsi sur le texte
et le code couleur. Le résultat est le suivant.

3.3.2 L’interface
Nous poursuivons avec le design de l’interface (type : USERFORM) que le salarié utilisera. En
commençant par cette étape, nous pouvons avoir un rendu visuel rapide du fonctionnement de
la macro permettant d’ajouter toutes les options personnalisables en cohérences avec le cahier
des charges. Cela nous permet également d’avoir rapidement un support visuel à présenter à
l’équipe de gestion de projet et d’obtenir leur accord de lancement.
Pour donner suite au cahier des charges nous avons décidé de créer une UserForm contenant 2
listes déroulantes (ComboBox). La premièrement ciblant la liste de collaborateur concerné par
le mail. La seconde concernant le type de mail à rédiger (un mail vierge, ou prérempli comme
pour les tickets Restaurants). Nous ajouterons également deux boutons (CommandButton) pour
valider le choix ou annuler la macro.

Une fois la UserForm terminée et validée par l’équipe de gestion de projet, nous devons
configurer les boutons et listes déroulantes directement en codant en VBA la UserForm.

9/23
2019/2020 Rapport 2ère année / alternance n°3 L’HUILLIER Timothée

Dans l’encadré numéro 1, nous ouvrons un Private Sub permettant d’initialiser les
valeurs se trouvant dans les listes déroulantes. Ce sont ces valeurs que l’utilisateur verra en
ouvrant l’interface. Dans un premier temps, comme mentionné dans le commentaire en vert
précédé du caractère « ‘ », nous allons ajouter des items (des valeurs) à notre première liste
déroulante (ComboBox1) en utilisant la commande ComboBox1.AddItem suivi du texte
souhaité entre guillemet. Nous pouvons voir ici, en répondant au cahier des charges que nous
proposons 10 groupes de collaborateurs différents.

Une fois tous les items de la liste déroulante défini nous pouvons définir une valeur qui
s’affichera par défaut lorsque nous ouvrirons l’interface. Dans notre cas, grâce à l’utilisation de
la commande ComboBox1.Value, le texte par défaut sera « Ex-Situ_LAT » regroupant tous les
collaborateur LATESYS hors site Aéroparc. Le choix de la valeur par défaut pour qu’elle soit
efficace doit cibler le groupe de personne avec lequel la fréquence d’envois de mail est la plus
fréquente.

Enfin nous faisons exactement la même chose pour la liste déroulante contenant les
informations sur le type de mail prérempli : personnalisable ou Ticket Restaurant. Nous avons
déjà configuré l’ajout d’une option en plus sous le nom « OPTION1 » qui se trouve en
commentaire. Lors de la maintenance de la macro, il suffira à l’utilisateur de désactiver le
commentaire pour rendre cette valeur visible et ainsi ajouter un nouveau texte prérempli à la
liste.

On n’oublie pas de fermer le sub en utilisant la commande EndSub.

10/23
2019/2020 Rapport 2ère année / alternance n°3 L’HUILLIER Timothée

Dans l’encadré numéro 2, nous allons gérer le bouton rouge Annuler. Ce bouton à un
but très simple. Annuler le lancement de la macro sans faire buger toute l’interface. Son code
est donc très simple, on doit fermer l’interface en utilisant la commande « Unload » pour qu’elle
ne s’affiche plus à l’écran puis on arrête le code avec la commande EndSub.

Dans l’encadré numéro 3 nous gérons le lien entre la UserForm et la macro lorsque
l’on clique sur le bouton vert « VALIDER ». Effectivement cette action aura pour objectif de
valider les entrées des listes déroulantes configurées dans l’encadré numéro 1, puis de lancer la
macro.
Dans un premier temps nous devons déclarer 2 variables de texte (string)
-Liste_collaborateur_str (cette variable sera associée à la liste déroulante gérant les groupes de
salariés concernés par ce mail)
Type_de_mail_str (cette variable sera associée à la liste déroulante gérant le contenu du mail,
vierge, Ticket Restaurant etc.)

Nous pouvons voir une information concernant le naming des variables. Nous essayons
toujours de travailler avec des noms de variables précis et compréhensibles. Il est possible que
nous travaillions sur des macros de plusieurs centaines de lignes contenant plusieurs dizaines
de variable. Il est donc nécessaire, pour la maintenance des macros, d’avoir des variables
facilement reconnaissables pour que diverses personnes puissent travailler efficacement sur un
même code. Nous pouvons également voir la mention « _str » à la fin de la variable, ceci dans
le but de préciser le type de variable directement dans le nom sans avoir à chercher l’information
dans la déclaration. Nous avons décidé d’utiliser cette méthode car elle correspond à notre mode
de fonctionnement, mais cela ne veut pas dire que c’est la meilleure. Il est important que chaque
codeur utilise sa manière de fonctionner tout en travaillant avec certaines règles universelles à
respecter pour que d’autres collaborateurs puissent travailler également sur la macro sans perdre
de temps.

Une fois les variables déclarées nous associons à celles-ci la valeur se trouvant dans les listes
déroulantes (ComboBox).

Puis nous fermons l’interface (UserForm) à l’aide de la commande « Unload » pour éviter que
celle-ci reste afficher à l’écran une fois la macro lancée.

Enfin on appelle la fonction « Generation_automatique_mail_aeroparc » contenant la macro,


en utilisant la commande « Call ». On peut voir qu’on appelle la fonction en y insérant la valeur
des variables précédemment définis.

Pour finir on clos le sub.

11/23
2019/2020 Rapport 2ère année / alternance n°3 L’HUILLIER Timothée

3.3.3 Le codage de la macro


L’interface Userform étant configuré, nous pouvons désormais coder la macro permettant de
répondre au cahier des charges.

La première étape a pour but de faire le lien entre la macro et la UserForm lorsque l’on
appuie sur le bouton. Nous pouvons distinguer cette étape dans l’encadré numéro 4. Ce code
est très simple car il appelle la UserForm en lui demandant de s’afficher à l’écran et en utilisant
la commande « .Show ». Ainsi l’interface devient visible. L’utilisateur fait son choix dans les
listes déroulantes puis clique sur le bouton vert « VALIDER » Cf Chapitre 2.3.2 L’interface,
encadré numéro 3. Rappelons qu’à la fin de la fonction gérant le bouton VALIDER on appelle
la fonction Generation_automatique_mail_aeroparc où l’on retrouve désormais le contenu dans
l’encadré numéro 5.

Dès la première ligne on peut voir qu’on appelle les deux variables configurées dans la
UserForm Cf Chapitre 2.3.2 L’interface, encadré numéro 3 et qu’on les redéclare pour les
utiliser dans cette fonction. Nous avons ainsi clôturé le lien entre la UserForm et le code de la
macro. Nous utiliserons désormais les valeurs de ces deux variables pour coder la macro en
fonction de leurs valeurs.
L’étape suivante consiste à déclarer toutes les variables de la macro en suivant le naming
expliqué au Chapitre 2.3.2 L’interface, encadré numéro 3.
Nous avons trié les variables suivant 4 groupes différents. Les tableaux, les entiers (Integer),
les textes (String), les Booléens (Boolean).
Toutes ces variables vont servir à chercher des informations dans le fichier Excel en fonction
des entrées émises dans les listes déroulantes de la UserForm, pour rédiger le mail dans
Outlook. On peut également voir à la fin de l’encadré numéro 5 que nous initialisons certaines
variables, comme Colonne_tab_int =0 permettant d’indiquer que la première valeur du tableau
Tableau_repertoire contiendra la valeur 0.

Une fois les variables déclarées nous pouvons initialiser la macro dans l’encadré numéro 6.
Dans un premier temps on met sous forme de variable le nom du classeur pour être toujours sûr
de travailler avec la bonne référence de classeur.
Puis on active la feuille ETP – PLANNIF du classeur pour être sûr de travailler sur la bonne
feuille du classeur.

12/23
2019/2020 Rapport 2ère année / alternance n°3 L’HUILLIER Timothée

Enfin on lance une boucle For qui va regarder toutes les « Ressources » se trouvant dans la
colonne B. on lui définit la ligne où se trouve le premier collaborateur (Ligne 11 entouré en
vert) et la dernière non vide de la ligne B grâce à la commande
«.Range("B65536").End(xlUp).Row »
Ainsi avec cette boucle on va pouvoir sur chaque ligne, analyser le statut de chaque
collaborateur.

Nous avons décidé de travailler avec des boucles IF-ENDIF pour répondre aux entrées des listes
déroulante de la UserForm. Exemple de boucle pour l’entrée RESSOURCES EX-SITU ET
LAT

Dans l’encadré numéro 7 nous allons configurer toutes les variables pour envoyer un mail à
tous les collaborateurs Actif Ex Situ de chez LATESYS. Etant donné que nous avons 10 choix
de groupes différents dans la liste déroulante de la UserForm, nous aurons 10 boucles presque
similaire à celle-ci dans le code final.

Dans cet exemple nous vérifions que l’entrée sélectionnée est bien le groupe de personne « Ex-
Situ,LAT »

Puis pour la ligne correspondant à celle de la boucle FOR, on vérifie dans le tableau Excel dans
les colonnes 3,8 et 7 (soit respectivement C,G,H) les statuts des collaborateurs (LAT ou ST,
Ex-Situ ou In-Situ, Actif ou Non Actif). Si dans notre cas, notre collaborateur est un LATESYS
Actif Hors Site, alors on peut continuer la macro. Dans le cas contraire on ferme la boucle IF
et on passe au collaborateur suivant su classeur grâce à la boucle FOR).
Puis on récupère dans les variables Nom_ressources_str et Mail_ressource_str les valeurs dans
le tableau correspondant respectivement au nom du collaborateur et son adresse mail. On
regarde ensuite si le collaborateur à une adresse mail référenciée. Si ce n’est pas le cas notre
Booléen Sans_Adresse_Maill_Bool devient Vrai et nous permettra ensuite dans la gestion des
erreurs de prévenir l’utilisateur via un message en fin de macro que le collaborateur XXX n’a
pas d’adresse mail. Ceci nous permet de vérifier que le fichier et bien complet et surtout qu’on
n’a pas omis quelqu’un lorsqu’on envoie le mail.
Enfin dans notre tableau virtuel nous allons rentrer dans la première ligne (ligne virtuelle 0) le
nom du collaborateur, puis dans la deuxième ligne (ligne virtuelle1) l’adresse mail du
collaborateur)

On passe ensuite à la colonne virtuelle suivante à l’aide de Colonne_tab_int = Colonne_tab_int


+1

13/23
2019/2020 Rapport 2ère année / alternance n°3 L’HUILLIER Timothée

Enfin on redéfinit la taille du tableau virtuel on y ajoutant une nouvelle colonne virtuelle. Nous
avons traité la première entrée correspondant au groupe d’employé sélectionné dans l’interface.
Maintenant on s’occupe de la dernière entrée, le type de mail, prérempli ou non.

Comme précédemment nous utilisons des boucles IF pour traiter le choix sélectionner dans la
liste déroulante. Ici nous allons gérer des variables qui traiterons directement avec Outlook pour
rédiger le mail. Nous avons besoin du Sujet de mail, des CC, ainsi que le Texte du mail comme
on peut le voir avec les Tickets Restaurants dans l’encadré numéro 8. Les destinataires du
mail ont été géré précédemment dans l’encadré numéro 7. Nous avons désormais toutes les
informations pour envoyer le mail.

Ici nous pouvons voir la manière d’afficher le message d’erreur pour les collaborateurs n’ayant
pas d’adresse mail.

10

Enfin appelons une fonction que nous avons créer pour faire le lien entre toutes variables Excel
et Outlook. Comme on peut le voir dans l’encadré numéro 10 on appelle la fonction en
transmettant les 4 variables que nous avons configuré avant, le sujet, le ou les destinataires, le
CC et le Texte.

La fonction est la suivante :

14/23
2019/2020 Rapport 2ère année / alternance n°3 L’HUILLIER Timothée

11

12

Dans l’encadré numéro 11, on voit le code permettant d’insérer une signature qui se trouve en
locale sur le PC du Chef de Projet. On insère la signature en utilisant la fonction GetBoiler que
l’on trouve dans l’encadré numéro 13.

13

Dans l’encadré numéro 12 on ouvre Outlook et on transfère la valeur des variables pour
rédiger le mail.
Cette fonction est très pratique, nous l’utilisons à chaque fois que nous rédigeons des macros
concernant des envois de mail. D’où l’intérêt d’utiliser une fonction et de pas rédiger
directement le code dans le sub principal.

3.3.4 Le résultat final

Nous allons pouvoir visualiser le résultat final avec comme exemple Tous les collaborateur
LATESYS Actifs sur Site pour les prévenir que les Tickets Restaurant sont arrivés.

15/23
2019/2020 Rapport 2ère année / alternance n°3 L’HUILLIER Timothée

L’interface :

Le Mail Outlook :

Ainsi en 1 minute maximum nous avons pu envoyer un mail à 64 collaborateurs triés en


fonction de leurs activités, leurs lieux de travail, et leurs statuts en étant certain que les adresses
mails sont à jour.

3.3.5 Tutoriel
Une fois la macro terminée et validée par l’équipe de gestion de projet, nous communiquons
un mode d’emploi pour s’assurer que tous les collaborateurs amenés à utiliser le programme
connaissent le mode de fonctionnement de la macro. Si un nouveau chef de projet et un nouveau
codeur arrivent, ils pourront avoir accès à ce mode d’emploi et rapidement utiliser cette
amélioration. Ainsi nous assurons de toujours pérenniser au sein de l’entreprise l’utilisation de
la macro.

16/23
2019/2020 Rapport 2ère année / alternance n°3 L’HUILLIER Timothée

17/23
2019/2020 Rapport 2ère année / alternance n°3 L’HUILLIER Timothée

4 AUTRES MACROS
4.1 MACRO PLAN DE CHARGE

Nous avons travaillé sur cette macro suite à une demande de l’équipe en gestion de projet.
Chaque semaine un mail en interne entre les différents managers est rédigé sur le site de la
STES (site LATESYS situé à AEROPARC dans Toulouse) afin de rendre compte du nombre
de collaborateur sur site et de leurs statuts en fonction de leurs activités. Pour rédiger ce mail
nous prenons manuellement des informations liées à un code couleur stockés dans un Excel à
jour. Nous y ajoutons des informations complémentaires telles que la date et les destinataires.
Le résultat final est un mail tel que celui ci-dessous

Ainsi avec notre macro nous devions répondre à l’exigence primaire qui était de garder une
structure de mail identique, mais de l’automatiser pour qu’en un seul clic tout puisse être
complété tout en gardant les codes couleurs et que l’utilisateur n’est qu’à appuyer sur
« ENVOYER ».

La difficulté était de chercher des informations dans un classeur Excel, de les intégrer dans un
tableau virtuel, puis de les retranscrire dans un mail sans perdre la mise en forme.

18/23
2019/2020 Rapport 2ère année / alternance n°3 L’HUILLIER Timothée

Pour se faire nous avons choisis de créer un autre tableau virtuel, contenant en fonction du statut
de l’employé un nombre compris entre 1 et 4 qui sera associé à une couleur.
Exemple : (1=jaune, 2=vert, 3=orange, 4=rouge)

Ainsi en fonction de chaque corps de métier (DESIGN, ESI, CALCUL etc.) nous allons tester
dans Excel s’ils sont sujet à se trouver dans le mail du plan de charge et en fonction de leurs
code couleur RGB dans le classeur, nous ajouterons une donnée numérique associé à cette
couleur dans le code de la macro. Ci-dessous nous pouvons voir l’exemple pour la partie Design

Enfin en s’adaptant pour écrire automatiquement la date et le texte en fonction de certain cas
particulier nous avons pu rédiger cette macro en utilisant la même structure que celle du mailing
pour faire le lien entre Excel Outlook. Cette macro permet désormais de gagner beaucoup de
temps en gestion de projet et éviter les potentiels erreur de la saisie manuelle.

4.2 DAN

4.2.1 Introduction

Une autre macro importante sur laquelle nous avons travaillé est celle concernant l’envoi
automatique mensuel des Bons de Livraison. Cette activité demande beaucoup de temps en fin
de mois pour envoyer à tous les clients les bons de livraisons. Dans un premier temps nous
devons faire chaque Bons sur Excel, les vérifier, les enregistrer en PDF, ouvrir un mail puis les
envoyer individuellement à chaque client.
La demande de l’équipe en gestion de projet était la suivante : Une macro qui rédige
automatique les bons de livraisons sur Excel par client en fonction de si l’activité a évolué dans
le mois. Le bon de Livraison sera enregistré automatiquement, archivé en interne au format
Excel et PDF. Ils souhaitent avoir la possibilité de directement tout enregistrer en PDF pour
l’envoyer par mail, ou uniquement au format Excel afin de pouvoir le modifier manuellement
pour certain cas sans directement l’enregistrer en PDF. Enfin pour chaque bon de livraison
rédigés, nous enverrons un mail personnalisé au client avec le PDF en pièce jointe.

19/23
2019/2020 Rapport 2ère année / alternance n°3 L’HUILLIER Timothée

4.3 Résultat voulu

Le mail type que nous souhaitons rédiger automatiquement sera le suivant.

4.4 L’interface

L’équipe en gestion de projet souhaitant travailler avec des bons de Livraisons au format Excel
et PDF nous devons mettre des options lors du chargement de la macro via une Userbox. Nous
avons décider de mettre 3 choix différents dans celle-ci, comme nous pouvons le voir ci-
dessous.

20/23
2019/2020 Rapport 2ère année / alternance n°3 L’HUILLIER Timothée

La dernière option « PDF à partir d’Excel existant » était une réelle difficulté à programmer
mais qui apporte un confort de travail. Son but est de vérifier si tous les DAN rédiger sur Excel
son bien en PDF, et si non (car l’utilisateur avait précédemment utiliser l’option 2 qui enregistre
uniquement au format Excel et qui n’envoie pas de mail), réouvre tous les bons de livraisons
Excel, les archive et les enregistre au format PDF puis les envoie par mail. Nous devions ainsi
créer des dossiers précis sur le réseau LATESYS pour archiver les dossiers, et que la macro
puisse y accéder facilement pour gérer elle-même les formats d’enregistrement.

4.4.1 La création des DAN au format EXCEL

Pour concevoir les DAN la macro prend des données dans un classeur Excel dans lequel sont
résumées toutes les avancés d’activités mois par mois. La macro permet de comparer les entrées
du mois voulu avec celles du mois précédent pour suivre la progression de chaque activité.
Chaque nouvelle avancée d’activité est résumée dans un tableau virtuel. Ce tableau virtuel sera
retranscrit dans un Bon de Livraison Vierge, afin de le compléter et d’éliminer les activités
inexistantes au cours du mois. Ci-dessous un DAN vierge, puis un DAN complet rempli
automatiquement prêt à être envoyé.

DAN vierge

21/23
2019/2020 Rapport 2ère année / alternance n°3 L’HUILLIER Timothée

Dan prêt à être envoyé

On voit que nous procédons avec un DAN vierge contenant toutes les catégories d’activités
vierges. Puis nous remplissons les colonnes concernées par ce mois via le tableau virtuel de la
macro et enfin nous éliminons toutes les catégories restantes vierges. Il y a également beaucoup
de petit détail à prendre en compte : les calculs pour obtenir la « Delivred Quantity», les dates,
les noms des clients, les versions du bon de livraison, le naming pour l’archiver sans créer de
doublons ou faire boguer la macro, l’ajout dans un format particulier de la mention
« CLOTURE » pour indiquer que le DAN est terminé et validé etc. C’est un travail qui nous a
demandé beaucoup de temps car nous devions travailler sur une gestion des erreurs potentielles
de la macro assez conséquente afin qu’elle soit la plus robuste et la plus efficiente possible pour
l’équipe en gestion de projet. Cette macro est la plus longue que nous avons réalisé nécessitant
plus de 900 lignes pour répondre au cahier des charges.

22/23
2019/2020 Rapport 2ère année / alternance n°3 L’HUILLIER Timothée

5 CONCLUSION

Cette période plus courte que prévu en raison de la pandémie du covid -19 m’a toutefois permis
de travailler sur des missions innovantes qui me permettent de découvrir pas à pas la gestion de
projet. Travailler sur des macros n’est pas seulement un métier lié à la programmation, car il
faut comprendre comment la gestion de projet fonctionne, comment le manager utilise son
classeur et comment pouvons nous rendre son utilisation plus efficiente. Nous devons beaucoup
communiquer avec le coordinateur pour mettre en place un cahier des charges précis. Il est
important d’utiliser des jalons pour structurer le projet et définir les limites de la mission pour
savoir quelles libertés pouvons-nous prendre sans faire du surtravail. Ces missions m’ont
permis de travailler en autonomie et d’être autodidacte avec le langage VBA en commençant
par des macros simples tout en évoluant à coté d’expert et de précédents codes sur lesquels je
pouvais m’inspirer en bien ou en mal. Effectivement, avoir un regard critique sur les précédents
travaux me permettais de savoir comment m’inspirer des resultats ou au contraire comment les
améliorer pour qu’ils soient simple d’utilisation. Un aspect souvent mis en retrait et qui est très
important, c’est le rendu graphique pour l’utilisateur, par exemple avec les User box. Utiliser
des programmes sans légendes, en noir et blanc ne donne pas envie à l’utilisateur de travailler
avec l’outil, il faut donc s’adapter en respectant par exemple les codes couleurs de l’entreprise.
De même concernant la structure de notre code, il est important de se dire que nous ne sommes
pas le seul à travailler dessus, certaines personnes peuvent le modifier en notre absence ou tout
simplement pour la maintenance de la macro. Nous devons donc travailler avec rigueur pour
que le programme soit compréhensible, en utilisant des commentaires, des noms de variables
précises, etc. D’un point de vu personnel je suis très satisfait des missions sur lesquelles
l’entreprise m’a affilié, car je découvre un nouveau domaine qui me plait, la gestion de projet.
De plus j’ai la possibilité après 4 ans d’alternance de travailler sur des projets avec des
responsabilités, des projets que je peux gérer en complète autonomie du début à la fin. La
confiance avec mon manager me permet de prendre des initiatives et des libertés sur les projets
pour apporter ma touche personnelle et mon point de vu du futur ingénieur pour répondre de la
meilleure des manières aux cahiers des charges.
Pour les prochaines missions nous sommes toujours dans l’incertitude due aux crise sanitaires
et économique qui règnent. Nous ne savons toujours pas quelles seront les nouvelles
perspectives pour les années à venir. Ma position d’alternant ingénieur spécialisé en Design
CATIA/3DX et en programmation de macro VBA pour la gestion de projet me permet d’avoir
une flexibilité dans le futur pour pouvoir répondre à diverses missions et ainsi m’adapté à la
charge de travail ponctuelle.

23/23

You might also like