UPPA MASTER 2 - LAOSI Travaux Dirigés d'informatique MISE EN ŒUVRE AVEC EXCEL D UN SYSTEME INTEGRANT FONCTIONS DE GESTION ET FONCTIONS D AIDE A LA DECISION (1) Avertissement : ces travaux dirigés sont pour la plupart repris d une série de TDs mis en place par C. Sallaberry (UPPA). Les contenus ont été adaptés pour mieux cadrer avec le programme pédagogique du cours sur les systèmes d informations décisionnels. I Présentation Nous allons utiliser le tableur Excel pour automatiser la fonction de facturation de notre entreprise. Nous allons traiter des données à l aide de fonctions de recherche, de fonctions conditionnelles, sur différentes feuilles de calcul. Pour consulter des sites d apprentissage d Excel, consultez : http://www.admexcel.com http://silkyroad.developpez.com/ II Créer un classeur et saisir des tableaux de données dans des feuilles Excel 1/ Construire une feuille de calcul pour la table des clients : s -1-
2/ Construire une feuille de calcul pour la table des produits : Renommer chaque feuille : Client, Produit Pour ce classeur, faire Enregistrer sous : Facturation III Concevoir et implanter une feuille de calcul avec des formules avancées A vous de réaliser cette feuille de calcul en respectant le cahier des charges décrit dans la page suivante. Info. extraites de la table Client Zones de saisie Info. extraites de la table Produit Données calculées -2-
Ce système de facturation présente 4 types de données : Commentaires (coordonnées entreprise Dubois, tableau correspondant aux lignes de facturation, ) Données saisies, propres à chaque nouvelle facture (code client, codes produits facturés, mode paiement, ) Données extraites des tableaux Client et Produit (nom, prénom client,, désignation produit, ) : fonction RechercheV() Données calculées (n de facture, remise, montant hors taxe, escompte, totaux, ) : fonctions Concatener(), Maintenant(), Jour(), Mois(), Somme(), Si(), Les tableaux Client et Produit doivent donc être utilisés dans la facture par l intermédiaire de fonctions de recherche (fonction RechercheV()) pour récupérer les noms, prénoms, adresse, des clients (à partir du code client saisi au clavier) ainsi que les désignations, prix unitaires, des produits (à partir du code produit). Les remises sont calculées en fonction des quantités grâce à la fonction Si() : 10% à partir de 5 produits, 20% à partir de 10. D autre part, l escompte de 2% n est affiché que si le mode de paiement est de type «CB». Voir l exemple de facture en Annexe n 1. Voir aussi les exemples d utilisation de fonctions avancées Excel en Annexe : fonction RechercheV() Annexe n 2 fonction Si() Annexe n 3 fonction Maintenant(), Seconde(), Minute(), Heure(), Jour(), Mois(), Annee() Annexe n 4 fonction Concatener() Annexe n 5 IV Ajout d informations à la table Produit Ajoutez deux nouveaux produits à la table Produit. La facture prend-elle en compte ces nouvelles références de produits? Si non modifiez votre système de facturation de façon à pouvoir prendre en compte 20 produits maximum. -3-
Annexe n 1-4-
Annexe n 2 La recherche d une valeur avec la fonction RechercheV() =RechercheV(valeur_recherchée; désignation_plage; numéro_de_colonne_résultat) Tester cet exemple : Recherche la valeur contenue dans la cellule A2 (de la feuille de calcul active), dans la colonne B (de la feuille de calcul active) de la ligne 5 à la ligne 16. S arrête sur la première cellule contenant une valeur égale à celle de A2 : ici en B9 Renvoie la valeur de la cellule correspondante sur la seconde colonne de cette plage (B5 : C16) : donc C9. Toutefois, renvoie une erreur si la valeur contenue en A2 n est pas retrouvée dans la plage B5:C16 Puis, les suivants : =RechercheV(A2;B5:C16; 2) Recherche la valeur contenue dans la cellule A2 dans la colonne B de la ligne 5 à la ligne 16 et, renvoie la valeur de la cellule située à l intersection de la 2ème colonne de la plage (soit colonne C) et de la ligne où se trouve la première valeur égale au contenu de A2. Si cette valeur n est pas présente dans la colonne B, la fonction prend en compte la plus grande valeur inférieure au contenu de A2. =RechercheV(A2;Feuil4!B5:C16; 2) Idem à ci-dessus. Toutefois, la recherche dans la plage B5:C16 se fait obligatoirement dans la feuille Feuil4. =RechercheV(A2;Feuil4!B5:C16; 2; FAUX) Idem à ci-dessus. Toutefois, renvoie une erreur si la valeur contenue en A2 n est pas retrouvée dans la plage Feuil4!B5:C16. =RechercheV(11;B5:C16; 2) Recherche la valeur 11 dans la colonne B de la ligne 5 à la ligne 16 et, renvoie la valeur de la cellule située à l intersection de la 2ème colonne de la plage (soit colonne C) et de la ligne où se trouve la première valeur égale à 11. Si 11 n est pas présent dans la colonne B, la fonction prend en compte la plus grande valeur inférieure à 11. Tester aussi : -5-
Que fait la formule de la cellule E3 affichée ci-dessus? La formule de la cellule E5 utilise quant à elle plusieurs formules RechercheV() successives concaténées (voir Annexe 5). Remarques importantes pour vous faciliter le travail : Toute expression de recherche peut être construite à l aide de l Assistant. Au moment de taper la formule sur la zone de saisie, vous pouvez utiliser la souris pour désigner les plages de cellules référencées dans la formule. N importe quelle feuille d un même classeur Excel, ou d autres classeurs peut être référencée pour une recherche. Si les valeurs de la première colonne de la plage de recherche ne sont pas triées par ordre croissant, vous pouvez utiliser la commande «Trier» du menu «Données». -6-
Annexe n 3 L expression conditionnelle avec la fonction Si() =Si(condition;valeur_si_vrai;valeur_si_faux) Tester cet exemple : Vérifie si la valeur contenue dans la cellule A3 est supérieure ou égale à 10. Si oui, affiche «Bien» dans la cellule où la formule a été tapée, c est à dire B3. Puis, les suivants : =Si(C7>=B7; «Bénéfice»; «Perte») Affiche, dans la cellule contenant cette fonction, le texte «Bénéfice» si la valeur contenue dans la cellule C7 est supérieure ou égale à la valeur contenue dans la cellule B7; sinon, c est le texte «Perte» qui est affiché. =Si(Et(B5>=10;B5<=50); 10%; Si(B5>50; 15%; 0)) Affiche 10%, dans la cellule contenant cette fonction, si la valeur contenue dans la cellule B5 est comprise entre 10 et 50 et, 15% si la valeur contenue dans la cellule B5 est supérieure à 50 et 0 sinon : les fonctions Si, Et et Ou peuvent être imbriquées à volonté. =SI(ESTVIDE(A2);"";RECHERCHEV(A2;B5:C16; 2, FAUX)) La recherche n est lancée que si la cellule A2 contient une valeur. Tester aussi : Que fait la formule de la cellule E15 affichée ci-dessus? Que fait la formule «=SI(ESTVIDE(D3);" ";RECHERCHEV(D3;Client!A4:C18;3;FAUX))» en E3? Remarque Toute expression conditionnelle peut être construite à l aide de l Assistant. -7-
Annexe n 4 La gestion de dates avec les fonctions Maintenant(), Seconde(), Minute(), =AUJOURDHUI() =Maintenant() =Heure(Maintenant()) Annexe n 5 Assembler plusieurs chaînes de caractères de façon à n'en former qu'une seule avec la fonction Concatener() =Concatener(«Bonjour» ; «toi») =Concatener(Heure(Maintenant()) ; «_» ; Minute(Maintenant()) ; «_» ; Seconde(Maintenant())) =CONCATENER(RECHERCHEV($D$3;Client!$A$4:$F$18;6;FAUX);" ";RECHERCHEV($D$3;Client!$A$4:$G$18;7;FAUX)) =SI(ESTVIDE(D3);" ";CONCATENER(RECHERCHEV($D$3;Client!$A$4:$F$18;6;FAUX);" ";RECHERCHEV($D$3;Client!$A$4:$G$18;7;FAUX))) -8-