Introduction à Microsoft Excel : Saisir et modifier des données

INTRODUCTION
Ce cours s'adresse à des personnes n'ayant peu ou pas d'expérience de la programmation et désireuses de développer par la suite des documents interactifs en intégrant dans les applications MS Office des macros automatiques et du code VBA.
Seront particulièrement concernées par ce cours:
- Les personnes avec un esprit logique et mathématique qui désirent avoir un premier contact avec le monde de la programmation.
- Les personnes ayant à automatiser des tâches sous MS Excel.
- Les personnes ayant créé quelques macros et qui veulent pouvoir en comprendre le contenu et en assimiler les subtilités et voir les possibilités.
De bonnes connaissances d'un ou plusieurs des outils de la suite MS Office est souhaitable. Une approche rigoureuse de l'informatique est essentielle (génie logiciel, algorithmique, analyse numérique,…).
Pour plus d'informations sur l'algorithmique, l'histoire des langages de programmation ou la norme syntaxique habituelles de codage, veuillez vous référer aux documents téléchargeables sur Internet ou demander à votre formateur.
Le VBA est un langage de programmation (non réellement orienté objet) utilisé par et pour les applications MS Office listées ci-dessous:
- MS Word
- MS Excel
- MS Access (voir le cours MS Access téléchargeable sur )
- MS Visio
- MS Publisher
- MS Project
- MS Outlook (à partir de la version 2002… du moins facilement)
- MS FrontPage
- MS PowerPoint
Ce langage est simple d'utilisation et n'a absolument aucun commun rapport avec le langage Visual Basic .Net (nous considérons le langage Visual Basic 6 comme mort dans ce cours). La plus grosse différence étant que le VBA ne permet pas de faire ce que nous nommons des applications en "Standalone". Nous utilisons normalement les macros ou le VBA dès que les outils WYSIWYG des logiciels de la suite MS Office ne satisfont plus nos besoins.
Enfin, rappelons qu'avant d'écrire un programme quelconque, la première des choses à faire est d'éteindre son ordinateur et de réfléchir. On peut notamment se poser les questions suivantes:
• Quel est l'objectif de mon code?
• N'est-il pas plus rapide de raéliser cet objectif manuellement? (calul du ROI)
• Cet objectif a-t-il réellement un intérêt?
• Ce programmme n'existe-il pas déjà sous une autre forme?
• Ce programme est-il réalisable?
• La réalisation de cpe programme n'est-elle pas trop coûteuse?
Bien évidemment, il existe de nombreux cas où vous pourrez écrire un programme sans vous poser toutes ces questions. Ainsi, quand vous voudrez rédiger un code très simple pour automatiser une tâche précise qui n'est pas complexe, vous pourrez foncer bille en tête. En revanche, dès que le projet de code devient un peu plus amitieux, il vaut vraiment mieux se poser des questions avant de commencer à écrire du code.
Objectifs
A la fin de cette formation, les participants sauront parfaitement utiliser les macros automatiques et macro complémentaires et connaîtront les notions et structures standards de la programmation VBA, telles que les variables, les boucles, les conditions et les fonctions.
Ils sauront ce que sont la programmation objet et la programmation évènementielle et auront réalisés quelques exercices utilisant ces notions.
Ils auront travaillé avec des formulaires et manipulé des composants utilisateurs simples comme des boutons et des champs texte.
Remarque: On sait que le nombre de mots d'une langue est limité. Le vocabulaire d'un enfant de 10 ans tourne autour de 5'000 mots, celui d'un adulte cultivé de 10'000-15'000, et les dictionnaires en plusieurs volumes peuvent monter de 130 000 à 200 000. Le VBA d'après des estimations contiendrait environ 800'000 mots… (à vérifier quand même!). J'ai contrôlé qu'avec les options par défaut (donc avec le minimum on était a environ entre 2'000 et 2'500 mots) donc avec toutes les références possibles activées on doit pas être loin de la vérité
Historique
En programmation, BASIC est un acronyme pour Beginner's All-purpose Symbolic Instruction Code qui désigne une famille de langages de programmations de haut niveau.
Le BASIC a été conçu à la base en 1963 par John George Kemeny (1926-1993) et Thomas Eugene Kurtz (1928-) au Dartmouth College pour permettre aux étudiants qui ne travaillaient pas dans des filières scientifiques d'utiliser les ordinateurs et apprendre les techniques de programmation. En effet, à l'époque, l'utilisation des ordinateurs nécessitait l'emploi d'un langage de programmation réputé réservé aux seuls les spécialistes, en général un langage d'assemblage ou Fortran.
L'acronyme BASIC est lié au titre d'un article de Thomas Kurtz qui n'a pas été publié et n'a aucun rapport avec les séries intitulées « Anglais basic » de C. K. Ogden. Les concepteurs du langage souhaitaient qu'il soit du domaine public, ce qui favorisa sa diffusion.
Le BASIC est indissociable de l'apparition, dans les années 1980, de la micro-informatique grand public. En effet, la plupart des micro-ordinateurs vendus durant cette période étaient fournis avec un Interprète BASIC, et quelques calculatrices programmables en furent même dotées.
Ce n'était jamais l'intention des créateurs du langage qu'il s'agit d'un langage professionnel. Pourtant il s'est propagé rapdiement et est disponible dans les centaines de dialectes sur de nombreux types d'ordinateurs. La BASIC a évoluté et s'est amélioré au cours des années. À l'origine, c'était un langage interprété (chaque ligne était interprétée avant son exécution… ce qui est le cas du VBA par exemple…) qui impliquait une exécution lente. La plupart des dialectes modernes de BASIC permettent au code d'être compilé. Par conséquent, l'exécution est beaucoup plus rpaide et la portabilité des programmes améliorée.
Les huit principes de conception du BASIC étaient:
1. Être facile d'utilisation pour les débutant(e)s (Beginner)
2. Être un langage généraliste (All-purpose)
3. Autoriser l'ajout de fonctionnalités pour les expert(e)s (tout en gardant le langage simple pour les débutant(e)s)
4. Être interactif
5. Fournir des messages d'erreur clairs et conviviaux
6. Avoir un délai de réaction faible pour les petits programmes
7. Ne pas nécessiter la compréhension du matériel de l'ordinateur
8. Isoler (shield) l'utilisateur du système d'exploitation
Le BASIC a gagné sa respectabilité en 1991 lorsque Microsoft a lancé VISUAL BASIC pour MS Windows. Ce produit a été très populaire parmi les développeurs d'applications autonomes. Si VBA ressemble peu à ces langages, le BASIC reste la base sur laquelle VBA a été élaboré.
EXCEL 5 a été la première application sur le marché à proposer VBA et il est maintenant inclus dans presque toutes les applications de la suite bureautique depuis MS Office 97 et même chez d'autres fournisseurs. Par conséquent, si vous maîtrisez l'utilisation de VBA, vous pouvez écrire des macros avec toutes sortes d'applications (Microsoft et autres).
Il est important de noter l'information suivante (capture d'écran du site web de Microsoft):
Liens Internet
Site VBA officiel de Microsoft:
Quelques propriétés, méthodes et classes nouvelles et changées dans Excel 2010 x86/x64:
Liste de quelques changements du VBA entre Excel 2003 et Excel 2010:
#XL14DevRef_ChangesSince2003
Office Code Compatibility Inspector (OCCI): ?id=15001
MACROS AUTOMATIQUES
MS Excel, comme MS Word ou MS PowerPoint, etc. possèdent un outil génial: l'enregistreur de macros. Il crée une macro et transforme en langage VBA (bon le code est dégueulasse mais cela fonctionne quand même la plupart du temps) toutes les commandes effectuées par l'utilisateur dans l'application hôte. Il permet d'automatiser sans aucune connaissance de la programmation certaines de vos tâches et également de se familiariser avec le langage VBA.
Prenons un exemple:
Nous allons mettre au même format tous les tableaux que nous créons. Plutôt que de reproduire à chaque fois les mêmes commandes, nous allons utiliser l'enregistreur de macros.
Nous sélectionnons d'abord notre tableau. En effet, si vous le sélectionnez après avoir lancé l'enregistrement, la macro reproduirait cette sélection à chaque lancement et s'exécuterait toujours sur les mêmes cellules.
Nous lançons l'enregistrement par le menu "Outils - Macro - Nouvelle macro":
Nom de la macro: Il est important de renommer de façon explicite la macro. Le nom de la macro doit commencer par une lettre et ne doit pas contenir d'espaces. Utilisez le caractère de soulignement pour séparer les mots (normalement il faut respecter des normes que nous verrons plus tard)
Remarque: Si vous nommez votre macro Auto_Open ou Auto_Close celle-ci s'executera automatiquement à l'ouverture ou respectivement la fermeture de votre classeur !!
Touche de raccourci: Il est possible de créer un raccourci clavier pour lancer la macro en saisissant une lettre. Vous pouvez utiliser les majuscules et lancer la macro par les touches Ctrl+MAJ+Lettre.
Enregistrer la macro dans: Classeur contenant la macro. La macro ne pourra ensuite s'exécuter que si le classeur dans lequel la macro a été enregistrée est ouvert !!! Si vous choisissez "classeur de macros personnelles", un nouveau classeur est créé et enregistré dans le dossier "xlstart" de façon que vos macros soient disponibles à chaque fois que vous utilisez MS Excel.
Description: Vous pouvez donner une description à votre macro.
Après avoir cliqué sur "OK", la macro va enregistrer toutes les commandes que nous allons utiliser. Ici, nous changeons le format de notre tableau (Couleur, Polices, Encadrement).

Nous arrêtons ensuite l'enregistrement en cliquant sur le bouton "Arrêter l'enregistrement" ou par le menu "Outil-Macro-Arrêter l'enregistrement". La macro est créée.
Nous avons ensuite un nouveau tableau sur lequel nous voulons reproduire le même format:
Nous sélectionnons notre nouveau tableau et alors utiliser la macro précédemment créée (à condition que le classeur dans laquelle elle a été enregistrée soit ouvert). Nous la lançons par le menu "Outils-Macro-Macros":
Nous sélectionnons la macro désirée puis cliquons sur "Exécuter":
Nous aurions également pu lancer la macro par le raccourci clavier "Ctrl+f" que nous avions défini lors de sa création.
L'enregistreur de macros est donc un outil très pratique.
Quelques précautions à prendre lors de son utilisation cependant :
- Bien penser aux commandes que nous voulons enregistrer pour éviter de créer du code inutile.
- Savoir dans quel classeur enregistrer la macro pour son utilisation future.
- Renommer les macros de façon explicite.
Limites de l'enregistreur de macros:
- Il ne peut que traduire les commandes réalisées par l'utilisateur dans l'application hôte et écrit en général plus de lignes de code que nécessaire.
- Lors de l'écriture de macros, nous verrons comment utiliser et réduire le code crée par l'enregistreur.
Les macros créées sont visibles et modifiables via l'éditeur de macro VBAE (Visual Basic Application Editor) comme nous le verrons lors de notre étude du VBA.
'*******************************
' Ceci est un exemple de macro automatique utilisé pour la recherche de ' commande de tri, d'affichage de l'outil grille et de tri à nouveau!
' Vous observerez qu'il s'agit d'une procédure et non d'une fonction!
' De plus, le code est "sale" et non optimal
'*******************************
Sub Macro1()
' Macro1 Macro
' Macro enregistrée le 20.02.2002 par Vincent ISOZ
Range("A1:J110").Select
Key1:=Range("A16"), Order1:=xlAscending,
Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
ActiveSheet.ShowDataForm
Key1:=Range("A16"), Order1:=xlAscending,
Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
ActiveWindow.SelectedSheets.PrintPreview End Sub
Interfacage des macros
Pour exécuter les macros vous avez plusieurs possibilités que vous pouvez proposer à vos utilisateurs:
1. En faisant Alt+F8 mais vos utilisateurs apprécieront peu cette méthode. D'ailleurs cette méthode ne marche plus quand vous faites des macros complémentaires (voir plus loin).
2. En faisant des boutons sur les feuilles directement. C'est LA méthode à utiliser lorsque vous avez enregistré des macros en mode dans « Ce classeur ». Il existe deux méthodes pour affecter des macros à des boutons:
a. En utilisant la barre d'outils Formulaires. C'est la méthode la plus simple au niveau du cours Macro mais pas la plus pro.
b. En utilisant la barre d'outils Boîte à outils contrôle. C'est une méthode pro mais trop compliquée tant que nous n'aurons pas abordé la partie VBA de ce support.
c. En créant des barres d'outils. C'est une méthode que vous pouvez utiliser pour les macros enregistrées dans Ce classeur (mais normalement c'est pas le but) et c'est une méthode que vous êtes obligé d'utiliser pour les macro personnelles et les macros complémentaires.
Éléments de formulaires
Comme nous l'avons précisé tout à l'heure, les éléments de formulaires sont utilisés lorsque vous commencez à apprendre les macros automatiques et que vous souhaitez créer un accès simple à l'exécution de macros qui ont été enregistrées dans « Ce classeur ».
Comment cela fonctionne-t-il? D'abord dans MS Excel il faut activer une barre d'outils (cela est connu puisque vu au cours MS Excel avancé) qui se nomme « Formulaires ».
Voyons comment utiliser les boutons, les boutons d'options (les case à cocher se basent sur le même principe) et les listes déroulantes:
1. Pour créer un bouton sur une feuille qui permet d'exécuter une macro cliquez sur le bouton de la barre d'outils formulaires et dessinez en un. Au moment même où vous lâcherez la souris, la fenêtre suivante apparaîtra:
Vous demandant quelle macro vous souhaitez affecter à ce bouton. Vous faites simplement votre choix et cliquez ensuite sur OK. Vous pouvez ensuite modifier le texte du bouton, sa taille son formatage et ses propriétés ainsi qu'au besoin le supprimer (les plus importantes y relatives sont indiquées ci-dessous):
Pour affecter une autre macro au besoin sur ce bouton il suffit de faire un clic droit dessus et choisir « Affecter une macro » tel que indiqué ci-dessous:
Au fait, la procédure est la même si vous souhaitez affecter des macros à des dessins ou des images (ce qui peut s'avérer esthétique) en utilisant la barre d'outils dessins (vue au cours initiation):
Par exemple avec une forme automatique:
Pour les créer la méthode est la même que pour les boutons. Pour affecter une macro aussi !
Ceci ayant été dit, si vous créez un groupe de boutons d'options:
Vous remarquerez sur la feuille qu'ils sont tous liés les uns aux autres (dans le sens que vous ne pouvez pas pour l'instant en activer plus de deux en même temps). Mais alors que faire si vous désirez faire plusieurs groupes de boutons d'options? Au fait, c'est simple ! Il suffit de les encadre par une boîte de regroupement disponible ici:
Ce qui donne:
Ensuite, si vous souhaitez que tout se déplace ensemble (au cas où) il suffit de regrouper tous ces éléments comme s'il s'agissait de simples éléments de dessin (voir cours MS PowerPoint).
Mais quel est l'intérêt outre que l'on peut affecter une macro à chacun des ces butons radio? Eh bien tout simplement que l'on peut associer leur état à une cellule de manière à provoquer des calculs en cascades pour des usages ultérieur de macros ! Dès lors, comment faire cette liaison? Par un simple clic droit et accès aux propriétés d'un des boutons d'option du groupe tel que ceci apparaisse à l'écran (voir la capture d'écran de la page suivante):
Cellule liée ! Ainsi, si le premier bouton d'option est choisi, la valeur dans la cellule liée sera "1", "2" pour le deuxième, "3" pour le troisième, et ainsi de suite. Cette valeur peut ensuite être utilisée de manière très pertinente avec des fonction SI, INDEX, RECHERCHEV qui seront elles-mêmes utilisées dans le cadre de l'exécution de macros automatiques.
Voyons maintenant le dernier élément qui est certainement le plus utilisé. Il s'agit des listes déroulantes (auxquelles vous pouvez aussi affecter une macro en faisant un clic droit de la souris et qui s'exécutera après le chois de l'utilisateur):
Avant il faut avoir quelque part une liste de données (qui peut provenir de n'importe où: une requête MS Access, d'un filtre élaboré, une liste statique, etc.…) telle que:
Ensuite, il faut dessiner une liste déroulante comme vous l'avez fait pour les boutons et les boutons d'option tel que:
Ensuite pour "peupler" la liste déroulante il suffit d'accéder à ses propriétés (bouton droite et choisir "Format du contrôle":
et définir la zone qui doit servir de remplissage pour la liste.
Remarque: de la même manière que pour les cases à cocher et boutons d'options vous pouvez lier un cellule aux choix effectué dans la liste. Ainsi, si le premier élément de la liste est choisi, la valeur dans la cellule liée sera "1", "2" pour le deuxième, "3" pour le troisième, et ainsi de suite. Cette valeur peut ensuite être utilisée de manière très pertinente avec des fonction SI, INDEX, RECHERCHEV qui seront elles-mêmes utilisées dans le cadre de l'exécution de macros automatiques.
Barres d'outils et menus
Les barres d'outils et les éléments de menu sont normalement créés dans le cadre de l'utilisation de macros personnelles mais elles sont surtout utilisées dans la cadre de la création de macros complémentaires.
Dans un premier temps, nous considérons qu'il est connu du participant comme créer des barres d'outils, menus et comment affecter une macro à ces différents éléments pour les raisons suivantes:
1. C'est super simple
2. Cela est normalement vu pendant le cours MS Excel avancé (cours qui précède le cours Macro et VBA)
3. Vous avez la procédure normalement dans un peu près n'importe quel bouquin avancé traitant de MS Excel.

Cependant il y normalement un élément qui n'est pas vu dans le cours avancé: c'est comment lier une barre d'outils à un classeur de telle manière que lorsque celui-ci est envoyé à un collègue la barre d'outils personnalisée s'installe automatiquement sur son poste.
Comment faire cela? Eh bien imaginons la barre personnelle suivante:
Nous souhaiterions l'attacher à notre classeur (n'oubliez pas que dès que quelqu'un ouvrira le classeur en question, cette barre d'outils sera installée dans son système). Pour ce faire il suffit d'aller dans la personnalisation des barre d'outils et:
Après la suite est évidente. Il faut cependant prendre garde à une chose: lorsque vous faites une mise à jour de votre barre d'outils, il faut re-attacher celle-ci !!!!!!!!!!!!!
Ruban Excel 2007/2010
Le domaine des rubans est très vaste, j'ajouterai des informations au fur et à mesure sur le sujet mais commençons déjà par la commande suivante qui est très utile:
Application.ExecuteExcel4Macro "SHOW.TOOLBAR(""Ribbon"",False)"
elle masque totalement le ruban.
Signalons tout de suite qu'il n'est pas possible dans Excel 2010 de modifier le ruban avec du VBA contrairement à MS Access.
Nous avons vu tout à l'heure comme enregistrer un macro automatique dans un classeur. Cependant, il peut tout à fait arriver que vous ayez besoin d'une macro automatique qui fonctionne dans tous les classeurs de VOTRE machine. Dès lors, il faudra enregistrer votre macro dans le "Classeur de macros personnelles" comme indiqué ci-dessous:
Dès lors, lorsque que vous créerez une barre d'outils avec un bouton d'accès (nous verrons comment faire cela un peu plus loin) à cette même macro, celle-ci s'exécutera sur tout ancien, présent ou futur classeur MS Excel.
Hors l'étendue de fonctionnement une autre différence des macros complémentaires est qu'elles ne peuvent pas être supprimées à l'aide de la boîte de dialogue disponible à l'aide de Alt+F8. Effectivement:
Dès lors, deux possibilités s'offrent à vous (préférez la seconde à la première):
1. Activer l'affichage du puis supprimer la macro (parce que par défaut tout contenant des macros et étant masqué est tel que nous ne pouvons pas y supprimer les macros en passant par cette fenêtre).
2. Aller dans le VBAE (Visual Basic Application Editor) par le raccourci Alt+F11, repérer le projet , le module et supprimer le code qui s'y trouve
C'est l'outil certainement le plus puissant de MS Excel puisqu'il a la possibilité de tout faire selon une stratégie optimale dans le cadre d'une entreprise que ce soit pour distribuer des programmes ou des algorithmes mathématiques. Par ailleurs, c'est la méthode utilisée par les professionnels des maisons d'éditions de logiciels pour créer des Plug-Ins dans MS Excel disponibles dans le menu Outils/Macro Complémentaires:
La procédure pour créer une macro un macro complémentaire est la suivante:
1. Créer et enregistrer un nouveau classeur
2. Supprimer les feuilles inutiles
3. Enregistrer la macro
4. Créer une barre d'outils avec les boutons nécessaires à l'exécution de la ou les macros
(attention au nom de la barre en ce qui concernera les mises à jour de votre add-in)
5. Attacher la barre d'outils au classeur en cours
6. Enregistrer ensuite le classeur ensuite tant que macro complémentaire. Pour cela, il faut aller dans Fichier/Enregistrer Sous et dans "Type de fichier" choisir tout en bas de la liste "macro complémentaire" (voir capture d'écran de la page suivante):
Nous pouvons observer que les macros complémentaires sont des fichiers *.xla, l'abréviation de Excel Add-In (c'est cela que vous pouvez télécharger sur certains sites Internet traitant de MS Excel !!!). Un fichier add-in ressemble à:
Remarque: Si vous souhaitez qu'une macro complémentaire soit automatiquement instalée sur le logiciel Excel d'un utilisateur, il suffit pour cela de la déployer dans le logiciel XLSTART du dossier d'installation de MS Office de son ordinateur (copiez les fichiers *.dot dans le dossier STARTUP)
Il est possible depuis un nouveau projet VBA de faire référence à une routine VBA se trouvant dans un module d'un fichier extérieur (xls ou xla).
Remarque: il est quand même conseiller de plutôt faire ces manipulation avec des fichiers XLA (qui par défaut ne s'affichent pas à l'utilisateur final).
La méthode d'utilisation est simple. Faisons un exemple en supposant que nous avons enregistré une macro qui change la couleur d'une cellule en jaune:
dans un ficher Excel nommé (attention à renommer le nom du module et du projet VBA avant de continuer !!!).
Ensuite, dans le classeur qui doit utiliser cette macro externe, vous ouvrez l'éditeur Visual Basic Application et dans le menu Outils vous cliquez sur l'option Références:
vous cliquez ensuite sur le boutton Parcourir pour charger le fichier Excel de manière à obtnir le résultat suivant:
Ensuite dans l'explorateur de projet nous pouvons observer:
1. Que le projet ColorProject est dans la liste
2. Qu'une référence externe (Reference to ) a été rajoutée dans le projet du nouveau fichier Excel en cours
Il ne reste plus qu'à utiliser la routine ColorYellow depuis le nouveau classeur actif:
On peut en VBA afficher la liste des références activées assez simplement:
Sub ListReferences()
Dim Ref As Reference
Msg = ""
For Each Ref In ActiveWorkbook.VBProject.References
Msg = Msg & & vbNewLine
Msg = Msg & Ref.Description & vbNewLine
Msg = Msg & Ref.FullPath & vbNewLine & vbNewLine
Next Ref
MsgBox Msg
End Sub
EXERCICE SUR LES MACROS
Ne pas oublier d'enregistrer toutes les 10 minutes !!!!
Faire l'interface sur la feuille + sur une barre d'outils attachée avec tous les boutons et menus nécessaires.
Vous devez:
1. Créer un classeur que vous nommerez
2. Importer les données du tableau des enregistrements (mis à disposition par votre formateur) se trouvant selon votre choix dans MS Access (faire par liaison) ou MS Excel (par copier/coller, avec ou sans liaisons).
Pour ceux ayant choisi la liaison avec MS Access (base JET), faire déjà une macro permettant d'effectuer la mise à jour de la liaison (et donc des données).
3. Faire une macro pour la saisie, la modification et la recherche plus la suppression de données à l'aide de l'outil « grille » de MS Excel (ne refaites pas la roue!)
4. Faire en sorte que l'utilisateur puisse imprimer selon son choix un format donné de la table des enregistrements (ne pas oublier de faire la mise en page: en-têtes et pieds de page, etc…). L'utilisateur doit avoir pouvoir imprimer les colonnes des Articles, des Secteurs et Etats factures. Pour la colonne Etats factures, il doit pouvoir à l'aide d'une liste déroulant choisir lesquelles il désire impriment {Oui, Non, -}.
5. Proposer à l'utilisateur trois vues personnalisées pour l'aperçu avant impression. Idée pour ceux qui utilisent la table d'enregistrements MS Excel):
4.1 Tous les champs
4.2 Champs N°client+ Quantité +Prix total
4.3 Tout sauf N° article + Secteur + Facture payée
6. Créer une liste déroulante contenant les N° clients qui se met à jour (effectivement il peut y avoir de nouveaux clients…) lorsque l'utilisateur le décide (par un bouton). L'utilisateur doit avoir aussi la possibilité de choisir « tous » dans la liste !!!
5.1 Créer une feuille avec une « jolie » table de statistique qui en fonction du client choisi affiche dans la liste créée précédemment:
1. Le nombre de commandes effectuées par ce client