Académique Documents
Professionnel Documents
Culture Documents
en main
O. El Kharki & J. Mechbouh
Site dApprentissage des NTIC : http://elkharki.africa-web.org/
I.
Un tableur permet de saisir des donnes, de faire des traitements sur ces donnes
et de les afficher. Les originalits du tableur sont l'organisation des donnes et les
fonctionnalits de haut niveau mises disposition de l'utilisateur. Le tableur est
trs adapt pour manipuler des chiffres, des listes, pour effectuer des calculs, des
statistiques. Il est utilis dans les entreprises comme outil d'aide la dcision.
Reli des bases de donnes, il permet d'extraire puis de reprsenter
avantageusement des informations, d'effectuer des synthses, des bilans et des
simulations qui serviront de bases aux dcideurs.
11
11
A chaque fois que vous avez fini de saisir une donne dans une cellule, il faut la
valider. Pour cela, vous avez trois possibilits :
- La premire consiste appuyer sur la case ENTREE.
- La deuxime consiste appuyer sur la touche ENTREE
- La troisime consiste utiliser les flches de direction
13
Remarque :
Aprs la validation, le rsultat de la formule apparat dans la cellule et la formule
de calcul apparat dans la barre de formule.
La fonction SOMME
La fonction SOMME calcul la somme des nombres dans une plage de cellules
Syntaxe :
=SOMME(nombre1 ; nombre2)
Exemple : Calculer la somme des notes
La fonction MOYENNE
La fonction MOYENNE permet de calculer la moyenne de plusieurs cellules.
Syntaxe :
=MOYENNE (nombre1 ; nombre2)
Exemple : calculer la moyenne des notes
15
15
La fonction MAX
La fonction MAX donne la valeur maximale dune plage de cellule.
Syntaxe :
=Max (nombre1 ; nombre2)
Exemple : trouver le maximum des notes
La fonction MIN
La fonction MIN donne la valeur minimale dune plage de cellule.
Syntaxe :
=Min (nombre1 ; nombre2)
Exemple : trouver le minimum des notes
16
17
17
de la
18
19
Feuille puis Renommer soit vous faites un double clic sur longlet de la feuille
renommer soit vous faites un clic droit sur longlet puis Renommer
V.4. Encadrement
Pour ajouter un encadrement :
Slectionnez la ou les cellules mettre en forme
Choisissez longlet Bordure dans la bote de dialogue Format de cellule
Choisissez un style de bordure et une couleur
Cliquez sur OK.
21
21
Avec la souris :
Positionnez le pointeur de la souris sur le trait se trouvant droite de la lettre
de la colonne (le pointeur change de forme en double flche)
Faites glisser le trait vers la droite pour augmenter la largeur et vers la gauche
pour la diminuer.
22
Avec la souris :
Positionnez le pointeur de la souris sur le trait se trouvant au dessous du
numro de la ligne
23
23
25
25
2. Modifier un graphique
Pour modifier un lment du graphique que ce soit titre de graphique, lgende, les axes ou dautres, il
suffit de slectionner lobjet mettre en forme puis cliquer sur le bouton Format de lobjet slectionn
de la barre doutil graphique. Une bote de dialogue apparat permet de modifier la police, la taille,
motif, alignement
Pour changer le type de graphique, Slectionnez le graphique puis cliquez sur la flche, cot du
bouton Type de graphique. Une palette souvre permet de slectionnez le type qui vous convient.
2. Rfrences absolues
La rfrence absolue dsigne une adresse fixe quelle que soit la cellule contenant la formule. Vous
pouvez crer une rfrence absolue en appuyant sur la touche F4 du clavier. Des caractres $
sinsrent devant la lettre de colonne et le numro de ligne de ladresse de cellule.
Exemple : Calcul du TVA
3. Rfrences mixtes
La rfrence mixte combine la rfrence relative et absolue. Elle permet de dsigner la ligne de
manire absolue et la colonne de manire relative (ou l'inverse). On place pour cela un $ soit devant le
numro de ligne (par exemple A$1), soit devant le numro de colonne (par exemple $A1).
Exemple : Calcul des notes
$A$1
$A$1
$A$1
A$1
B$1
A$1
$A1
$A1
$A2
A1
B1
A2
Chapitre 4 : Fonctions
logiques, statistiques et de
recherches
I. Fonctions logiques
1. Fonction SI
La fonction SI value une condition (Test logique). Si cette condition est vrifie, cest la
valeur dite Valeur_si_vrai qui saffiche. Si la condition nest pas vrifie, cest la valeur dite
Valeur_si_faux qui saffiche.
Syntaxe :
=SI(Test_logique; Valeur_si_vrai ; Valeur_si_faux)
Exemple : Calcul de la remise
Une grande surface affiche ses clients lannone suivante :
Si le prix TTC est suprieur 100,00dh, la remise est 3% si non pas de remise .
En utilisant la feuille de calcul de la figure 1, calculez la remise pour chaque client.
Slectionnez la cellule dans laquelle vous voulez saisir la formule ; dans ce cas cest E4.
Cliquez sur le menu Insertion puis Fonction.
Dans la Catgorie logique, slectionnez la fonction SI, puis cliquez sur OK. La fentre cidessous apparat :
Figure
Dans la zone de saisie Test_logique, slectionnez la cellule tester (D4) puis tapez
loprateur de comparaison > puis 100.
Tapez lexpression souhaite pour la zone de saisie Valeur_si_vrai, dans cet exemple il
sagit de D4*3%.
Tapez de mme la valeur souhaite dans la zone de saisie Valeur_si_faux, dans ce cas 0.
Validez la fonction par OK et recopiez-la vers le bas.
La cellule E4 doit donc contenir la formule suivante =SI(D4>100; 3%*D4; 0).
2. Fonctions SI imbriques
Syntaxe :
=SI(test_logique1; valeur_si_vrai; si(test_logique2; valeur_si_vrai;
valeur_si_faux))
Exemple : Calcul de la remise (suite)
Si le prix TTC>100,00dh, vous avez une remise de 3%. Si le prix TTC>70,00dh vous avez
une remise de 2% si non pas de remise.
Figure
3. Fonction ET et OU
Syntaxe :
=ET(valeur_logique1; valeur_logique2; valeur_logique3;.)
=OU(valeur_logique1; valeur_logique2; valeur_logique3 ;.)
La fonction ET renvoie vrai si tous les arguments sont vrais et elle renvoie faux si un seul
argument ou plusieurs sont faux.
La fonction OU renvoie vrai si un seul argument ou plusieurs sont vrais. Elle renvoie faux si
tous les arguments sont faux.
Exemple :
Une socit dsire recruter un ingnieur qui rpond aux critres suivants :
Age<=35
Diplme : ingnieur industriel (ing ind)
Langue : Franais
Exprience >=3 ans
Pour cela, elle a ralis la feuille de calcul suivante :
Figure
Figure
Introduire dans chaque valeur_logique une condition comme la montre la fentre cidessus.
Validez la fonction par OK.
Recopiez la formule vers le bas.
La cellule E4 doit donc contenir la formule suivante :
=ET(B2<=35; C2="ing ind"; D2="Franais"; E2>=3)
Figure
2. La fonction NBVal
La fonction NBVAL compte le nombre de cellules contenant une valeur que ce soit du texte
ou numrique (elle compte le nombre de cellules qui ne sont pas vides).
Syntaxe :
=NBVAL(Valeur1; Valeur2 ;).
3. La fonction NB.VIDE
La fonction NB.VIDE compte le nombre de cellules vides lintrieur dune plage de
cellules.
Syntaxe :
=NB.VIDE(plage)
4. La fonction NB.SI
La fonction NB.SI compte le nombre de cellules non vides rpondant un critre.
Syntaxe :
=NB.SI(plage; critre)
Exemple : Compter le nombre dtudiants qui ont la moyenne infrieur 10
III.
1. La fonction RECHERCHEV
La fonction RECHERCHEV permet de localiser une donne contenue dans une plage de
cellule (matrice ou table) afin de lutiliser dans diffrents calculs. Elle recherche la valeur
spcifie dans la premire colonne de la matrice, puis renvoie une valeur dans la mme ligne
partir dune colonne spcifie.
Syntaxe :
=RECHERCHEV(Valeur_cherche ;Matrice ;No_index_col)
Valeur_cherche est la valeur trouver dans la premire colonne de la matrice
Matrice est une plage de donnes dans laquelle est excute la recherche de la valeur
No_index_col est le numro de la colonne de la matrice dont la valeur correspondante est
renvoye.
Exemple :
Calculer le taux de la remise en fonction du code de chaque article, pour cela vous disposer de
deux tableaux lun pour les remises et lautre pour les rsultats, voir la feuille de calcul
suivante :
2. La fonction RECHERCHEH
La fonction RECHERCHEH cherche une valeur dans la premire ligne dune matrice (table
ou plage de cellules) et renvoie la valeur de la mme colonne partir dune ligne spcifie.
Cette fonction fonctionne exactement comme la prcdente.
Syntaxe :
=RECHERCHEH(Valeur_cherche; table_matrice; no_index_ligne)
Exemple : Prenons le mme exemple sauf que le tableau des remises est structur en ligne.
Figure :
3. La fonction RECHERCHE
La fonction RECHERCHE permet deffectuer des recherches dans tous les sens.
Syntaxe :
=RECHERCHE (valeur_cherche; Vecteur_recherche; Vecteur_rsultat)
Valeur_cherche : Cest la valeur cherche.
Vecteur_recherche : Cest la plage de cellules dans laquelle on cherche la valeur.
Vecteur_rsultat : Cest la plage de cellules dans laquelle on recherche linformation.
Remarque :
Le vecteur de recherche doit obligatoirement tre tri par ordre alphabtique, sinon la
fonction ne retourne pas la bonne valeur.
Il faut viter dinclure les titres des colonnes lors de la slection des plages de cellules
servant de vecteur.
Exemple : On cherche le prix unitaire dun article dont la rfrence est saisie dans la cellule
C7.
4. La fonction INDEX
La fonction INDEX permet la recherche dune valeur dans un tableau (matrice) en fonction
de ses coordonnes.
Syntaxe :
INDEX(Matrice; no_ligne; no_col)
Matrice : la plage de cellules dans laquelle la fonction effectuera la recherche.
5. La fonction EQUIV
La fonction EQUIV recherche la position dune valeur dans une matrice
Syntaxe :
EQUIV(Valeur_cherche; Matrice_recherche; Type)
Valeur_cherche : la valeur dont vous souhaitez obtenir la position.
Matrice_recherche : la plage de cellules dans laquelle la fonction recherchera la position de
la valeur_cherche.
Type : entrez 0 pour trouver la valeur exacte, 1 pour la valeur la plus leve qui est infrieure
ou gale valeur_cherche, -1 pour la plus petite valeur qui est suprieure ou gale
valeur_cherche. Si l'argument type est omis, la valeur par dfaut est 1.
Exemple : Recherchez la position dun article saisie dans la cellule F3.
Figure
Figure :
La cellule F4 contient la formule =INDEX(A2:C5; EQUIV(F2; B2:B5; 0); 3).
A2:C5: matrice de recherche.
F2 : valeur recherche.
B2:B5 : plage de cellule dont laquelle F2 sera recherche.
0 : recherche la valeur exacte.
3 : n de la colonne contenant les valeurs afficher (ici prix unitaire).
La fonction EQUIV dans ce cas renvoie le n de ligne.
Introduction
Figure
Tapez la formule =B2-B1 dans la cellule B3.
Le rsultat affich est exprim en format date.
Redfinissez le format de la cellule : slectionnez le menu format puis cellule, ouvrez
longlet Nombre. Dans la zone catgorie cliquez sur standard puis sur OK.
Figure
Excel gre les heures comme des nombres dcimaux. 0,5 reprsente par exemple 12:00h.
Le tableau suivant montre comment passer du systme horaire au systme numrique :
systme horaire
Heure
Minutes
Secondes
systme numrique
/24
/ (24*60)
/ (24*60*60)
Exemple :
heure
12:00:00
dcimale
12/24= 0,5
00:30:00
00:00:50
12:30:50
30/(24*60)= 0,02083333
50/(24*60*60)= 0,0005787
0,52141204
Figure
Remarque : Cette fonction n'existe pas dans l'assistant fonction. Il faut donc la saisir vousmme.
Exemple : calculez le nombre danne, de mois et de jour entre deux dates
Figure
Dans la cellule B3 tapez la formule =DATEDIF(B1; B2;"y").
Dans la cellule B4 tapez la formule =DATEDIF(B1; B2; "m").
Dans la cellule B5 tapez la formule =DATEDIF(B1; B2; "d").
Chapitre 6 : Fonctions
financires et
damortissement
I.
Fonctions financires
1. Fonction VC
La fonction VC calcul la valeur future dun placement fond sur des remboursements
priodiques et constants, et un taux dintrt constant.
Syntaxe :
VC(taux; npm; vpm; va; type)
Taux : le taux d'intrt par priode.
Npm : le nombre total de priodes de remboursement au cours de l'opration.
Vpm : le montant du remboursement pour chaque priode. Ce montant est fixe pendant toute
la dure de l'opration.
Va (la valeur actuelle) : cest le montant du capital que vous placez ou du prt que vous
contractez.
Type (Echancier dun paiement) : indique si le paiement a lieu au dbut (type=1) ou en fin
(type=0) de priode. Si type est omis, la valeur par dfaut est 0.
Remarque :
Utiliser la mme unit pour les arguments taux et npm. Si vous effectuez des
remboursements mensuels pour un emprunt sur quatre ans un taux d'intrt annuel de 12 %,
utilisez 12 %/12 pour l'argument taux et 4*12 pour l'argument npm. Si vous effectuez des
remboursements annuels pour le mme emprunt, utilisez 12 % pour l'argument taux et 4 pour
l'argument npm.
Quel que soit l'argument, les dcaissements, tels que les dpts sur un compte d'pargne,
sont reprsents par un nombre ngatif alors que les encaissements, tels que les paiements de
dividendes, sont reprsents par un nombre positif.
Exemple1 : Calcul de la valeur future dun placement.
Vous placez 40 000,00 dh pour 5 ans. Le taux dintrt est de 5%. Calculez la valeur future de
ce placement.
Figure
La cellule D4 contient la formule =VC(C4; B4; ;A4).
C4 : Le taux dintrt.
B4 : Le nombre total de priode.
A4 : La valeur actuelle.
2. Fonction VPM
La fonction VPM Calcule le montant des paiements priodiques dun emprunt (ou
dinvestissement) remboursement et taux dintrt constants.
Syntaxe :
VPM(taux; npm; va; vc; type)
Exemple :
Calculez la valeur du remboursement mensuel d'un emprunt de 10 000,00dh dont le taux
d'intrt annuel est de 8%. Le nombre de mois de remboursement est 10. Les paiements
doivent tre effectus au dbut du mois.
Figure
La cellule B6 contient la formule =VPM(B3/12; B4; B5; ; 1).
3. Fonction INTPER
La fonction INTPER calcule le montant des intrts dun investissement (ou dun emprunt)
pour une priode donne, fond sur des paiements priodiques et constants, et un taux
dintrt constant.
Syntaxe :
INTPER(taux; pr; npm; va; vc; type)
Pr : la priode pour laquelle vous souhaitez calculer les intrts. La valeur spcifie doit tre
comprise entre 1 et npm.
Exemple :
Calculez lintrt payer durant le premier mois pour un emprunt de 10 000,00 dh. On
suppose que vous remboursiez ce montant sur une priode de 5 ans un taux dintrt annuel
de 9%.
Figure :
La cellule B4 contient la formule =INTPER(B2/12; 1; B3*12; B1)
4. Fonction PRINCPER
La fonction PRINCPER calcul la part de remboursement du principal dun emprunt (ou dun
investissement), fonde sur des remboursement et un taux dintrt constants.
Syntaxe :
PRINCPER(taux; pr; npm; va; vc; type)
Exemple :
Calculez la part de remboursement du principal pour le premier mois dun emprunt de
5 000,00dh un taux dintrt annuel de 10%. Le nombre dannes que comprend lemprunt
est 3 ans.
Figure :
La cellule B6 contient la formule =PRINCPER(B5/12; 1; B4*12; B3).
Dure : le nombre de priodes pendant lesquelles le bien est amorti (aussi appele dure de
vie utile du bien).
Exemple : Calculez lamortissement annuel dun bien dont le cot est 50 000,00dh. La dure
de vie utile de ce bien est 10 ans et sa valeur rsiduelle est 8 000,00dh.
Figure
La cellule B6 contient la formule =AMORLIN(B3; B5; B4).
2. Fonction DB
La fonction DB renvoie l'amortissement d'un bien pour une priode spcifie en utilisant la
mthode de l'amortissement dgressif taux fixe.
Dans le cas de lamortissement dgressif, le montant damortissement varie suivant la
priode d'amortissement.
Syntaxe :
DB(Cot; Valeur_rs; Dure; Priode; Mois)
Priode : la priode pour laquelle vous voulez calculer lamortissement. La priode doit tre
exprime dans la mme unit que la dure.
Mois : le nombre de mois de la premire anne. Si l'argument mois est omis, sa valeur par
dfaut est 12.
Exemple : Calculez lamortissement de chaque anne dun bien dont le cot est 50 000,00dh.
La dure de vie utile de ce bien est 3 ans et sa valeur rsiduelle est de 10 000,00dh.
Figue
La cellule B8 contient la formule =DB($B$3; $B$5; $B$4; A8).
Valeur cible
1. Introduction
Les calculs effectus habituellement avec Excel utilisent des valeurs numriques qui
constituent les donnes d'un problme. A l'aide d'un certain nombre de formules disposes
dans les cellules des feuilles de calculs, on dtermine alors un ou plusieurs rsultats. Voir la
figure 1.
Figure 3
- Dans la cellule A2, on indique la valeur 10.
- Dans la cellule B2, on indique la valeur 5.
- Dans la cellule C2, on indique la formule =A2*B2.
Le rsultat de l'opration apparat en C2. C'est bien 50.
Problme inverse
Posons-nous maintenant la question inverse.
Quelle devra tre la valeur de la cellule A2 pour obtenir le rsultat 100 dans la cellule C2 ?
On connat le rsultat calcul (100), la formule pour le calculer (=A2*B2), mais pas la
premire donne.
Voil la dmarche suivre pour dterminer quelle donne fournira le rsultat attendu :
- Dans une feuille de calcul, on indique les valeurs de A2, B2 et la formule dans la cellule C2.
- Dans le menu Outils, on slectionne la commande Valeur cible (figure 4).
II. Solveur
1. Introduction
La technique de recherche d'une valeur cible est puissante. Cependant, elle est limite la
recherche d'une valeur unique en fonction de la valeur d'une cellule unique.
Le Solveur permet de rsoudre des problmes plus ou moins complexes en obissant des
contraintes dfinies par l'utilisateur. Il peut vous aider dterminer comment utiliser au mieux
des ressources limites pour maximiser les objectifs souhaits (telle la ralisation de bnfice)
et minimiser une perte donne (tel un cot de production). En rsum, il permet de trouver le
J. Mechbouh & O. El Kharki
minimum, le maximum ou la valeur au plus prs d'une donne tout en respectant les
contraintes qu'on lui soumet.
Remarque :
Si vous n'avez pas la commande Solveur dans le menu Outils, vous devez au pralable
installer la macro complmentaire. Pour installer cette dernire, slectionnez la commande
Macro complmentaires du menu Outils, puis cochez Solveur puis validez par Ok.
Introduction
Une liste de donnes (figure 1) est un ensemble de donnes organises. Elle est constitue
d'une suite de lignes appeles enregistrements. Tous les enregistrements ont la mme
structure.
La structure d'une liste est dfinie par un certain nombre de champs. Chaque champ porte un
nom qui correspond l'en-tte de la colonne.
vitez de placer des donnes importantes gauche ou droite de la liste. Ces donnes
risquent d'tre masques lorsque vous filtrez la liste.
Crez des titres pour chaque colonne sur la premire ligne de la liste, celle-ci n'est pas
ncessairement la 1re ligne de la feuille.
b. Mettre en forme votre liste de donnes
Pour les titres de colonnes, utilisez un format diffrent de celui des donnes de la liste, afin
de bien les distinguer.
Pour distinguer la ligne de titre des autres lignes qui contiennent les donnes, utilisez les
bordures de cellules et non pas des lignes vides.
Evitez les lignes et les colonnes vides lintrieur de la liste.
N'insrez pas d'espace gauche ni droite des donnes, leur prsence affecte le tri et la
recherche des donnes.
Cochez loption Etendre les formules et formats de liste de longlet Modification du menu
Outils Options. Cette option permet que la mise en forme et les formules soient
automatiquement recopies lors de la saisie des enregistrements supplmentaires dans la liste.
Cliquez sur une cellule dans la colonne que vous voulez trier.
Cliquez sur le bouton Tri croissant
ou Tri dcroissant
standard pour trier les donnes en ordre croissant ou dcroissant.
de la barre doutils
Avec le menu
Slectionnez une cellule de la liste.
Cliquez sur la commande Trier du menu Donnes.
La bote de dialogue suivante saffiche.
Vous pouvez choisir de faire un tri par ligne (du haut vers le bas) ou par colonne (de gauche
vers la droite). Vous pouvez indiquer sil sagit dun tri normal (alphabtique ou numrique)
ou personnalis.
Remarque :
Les listes personnalises sont cres dans le menu Outils Options - Listes personnalises.
V. Les filtres
1. Filtre automatique
Le filtrage permet de rechercher et de manipuler une partie des enregistrements (lignes) de la
liste. Une liste filtre affiche uniquement les enregistrements rpondant aux critres spcifis.
Exemple :
Affichez uniquement les employs dont le salaire est 7000,00dh en utilisant la liste de
donnes de la figure 1.
Placez le pointeur sur l'une des cellules de la liste de donnes (figure 1).
Cliquez sur le menu Donnes puis Filtres puis Filtres automatique.
Des flches apparaissent ct de chaque nom du champ.
Cliquez sur la flche du champ Salaire, puis slectionnez lentre 7000.00dh, voir la figure
suivante :
2. Filtre personnalis
Exemple :
Nous voulons connatre les employs dont le salaire est infrieur ou gal 4000,00dh.
J. Mechbouh & O. El Kharki
5. Filtre labor
Le filtre labor permet d'accomplir des recherches plus complexes et dafficher la liste filtre
vers un autre emplacement. Le principe du filtre labor repose sur 3 plages, la plage
contenant la liste, la plage contenant les critres et la plage de destination.
a. Crer la zone de critres
La plage de critre reprsente la plage de cellules qui contient les conditions spcifies. Elle
comprend une ligne avec les noms de champs (sur lesquels vous tablissez les critres) et au
minimum 1 ligne de critre.
Les critres qui sont sur la mme ligne sont lis par un ET logique; les enregistrements de la
liste doivent rpondre toutes ces conditions.
Les critres qui sont sur des lignes diffrentes sont lis par un OU logique; les enregistrements
de la liste doivent rpondre au moins une de ces conditions.
Exemple : Dfinir une zone de critres qui permet dafficher la liste des ingnieurs qui ont t
recruts pendant lanne 2000.
Copiez les champs de titre de la liste qui vont tre filtrs. Ici vous copiez le champ
Fonction et Date dembauche.
Collez-les dans la premire cellule de la plage de critres.
Dans les lignes situes sous les champs de critre, tapez les critres, voir la figure
suivante :
Fonction
Ingnieur
Date d'embauche
>=01/01/2000
Date d'embauche
<=30/12/2000
VI. Sous-totaux
Les sous-totaux permettent d'ajouter la liste des lignes rcapitulatives, par exemple Somme,
Moyenne, Max, etc. Les sous-totaux portent sur des groupes. Un groupe est form par une
suite d'enregistrements pour lesquels la valeur d'un champ est identique.
Exemple : On souhaite obtenir la somme des salaires par fonction
Triez la liste en fonction de la colonne pour laquelle vous voulez calculer des sous-totaux,
ici le champ Fonction.
Slectionnez une cellule de la liste de donnes.
Cliquez sur la commande Sous-totaux du menu Donnes. La bote de dialogue suivante
apparat :
Excel cre le plan de la liste en groupant les lignes de dtail avec chaque ligne de sous-total
associ, puis les lignes de sous-total avec celle du total gnral.
Pour afficher ou masquer les diffrents niveaux de plan (figure 13), cliquez sur les boutons 1,
2, 3 du coin haut gauche.
I.
Un tableau crois dynamique (TCD) est un excellent outil pour analyser des listes
de donnes volumineuses et complexes. Il sagit dun tableau interactif qui permet
d'effectuer une synthse rapide et croise partir d'une liste de donnes. Vous
pouvez facilement rorganiser les donnes en lignes ou en colonnes.
84
dynamiques
85
85
Si les donnes se situent dans un autre classeur, cliquer sur le bouton Parcourir
afin de slectionner le classeur. Une fois les donnes slectionnes, cliquez sur le
bouton Suivant.
La troisime tape de lassistant nous demande l'emplacement de ce tableau
crois dynamique. Choisissez Nouvelle feuille, puis cliquez sur le bouton
Terminer.
86
dynamiques
87
87
Dans la liste de champs de tableau crois, cliquez sur champ Jour, faites-le
glisser vers la zone Dposer champs de colonne ici. De cette manire, vous
dcidez que les jours doivent apparatre comme titres de colonnes.
De mme, faites glisser champ Produit vers la zone Dposer champs de Ligne
ici. Les produits seront par consquent utiliss comme titres de lignes.
De mme faites glissez le champ Quantit vers la zone Dposer donnes ici.
Lassistant en valuera automatiquement la somme.
La zone Dposer champs de Page ici sera tudie dans la suite.
Le rsultat (figure 6) est un tableau de synthse de la liste de donnes. Il prsente
la quantit vendue chaque jour pour chaque produit.
Les sommes des lignes et des colonnes ont t calcules automatiquement. Elles
reprsentent respectivement la quantit vendue par produit pendant les trois jours
et la quantit des produits vendus par jour.
Le TCD prsente galement la quantit totale des produits vendus quest dans ce
cas 1826 produits.
Figure 6 : TCD qui prsente la quantit vendue par jour et par produit
dynamiques
A partir de la liste de champs de TCD, faites glissez le champ Prix total vers la
zone Donnes.
Le rsultat est reprsent dans le TCD suivant :
Figure 7 : TCD qui prsente le chiffre daffaires par produit et par jour
Exemple 2 : Raliser un TCD qui prsente le chiffre daffaires ralis par
vendeur, par produit et par jour.
Travailler sur le TCD de la figure 7.
Faites glissez le champ vendeur de la liste de champs de TCD vers la zone o
apparat la mention Dposer champs de page ici. Cela vous donnera la
possibilit, par la suite, dafficher respectivement les performances des
diffrents vendeurs.
Le rsultat est reprsent dans le TCD de la figure suivante :
89
89
Figure 8 : TCD qui prsente le chiffre daffaires ralis par vendeur, par produit et
par jour
Pour raliser ces actions il est d'abord ncessaire de se placer dans un TCD
construit.
Le bouton
permet d'actualiser les donnes du tableau, si les donnes
contenues dans la liste de donnes ont t changes.
Le bouton
Le bouton
crois.
Le bouton
permet de reprsenter les donnes sous forme de graphique.
Le bouton , si la slection est sur :
- une valeur (au milieu du tableau) on peut modifier l'opration de synthse,
- un lment ou un champ de ligne ou de colonne on peut modifier les soustotaux, ou masquer des lments.
Le bouton
permet d'afficher les dtails. Il permet aussi dafficher tous les
lments qui ont contribu au rsultat dans une nouvelle feuille.
Le bouton
permet de masquer les dtails et ne visualiser que la synthse du
groupe.
Remarque : pour afficher la barre doutils TCD, allez au menu Affichage puis
cliquez sur Barres doutils puis Tableau crois dynamique.
II.4. Filtrage
A partir du rapport du tableau crois dynamique vous pouvez filtrer les valeurs
dont vous avez besoin.
Exemple : Dterminez la quantit vendue, mais seulement pour le produit A1.
90
dynamiques
Dans le champ Produit, cliquez sur le bouton avec la flche, puis slectionnez
dans la liste droulante le produit pour lequel vous souhaitez dcouvrir les
rsultats. Dans ce cas A1, voir la figure suivante :
91
Dans la liste Synthse par, slectionner votre nouvelle synthse. Par exemple
Max.
Le bouton Options vous permet dafficher les valeurs par rapport autre chose.
Validez par OK.
92
dynamiques
Dans la bote de dialogue Champ PivotTable (figure 11), cliquez sur le bouton
Nombre. Dans la liste des catgories, slectionnez Pourcentage.
Validez par le bouton OK.
Appuyez sur le bouton Options. Dans la liste droulante Afficher les donnes,
slectionnez % du total.
93
93
94
dynamiques
95
95
Dans la zone Nom, tapez le nom du nouveau champ, dans ce cas crivez
Commission.
Dans la zone formule tapez la formule adquate. Dans ce cas lemployeur
voudra savoir la commission de chaque vendeur. La commission est calcule
selon la formule suivante =Prix total*5%.
Pour faire ce calcul procder comme suit :
- Dans la liste des champs, slectionnez Prix total, puis appuyez sur le
bouton Insrer un champ.
- Cliquez dans la zone Formule, puis placez le pointeur aprs =Prix
total.
- Ajoutez la formule *5%.
- Validez par le bouton OK. Le rsultat est reprsent dans le TCD
suivant :
96
I.
Introduction
98
99
99
100
101
101
103
103
dialogue qui saffiche slectionnez la macro dsirez puis validez par le bouton
OK.
Cliquez sur lobjet graphique avec le bouton droit de la souris, puis choisissez
la commande Affecter une macro. Dans la bote de dialogue qui saffiche
slectionnez la macro souhaitez puis validez par le bouton OK.
Vous pouvez ajouter du texte lobjet graphique en cliquant sur cet objet avec
le bouton droit. Choisissez la commande Ajouter du texte, puis saisissez le
texte que vous souhaitez.
104
105
105
106
107
107
I.
VBA est un langage orient objet. C'est dire qu'il fonctionne avec des objets qui
ont des proprits et des mthodes.
Excel
Classeur
Application
Workbook
Feuille de calcul
Worksheet
Cellule
Range
Graphique
Chart
Tableau Crois
PivotTable
115
115
116
Sub somme()
Dim s As Integer
Dim x As Integer
Dim y As Integer
x = 16
y = 25
s=x+y
MsgBox s
End Sub
Les variables peuvent galement faire rfrence des objets comme des cellules,
des feuilles de calcul, des graphiques, des classeurs ... Elles sont dclares de la
mme faon qu'une variable normale.
Exemple :
Sub Test()
'La variable C fait rfrence une plage de cellule
Dim C As Range
'Le mot Set lui affecte la cellule "A1"
Set C = Range("A1")
'La cellule "A1" prend comme valeur 10
C.Value = 10
End Sub
II.2. Constante
Une constante est une information dfinie initialement et ne peut pas tre modifie
lors de lexcution de lapplication. La dclaration dune constante se fait laide
de linstruction Const.
Syntaxe :
Const nom_constante [As type] = expression
Exemple:
Const Pi as single = 3.14
Const titre = Application Excel
117
117
Algorithmique
Octet
logique
Entier
Entier long
Rel simple (nombre en virgule flottante)
Rel double (nombres en virgule
flottante)
date
Montaire
Chane de longueur variable
String*x
Objet
Mmoire ncessaire
1 octet
2 octets
2 octets
4 octets
4 octets
8 octets
8 octets
8 octets
10+nombre de
caractres
x
4 octets
End Sub
Une variable peut tre "Locale au module" si celle-ci est dclare en haut d'un
module (juste en dessous d'Option Explicit). Toutes les procdures du module
peuvent alors lui faire appel. Elle est dclare par le mot Private.
Exemple :
Option Explicit
'La variables Var1, Var2 et Var3 peuvent tre utilises dans toutes les
'procdures du module
Dim Var1 As Integer
Dim Var2 As Integer
Dim Var3 as integer
Sub Somme()
Var3= Var1 + Var2
Msgbox Var3
End Sub
Sub Produit()
S= Var1 * Var2
Msgbox Var3
End Sub
Une variable peut galement tre accessible tous les modules d'un projet. On dit
alors qu'elle est publique. Elle est dclare par le mot Public. Elle ne peut pas tre
dclare dans un module de Feuille ou dans un module de UserForm.
119
Insrtuction(s)
End Sub
NB : Lexpression entre crochets [] est optionnelle ; nest pas obligatoire.
Exemple : crer une procdure qui affiche Bonjour
Dans VBE (Visual Basic Editor), crez un nouveau module par le menu
Insertion.
Saisissez le code suivant dans ce module :
Sub Essai()
MsgBox "Bonjour"
End Sub
Remarque :
Pour dclarer une procdure, taper Sub et son nom puis taper Entre. VBE
ajoute automatiquement les parenthses et la ligne End Sub.
A l'intrieur de vos procdures, crivez vos instructions en minuscules, VBE se
chargera de transformer votre code par des majuscules.
de la barre doutils ou
A partir dExcel
Dans le menu Outils, pointez sur Macro, puis cliquez sur la commande Macros
puis slectionnez la macro excuter, dans ce cas Essai et cliquez sur le bouton
Excuter.
III.2. Fonction
Une fonction est une procdure qui renvoie une valeur. Elle est dlimite par les
instructions Function et End Function.
Syntaxe :
120
121
122
+
*
\
/
Mod
Signification
Addition
Soustraction
Multiplication
Division entire
Division
Modulo (reste
division entire)
Puissance
de
Exemple
4+6
6-4
6* 4
6\4
6/4
la 6 Mod 4
2^4
Rsultat
10
2
24
1
1,5
2
16
<
<=
>
>=
=
<>
Signification
Infrieur
Infrieur ou gal
Suprieur
Suprieur ou gal
Egal
Diffrent
Exemple
4<6
4<=6
4>6
4 >= 6
4=6
4 <> 6
Rsultat
True
True
False
False
False
True
123
123
Signification
Ngation
Et logique
Or
Ou logique
Xor
Ou exclusif
Exemple
Not (test)
(Test1) and
(test2)
(test1) or (test2)
(test1) Xor
(test2)
V. Botes de message
Les botes de messages servent communiquer avec l'utilisateur.
Il existe des messages qui donnent de l'information et d'autres qui en demandent.
V.1. MsgBox
MsgBox est une fonction qui affiche un message dans une bote de dialogue,
attend que lutilisateur clique sur un bouton, puis renvoie une valeur de type entier
qui indique le bouton choisi par lutilisateur.
Syntaxe :
Retour = MsgBox (Message [, Bouton] [, Titre])
Les arguments passs la fonction MsgBox sont :
Retour : Variable de type Entier (Integer) recevant la valeur du bouton.
Message : cest le message qui sera affich dans la bote de dialogue
Bouton : dtermine le type des boutons (OK, cancel, ignorer,..). Par dfaut cest le
bouton OK.
Titre : spcifie le libell qui apparatra dans la barre de titre de la boite de
dialogue.
Remarque :
Si laffichage du message na pour but que dinformer lutilisateur dun fait ou
dune situation, le stockage de la valeur retourne par MsgBox et les parenthses
deviennent inutiles.
Syntaxe :
MsgBox Message [, Bouton] [, Titre]
Exemple :
Sub message1()
MsgBox "Bonjour, vous venez de lancer l'application de gestion de stock"
End Sub
Rsultat :
125
125
Valeur
Icne
Utilisation
vbCritical
16
Erreur fatale
vbQuestion
32
Question
vbExclamation
48
Information
vbInformation
64
Remarque
126
Pour spcifier le type du bouton on peut utiliser une valeur entire ou une
constante nomme, voir la figure 11.
Constante
vbOKOnly
Valeur Boutons
0
vbOKCancel
vbAbortRetryIgnore 2
vbYesNoCancel
vbYesNo
vbRetryCancel
127
127
Chaque bouton, lorsqu'il est activ, renvoie une valeur que l'on pourra alors
interprter travers une variable. Le tableau ci-dessous montre les valeurs
renvoyes par l'instruction MsgBox dans la variable.
Constante
vbOK
vbCancel
vbAbort
vbRetry
vbIgnore
vbYes
vbNo
Valeur
1
2
3
4
5
6
7
Bouton
OK
Annuler
Abandonner
Ressayer
Ignorer
Oui
Non
Exemple : lexemple suivant affiche une bote de message avec deux boutons
(oui et non). Si le bouton Oui est cliqu, le classeur actif sera ferm.
Sub message4()
Dim R As Integer
R = MsgBox("Voulez-vous fermer l'application?", vbYesNo, "confirmation")
If R = 6 Then
ActiveWorkbook.Close
End If
End Sub
V.2. InputBox
InputBox est une fonction qui affiche une invite dans une bote de dialogue,
attend que l'utilisateur tape du texte et/ou clique sur un bouton, puis renvoie le
contenu de la zone de texte sous la forme d'une valeur de type String.
Syntaxe :
R= InputBox (message [, titre] [, texte_defaut])
Description des arguments :
Message : message qui saffiche dans la bote de dialogue.
Titre : le texte qui apparatra dans la barre de titre
texte_defaut : cest le contenu par dfaut du champ de saisie
128
Exemple :
Sub saisir()
Dim R As String
R = InputBox("Entrez votre nom ? ", "Remplir", "votre nom")
Range("A1") = R
End Sub
Rsultat :
La structure If .. Then
Syntaxe :
Structure conditionnelle
If condition Then
[Instructions excuter quand la
condition est vraie]
[Else
[Instructions excuter quand la
condition est fausse]]
End If
Algorithmique
Si condition alors
[instructions]
[Sinon
[instructions]]
Fin si
129
129
Else
Instructions
End If
Exemple :
130
Algorithmique
Si condition1 alors
Instructions1
Sinon si condition2 alors
Instructions2
Sinon si condition3 alors
Instructions3
..
Sinon
instructions
Fin si
Sub structure_cond3()
Dim note As Double
note = Worksheets("Feuil1").Range("A1").Value
If note >= 16 Then
MsgBox "trs bien"
ElseIf note >= 14 Then
MsgBox "bien"
ElseIf note >= 12 Then
MsgBox "Assez bien"
ElseIf note >= 10 Then
MsgBox "passable"
Else
MsgBox "mauvais rsultat"
End If
End Sub
Algorithmique
Choisir selon expression
vrifie
Cas1 : valeur1
instructions1
Cas 2 : valeur2
instructions1
Cas n : valeur n
Instructions n
Cas par dfaut :
Instructions
Fin choisir
Exemple :
131
131
Sub structure_cond4()
Dim N As Integer
Dim jour As String
N = Range("A1")
Select Case N
Case 1
jour = "Lundi"
Case 2
jour = "Mardi"
Case 3
jour = "Mercredi"
Case 4
jour = "Jeudi"
Case 5
jour = "Vendredi"
Case 6
jour = "Samedi"
Case 7
jour = "Dimanche"
Case Else
MsgBox "La cellule A1 contient un nombre non valide"
End Select
Range("B1") = jour
End Sub
VI.2. Boucles
Les boucles (structures rptitives) permettent de rpter lexcution dun bloc
dinstructions, soit un nombre prcis de reprises, soit jusqu' ce qu'une condition
devienne vraie.
Algorithmique
Pour compteur = ValeurDepart jusqu
ValeurFin [par pas de valeurSaut]
[instructions]
[Exit For]
Next [compteur]
[Sortir de la boucle]
Fin pour [compteur]
Exemple:
Sub boucle1()
Dim i As Integer
For i = 1 To 10
MsgBox i
Next
End
Dans ce code la bote de message apparatra dix fois en affichant les valeurs de i
de 1 jusqu 10.
Exemple:
Sub boucle2()
Dim i As Integer
For i = 2 To 10 Step 2
MsgBox i
Next
End Sub
Dans ce code la bote de message apparatra cinq fois en affichant les valeurs 2, 4,
6,8 et 10, parce que la boucle fonctionne avec un incrment de 2.
Remarques:
Boucle Do While
La boucle Do While continue de boucler tant quune condition logique est vraie.
Elle peut avoir deux syntaxes :
Syntaxe
Do While condition
Smantique
La condition est teste au dbut.
133
133
[Instructions]
Loop
Do
[Instructions]
Loop While condition
Exemple 1:
Sub boucle3()
Dim MotDePasse As String
Dim MotPropose As String
MotDePasse = "test"
MotPropose = ""
Do While MotPropose <> MotDePasse
MotPropose = InputBox("Donnez votre mot de passe ")
Loop
MsgBox "Bienvenu"
End Sub
Exemple 2:
Sub boucle4()
Dim MotDePasse As String
Dim MotPropose As String
MotDePasse = "test"
MotPropose = ""
Do
MotPropose = InputBox("Donnez votre mot de passe")
Loop While MotPropose <> MotDePasse
MsgBox "Bienvenu "
End Sub
Boucle Do Until
Cette structure est trs semblable la structure DO While. La boucle Do Until
excute des actions jusqu ce quune condition devienne vraie.
134
Do
[Instructions]
Loop Until condition
soit vraie
Si la condition est vrifie au dpart alors le bloc
dinstructions ne sera pas excut.
La condition est teste la fin de la boucle
La boucle est rpte Jusqu ce que la condition
soit vraie
Lexcution du bloc dinstructions est ralise au
moins une fois
Exemple :
Sub boucle5()
Dim MotDePasse As String
Dim MotPropose As String
MotDePasse = "test"
MotPropose = ""
Do Until MotPropose = MotDePasse
MotPropose = InputBox("Donnez votre mot de passe ")
Loop
MsgBox "Bienvenu"
End Sub
135
Exemple :
Sub mise_en_forme()
With Worksheets("Feuil1").Range("A1")
.Value = 10
.Font.Color = RGB(0, 51, 102)
.Font.Bold = True
.Font.Italic = True
End With
EndSub
136
Chapitre 12 : Les
UserForms
O. El Kharki & J. Mechbouh
Site dApprentissage des NTIC : http://elkharki.africa-web.org/
I.
Crer un UserForm
138
Description
Name
BackColor
BorderColor
BorderStyle
Caption
139
139
Syntaxe :
UserForm1.Show 0
Ou bien
UserForm1.Show False
141
Utilisez cet UserForm pour remplir la liste des inscrits de la Feuil1 (figure 6).:
Cration du UserForm :
143
143
Chapitre 13 : Principaux
objets du modle dobjet
dExcel
O. El Kharki & J. Mechbouh
Site dApprentissage des NTIC : http://elkharki.africa-web.org/
I.
Objet Workbook
Lobjet Workbook reprsente un classeur charg dans Excel. Il peut tre ouvert,
ferm, enregistr, activ, masqu, supprim, etc par une instruction VB.
Workbooks est une collection de tous les objets workbook actuellement ouverts.
Nouveau classeur
La procdure suivante ouvre un nouveau classeur vierge :
Sub Nouveau_Classeur()
Workbooks.Add
End Sub
Ouvrir un classeur
La procdure suivante ouvre un classeur existant :
Sub Ouvrir_Classeur()
Workbooks.Open "Chemin\Nom_fichier.xls"
End Sub
Fermer un classeur
La procdure suivante ferme tous les classeurs ouverts :
Sub Fermer_classeurs()
Workbooks.Close
End Sub
La procdure suivante ferme le classeur spcifi dans la collection Workbooks :
Sub Fermer_classeur()
Workbooks("Nom_Classeur.xls").Close
End Sub
La procdure suivante ferme le classeur actif :
Sub Fermer_classeur()
ActiveWorkbook.Close
End Sub
Activer un classeur
La procdure suivante active le classeur spcifi dans la collection Workbooks :
Sub Activer_classeur()
Workbooks("Nom_Classeur.xls").Activate
End Sub
Sauvegarder un classeur
La procdure suivante sauvegarde le classeur actif :
Sub sauvegarde_classeur()
ActiveWorkbook.Save
End Sub
La procdure suivante enregistre le classeur actif sous un nouveau nom :
Sub sauvegarde_classeur()
ActiveWorkbook.SaveAs "Chemin\Nom_Classeur.xls"
End Sub
Index
Select
Cette mthode slectionne la feuille spcifie dans la collection Worksheets.
Exemple : linstruction suivante slectionne la Feuil1 :
Worksheets("Feuil1").Select
Activate
Cette mthode active une feuille (comme si vous cliquez sur l'onglet de la feuille).
Exemple :
Worksheets("Feuil1").Activate
Delete
Cette mthode supprime la feuille spcifie dans la collection Worksheets.
Exemple :
Worksheets("Feuil1").Delete
Visible
Cette proprit dtermine la visibilit de la feuille de calcul.
Exemple : Masquer la Feuil3.
Worksheets("Feuil3").Visible = False
Pour rendre nouveau la feuille Feuil3 visible on utilise le code suivant :
Worksheets("Feuil3").Visible = True
147
147
Pour faire rfrence une cellule dans le code VBA, on utilise lune des syntaxes
suivantes :
Syntaxe 1 :
Range("Rfrence de la cellule")
Exemples :
Code
Range("A3")
Range("A3:D9")
Range("A3,D9")
Range("A3:D9,A12:C20")
Rfrence
La cellule A3
La plage de cellule "A3:D9"
les cellules A3 et D9
Les plages de cellule A3:D9 et A12:C20
Syntaxe 2 :
Cells(Numro_ligne, Numro_colonne)
Exemple : linstruction suivante faire rfrence la cellule A3
Cells(3, 1)
Syntaxe 3 :
Object.Offset(RowOffset, ColumnOffset)
RowOffset correspond au nombre de lignes de dcalage et ColumnOffset au
nombre de colonne de dcalage. Ces arguments peuvent tre positifs (vers le bas
ou vers la droite), ngatifs (vers le haut ou vers la gauche) ou nuls.
Exemple :
Linstruction suivante faire rfrence la cellule sous la cellule active :
ActiveCell.Offset(1,0)
Linstruction suivante faire rfrence la cellule C2 :
Range("A3").Offset(-1,2)
Activate
Cette mthode active une cellule ou une plage de cellule.
148
Index
Exemple :
Le code suivant active la cellule A3 de la feuille de calcul Active :
ActiveSheet.Range("A3").Activate
BorderAround
Cette mthode trace une bordure autour dune cellule ou dune plage de cellule.
Exemple :
Linstruction suivante trace une bordure double autour de la cellule A3 :
Worksheets( "Feuil1" ). Range("A3").BorderAround (9)
Vous pouvez modifier le paramtre numrique (9) pour changer le type de
bordure.
Clear
Cette mthode efface le contenu dune cellule ou dune plage de cellule.
Exemple :
Linstruction suivante efface le contenu de la cellule A3 :
Worksheets( "Feuil1" ). Range("A3").Clear
Value
Cette proprit crit (ou lit) une valeur dans une cellule.
Exemple :
Linstruction suivante crit la valeur 20 dans la cellule A3 de la Feuil1 :
Worksheets( "Feuil1" ). Cells(3, 1).Value = 20
Font
Cet objet change le format des cellules (polices, couleur, taille, etc.).
Exemple :
Linstruction suivante change le format de la cellule A3 en gras :
Range("A3").Font.Bold = True
Exemple :
Cette procdure applique la police Comic sans MS en taille 14, en gras, en
italique et de couleur bleu fonc la plage de cellules A1:D9
149
149
Sub mise_en_forme()
With Worksheets("Feuil1").Range("A1:D9").Font
.Color = RGB(0, 51, 102)
.Bold = True
.Italic = True
.Name = "Comic sans MS"
.Size =14
End With
End Sub
150