Tableaux de bord (tableur et VBA) Mission n° 2B : automatisation de
Transcription
Tableaux de bord (tableur et VBA) Mission n° 2B : automatisation de
Projet tutoré STID 1 Tableaux de bord (tableur et VBA) Les tableurs Excel ou Open Office permettent, à l'aide de leurs fonctionnalités et du langage de programmation VBA (Visual Basic for Applications), de réaliser des tableaux de bord à partir des données de l'entreprise. Les responsables et décideurs peuvent ainsi facilement produire, consulter et analyser des tableaux de synthèse, voire même programmer eux-mêmes ces applications, dont l'écriture n'est pas réservée aux seuls informaticiens Mission n° 2B : automatisation de tâches par macrocommandes Note : cette mission sera notée sur 9 points. A rendre • un document (format traitement de texte) affichant et commentant en détail les macros réalisées. • un document tableur contenant les données d'origine et les macros (boutons) pour test Fourni Le fichier bilan_Heures.txt ■ Importer ce ficher dans le tableur Excel. Objectifs Un fichier tel que bilan_Heures est extrait d'une base de données par requête SQL. Le fichier Excel obtenu sera exploité par des responsables qui ne sont pas nécessairement spécialistes en informatique. D'autre part, certaines tâches sont réalisées périodiquement et mériteraient d'être automatisées. L'objectif de cette mission est donc de constituer quelques outils automatiques, permettant de faire simplement et sans risque certaines tâches régulières d'analyse et de reporting sur ces données. 1/2 Travail n°1 Le tri d'un fichier est une opération simple avec un tableur, mais délicate : si l'utilisateur oublie de sélectionner certaines lignes, le fichier n'est trié que partiellement. S'il oublie certaines colonnes, le résultat est tout simplement catastrophique : le fichier est dé-trié, ce qui peut conduire à de graves erreurs de gestion (ici sur les heures effectuées par enseignant). Pour éviter ce genre de problèmes, le tri peut être automatisé. Effectuez le travail suivant : • En utilisant l'outil d'enregistrement de macro, effectuez le tri suivant le nom enseignant + le jour l'heure début. Attention : il peut arriver que des lignes soient ajoutées manuellement. D'autre part, les données peuvent être remplacées par des données plus récentes. Le nombre de lignes à trier peut varier !! Effectuez une macro qui tienne compte de cette difficulté (nombre de lignes variable). • Affichez la macro pour voir et comprendre son contenu (vos actions ont été traduites en Visual Basic). • De retour dans la feuille Excel, créez un bouton qui permette de lancer directement ce tri (en appuyant tout simplement sur le bouton). • De même, créez macro et bouton permettant de trier par matière + enseignant Travail n°2 : création d'un état par enseignant (partie A) L'objectif est de créer une macro qui permette, pour chaque enseignant trouvé dans la liste, de générer une feuille contenant l'ensemble de ces lignes, ainsi que ses totaux. Ce en une seule opération (la macro lancée traite tous les enseignants). • Dans un premier temps, créez une macro qui sélectionne l'ensemble des lignes de "Amiri" et les copie dans une nouvelle feuille (dont le nom sera Amiri), puis ajoute à cette feuille les cellules de ses totaux. • Editez cette macro en visual Basic et expliquez dans votre rapport l'ensemble de ses lignes. Travail n°3 : création d'un état par enseignant (partie B) Créez la macro complète demandée. Cette macro contiendra les éléments suivants : • La génération dans une nouvelle feuille de la liste des enseignants (distincts : une seule fois chaque nom) • du parcours par boucle Visual Basic des noms précédents et, pour chacun, la génération de sa feuille-état, en utilisant la macro réalisée lors du travail n°2. • Un bouton permettra de lancer cette procédure (avec, si possible, une fenêtre OK / Annuler pour éviter son lancement intempestif). ◊◊◊ 2/2