Vous êtes sur la page 1sur 98

Conception et modélisation d’un système d’information

ERP SAGE Comptabilité Ligne 100


Programme Informatique de Gestion
2ème BTS Marocain
Filières : MT, CG, TC, MC, GESTION PME/PMI
+
EXAMENS et Etude de Cas avec Solution

Réalisé par : M.IBRAHIMI


2017 / 2018 Avec Collaboration et Soutien de : Mr Abdelaziz El Khatiri
(Inspecteur du pôle commercial en classes de BTS)

Avec DVD
Le Présent Ouvrage Met L’accent Sur L’apport de l’outil Informatique Dans
la Gestion Comptable et Financière des Entreprises Marocaines en
adoptant une approche pratique à travers des cas bien étudiés.
Contactez Email : MEDIBR1@GMAIL.COM
Intérêt de l’ouvrage --------------------------------------------------------------------------------------------------------------------------------- 5
I. SEQUENCE 1 : TERMINOLOGIE DE BASE VOCABULAIRE : ------------------------------------------------------------------ 6
II. SEQUENCE 2 : ANALYSE MERISE ------------------------------------------------------------------------------------------------------- 7
1) Le modèle E/A : Entité/Association : ------------------------------------------------------------------------------------------- 7
2) Concept de base : ----------------------------------------------------------------------------------------------------------------------- 7
3) Exercice de synthèse : Gestion d’un club sportif ------------------------------------------------------------------------ 8
III. SEQUENCE 3 : LE MODEL LOGIQUE DE DONNEES MLD : ------------------------------------------------------------------- 10
1) Définition ----------------------------------------------------------------------------------------------------------------------------------- 10
2) Terminologie ------------------------------------------------------------------------------------------------------------------------------ 10
3) Règles de Passage du MCD à MLD--------------------------------------------------------------------------------------------- 11
4) Application : Gestion d’un club sportif : ------------------------------------------------------------------------------------- 12
5) Exercices d’applications avec solution : ------------------------------------------------------------------------------------ 13
5.1 CAS1 : société Colorado avec solution -------------------------------------------------------------------------------- 13
IV. SEQUENCE 4 : MS ACCESS --------------------------------------------------------------------------------------------------------- 16
1) INTRODUCTION ------------------------------------------------------------------------------------------------------------------------- 16
2) Création de tables ---------------------------------------------------------------------------------------------------------------------- 17
2.1 Création de table : --------------------------------------------------------------------------------------------------------------- 17
2.2 Types de données --------------------------------------------------------------------------------------------------------------- 18
2.3 Les propriétés des champs ------------------------------------------------------------------------------------------------- 19
2.4 Le format d'affichage ----------------------------------------------------------------------------------------------------------- 19
2.5 Le Masque de saisie ------------------------------------------------------------------------------------------------------------ 20
2.6 Définition de relations entre tables -------------------------------------------------------------------------------------- 21
2.6.1 Types de relations entre les tables. ------------------------------------------------------------------------------- 21
2.6.2 Intégrité référentielle ----------------------------------------------------------------------------------------------------- 22
3) Différentes Requêtes :---------------------------------------------------------------------------------------------------------------- 23
3.1 INTRODUCTION ------------------------------------------------------------------------------------------------------------------- 23
3.2 Requêtes Sélection : Définition des critères de sélection ---------------------------------------------------- 24
3.2.1 Opérateurs -------------------------------------------------------------------------------------------------------------------- 24
3.2.2 Les Fonctions --------------------------------------------------------------------------------------------------------------- 24
3.3 Requêtes paramétrées--------------------------------------------------------------------------------------------------------- 25
3.4 Les calculs dans les requêtes---------------------------------------------------------------------------------------------- 27
3.4.1 Insérer un champ calculé ---------------------------------------------------------------------------------------------- 27
3.4.2 Effectuer un calcul statistique avec regroupement ------------------------------------------------------- 27
3.4.3 Créer une requête D’Analyse croisée ---------------------------------------------------------------------------- 29

Réalisé Par : M.IBRAHIMI INFO Gestion : 2ème Année MT, CG, TC, MC, GESTION PME/PMI Page : 2
3.5 Les requêtes action ------------------------------------------------------------------------------------------------------------- 30
3.5.1 Requête Création (Archivage) --------------------------------------------------------------------------------------- 31
3.5.2 Requête suppression ---------------------------------------------------------------------------------------------------- 31
3.5.3 Requête Ajout --------------------------------------------------------------------------------------------------------------- 32
3.5.4 Requête Mise à Jour ----------------------------------------------------------------------------------------------------- 32
V. SEQUENCE 5 : SQL ------------------------------------------------------------------------------------------------------------------------ 33
1. Opérations relationnelles avec SQL ------------------------------------------------------------------------------------------- 33
1.1 PROJECTION (SELECT) ------------------------------------------------------------------------------------------------------ 34
1.2 SÉLECTION AVEC RESTRICTION (WHERE) ------------------------------------------------------------------------- 37
1.3 AGRÉGATS OU GROUPAGE (GROUP BY) --------------------------------------------------------------------------- 38
1.4 REQUÊTES SUR PLUSIEURS TABLES -------------------------------------------------------------------------------- 40
2. CAS1 : société Colorado avec solution (Page 13) suite de la solution ---------------------------------------- 41
VI. SEQUENCE 6 : SAGE COMPTABILITE 100 ----------------------------------------------------------------------------------- 42
Chapitre 1 – Généralités et installation----------------------------------------------------------------------------------------------------- 43
Leçon 1 : Démarrage du programme Comptabilité --------------------------------------------------------------------------------------- 43
1. Utilisation de SAGE comptabilité 100 au sain des sociétés marocaines : Configuration de SAGE 100 ---------- 43
1.1 Installation du progiciel Sage comptabilité 100-------------------------------------------------------------------------- 43
Leçon 2 – Paramétrage de la société --------------------------------------------------------------------------------------------------------- 46
1. Création de votre société : Création des fichiers de travail ------------------------------------------------------------------- 46
2. Paramétrage du fichier comptable d’une société (marocanisation des comptes) : ------------------------------------ 48
3. La fenêtre de travail Sage Comptabilité : ------------------------------------------------------------------------------------- 49
Leçon 3 – Création des éléments comptables (code journaux, taux taxes, plan tiers…..) --------------------------------------- 51
1. Création des Codes Journaux--------------------------------------------------------------------------------------------------------- 51
2. Création des Taux de Taxes ----------------------------------------------------------------------------------------------------------- 52
3. Création des tiers------------------------------------------------------------------------------------------------------------------------ 53
Chapitre 2 – Gestion courante ---------------------------------------------------------------------------------------------------------------- 56
Leçon 4 – Saisie Et Mise A Jour Des Ecritures Journaux (saisie d’une facture ….) ------------------------------------------------- 56
1. Saisie d’une facture --------------------------------------------------------------------------------------------------------------------- 56
2. Interrogation et lettrage des comptes ------------------------------------------------------------------------------------------ 61
3. Cas Pratique de la société NEXANS ------------------------------------------------------------------------------------------ 62
VII. SEQUENCE 7 : EXAMENS 2ème ANNEE AVEC SOLUTION + ETUDES DE CAS --------------------------------------- 70
1) Examen Mai 2017(MT, CG, TC, MC, GESTION PME/PMI) :------------------------------------------------------------------- 71
2) Solution Examen Mai 2017 : ------------------------------------------------------------------------------------------------------- 75
3) Examen Mai 2017(TC) :--------------------------------------------------------------------------------------------------------------- 77
4) Solution Examen Mai 2017(TC) --------------------------------------------------------------------------------------------------- 80
5) Examen Mai 2016(MT, CG, TC, MC, GESTION PME/PMI) :------------------------------------------------------------------- 82

Réalisé Par : M.IBRAHIMI INFO Gestion : 2ème Année MT, CG, TC, MC, GESTION PME/PMI Page : 3
6) Solution Examen Mai 2016 : ------------------------------------------------------------------------------------------------------- 84
7) Etude de cas "Société HPS": Modélisation et Expression de requêtes en langage SQL ------------- 85
8) SOLUTION Etude de cas Société HPS ---------------------------------------------------------------------------------------- 89

Réalisé Par : M.IBRAHIMI INFO Gestion : 2ème Année MT, CG, TC, MC, GESTION PME/PMI Page : 4
Intérêt de l’ouvrage
e présent ouvrage est le fruit d’une collaboration déterminante et soutien permanent de

L la part de Mr Abdelaziz El Khatiri (Inspecteur du pôle commercial en classes de BTS)

et c’est suite aussi au fruit des années de travail et d’expérience en qualité d’enseignant

d’Informatique de Gestion aux classes des BTS (Brevet de Technicien Supérieur) et en qualité

d’enseignant vacataire au sein de plusieurs établissements.

A travers son approche pratique et ses cas bien étudiés le présent œuvre met l’accent sur l’apport de l’outil
Informatique dans la gestion comptable et financière des entreprises marocaines, il aborde comme thèmes le

système d’information et le PGI SAGE comptabilité 100, il contient aussi des examens et études de cas

solutionnés est ce pour les étudiants de deuxième année de formation des Filières : MT, CG, TC, MC, GESTION

PME/PMI du BTS marocain.

Cet œuvre revêt son intérêt du fait que les enjeux de la gestion informatisée d’entreprise marocaine constituent

la pierre d’ongle et l’essence de sa situation comptable, financière et patrimoniale menant ainsi à la prise de
décisions basée sur des rapports rationnels et légales, dans ce contexte la matière Informatique de gestion

constitue une articulation indispensable secouant les autres matières d’économie et de gestion.

Concrètement on ne peut pas priver l’enseignement des matières d’économie et de gestion des opportunités et

fonctionnalités offertes par l’outil informatique.


Autrement dit le recours à cet outil n’est pas seulement dû au hasard ou à une culture de renouvèlement de

moyens traditionnels et archaïques mais il s’agit ici d’une tendance spectaculaire à l’exactitude et à la

performance des résultats en dépit de la masse des données rentrant en jeu ni de la diversité et de la

complication des facteurs émanant.

Dans ce contexte, sachant que le système d’information regroupe les moyens informatiques utiles pour traiter
l’information : ordinateurs, réseaux, programmes ; l’adoption de ces systèmes au sein de la structure curriculaire

du BTS constitue une voie professionnelle et une obligation morale incontestable car l’informatique constitue le
bord de sauvetage pour la gestion au moment où la gestion constitue un champ d’application fertile et

propice pour l’outil informatique.

Réalisé Par : M.IBRAHIMI INFO Gestion : 2ème Année MT, CG, TC, MC, GESTION PME/PMI Page : 5
Conception et modélisation d’un système d’information
I. SEQUENCE 1 : TERMINOLOGIE DE BASE VOCABULAIRE :
EXPRESSION DEFINITION
Le système de gestion de bases de données est un logiciel qui prend en charge la structure de
stockage, la mise à jour et la maintenance d’une base de données, il est l’unique interface entre
SGBD
les informaticiens (définition des schémas programmation des applications), les utilisateurs et les
données (consultation et mise à jour) Exemple : Oracle, MySQL, Access…
Consiste à créer une représentation virtuelle d’une réalité de telle façon à faire ressortir les points
Modélisation auxquelles on s’intéresse. Ce type de méthode est appelé analyse. Il existe plusieurs méthodes
d’analyse telle que la méthode MERISE.
Un système d’information (SI) est un ensemble organisé de ressources (matériel, logiciel,
personnel, procédure, …) qui permet de regrouper, classifier, traiter, diffuser de l’information sur
un environnement donnée.
Système
L’utilisation de moyens informatique, électrique et télécommunication permet d’automatiser et
d’information
de dématérialiser des opérations tel que les procédures d’entreprise. Ils sont aujourd’hui
largement utilisée au lieu les moyens classiques tel que les formulaires sur papier et le téléphone
c’est la notion de système d’information.
Une base de données est l’ensemble volumineux, structurés, et minimalement redondant de
données ; Relier entre elles, stocker sur support numérique centralisé ou distribuer, servant pour
les besoins d’une ou plusieurs applications interrogeables et modifiable par un ou plusieurs
Base de données utilisateurs.
Exemple : une compagnie aérienne
Une base de données de gestion de l’activité d’une compagnie aérienne concernant les voyageurs,
les vols, les avions en fonction des vols à effectuer, l’affectation des personnels volants.
Modèle E/A visait à conceptualiser l’application. Il représente les objets, les relations, les
MCD propriétés et les cardinalités. C’est l’étape la plus importante et toute erreur à ce niveau se
répercutera sur la suite.
Vise à traduire le MCD en tables utilisables par un SGBD. Il s’appuie sur la cardinalité indiquées
dans le MCD pour indiquer la nature de la relation mais surtout le sens de déplacement des clés
MLD primaires entre les objets et les relations. Les cardinalités sont remplacées par des flèches.
L’intérêt de la méthode Merise est de proposer des règles simples pour faciliter la transformation
MCD -> MLD.
(Modèle physique de données) Il présente les tables telles qu’elles devront être construites dans
MPD la base de données. Le nombre de table ne correspond pas forcément au nombre d’objets et de
relations.
Ensemble des données organisées en enregistrements. Chaque table stocke les données se
Table rapportant à un objet.
Lorsqu'une information présente une redondance, on crée une nouvelle table.
Enregistrements Ensemble des données organisées suivant une structure concernant un individu de la population.
Structure de
Ensemble des champs décrivant un individu de la population.
l'enregistrement
Concernant un individu de la population. Exemple : le champ « NomEmploye » ou
Champ
encore le champ « CodePostal ». Remarque : on ne stocke qu'une seule information par champ.
SQL Structured Query Language : langage d'interrogation des bases de données.
Valeur de sélection appliquée à un champ.
Critère
Exemple : CodePostal > = 45000.
Nom du champ sur lequel sera exécuté le tri.
Clé
Exemple : trier sur le CodePostal par ordre croissant
Interface permettant à l'utilisateur de créer ses requêtes en manipulant directement les champs
QBE
dans une structure. La syntaxe SQL étant générée automatiquement par Access en arrière-plan.

Réalisé Par : M.IBRAHIMI INFO Gestion : 2ème Année MT, CG, TC, MC, GESTION PME/PMI Page : 6
II. SEQUENCE 2 : ANALYSE MERISE
1) Le modèle E/A : Entité/Association :
On va s’intéresser à la modélisation des données on utilisant la méthode MERISE qui définit trois niveaux de description
d’un SI :

 Niveau conceptuel : MCD (Modèle Conceptuel de Données)


 Niveau organisationnel logique : MLDR (Modèle Logique de Données Relationnelles)
 Niveau physique : MPD (Modèle Physique de Données)

2) Concept de base :
a) Entité :

C’est une population d’individus homogène (de même type).


C’est l'élément le plus important de l'analyse Merise. Elle est caractérisée par son nom et ses attributs (de 1 à 255) où
le premier attribut constitue la clé primaire de l’entité.
On ne construit une entité que lorsqu'elle est porteuse de données c’est-à-dire contient plus de deux enregistrements
(occurrences).
b) Association :
C’est une liaison qui a une signification précise entre plusieurs entités.
Elle constitue le second objet du point de vue intérêt, elle permet de lier deux entités ou plus entre elles comme elle
peut lier une entité à elle-même. Elle n'a pas toujours d’existence propre c’est à dire qu'elle peut être détruite lors du
passage du MCD à MLD surtout lorsqu’elle est dotée de CIF (Contrainte d'Intégrité Fonctionnelle (0,1) ou (1,1)) elle
peut être dotée d’attributs relationnels c’est le cas où elle octroie de l’existence propre c’est à dire lorsqu’elle n'est
pas dotée de CIF
c) Attribut :
C’est une propriété d’une entité ou d’une association.
C'est une propriété qui caractérise l'entité verticalement. Une entité doit avoir au moins un attribut et au plus 255
attributs. Exemple : CIN, Nom, Prénom sont des attributs de l'entité client.
d) Identifiant :
L’identifiant est l’attribut permettant de déterminer d’une façon unique chaque occurrence ou enregistrement d’une
entité, sa valeur doit être différente par chaque occurrence. On peut l’appeler aussi Clé primaire c’est-à-dire l’attribut
clé qui permet l’identification de l’enregistrement tout entier.

e) Cardinalité :
C’est un lien entre une entité et une association précise le minimum et le maximum de fois qu’un individu de l’entité
peut être concerné par l’association.

Exemple d’un MCD traité par WIN DESIGN:

Réalisé Par : M.IBRAHIMI INFO Gestion : 2ème Année MT, CG, TC, MC, GESTION PME/PMI Page : 7
Commentaire de l’exemple : ce MCD contient 2 entités et une seule association liant ces 2 entités.
* : Veut dire qu'un client peut valider une opération de vente d’1 produit au minimum et n produits au maximum
** : Veut dire qu'un produit peut être vendu à 0 client au minimum ou à n client au maximum
Ex 1 : MCD1

Un hôtel loue des chambres à des clients qui effectuent des réservations. Un client loue une chambre. Un client réserve
une chambre

Ex 2 : MCD2

Un père peut avoir plusieurs enfants. Un enfant à un seul père.

CIF : Contrainte d’Intégrité


Fonctionnelle

3) Exercice de synthèse : Gestion d’un club sportif


Le système d’information d’un club Sportif se définit ainsi :
-Un abonné est inscrit à une ou plusieurs rubriques.
-Chaque rubrique envoie des newsletters de la semaine aux abonnés de la rubrique correspondante.
-Un abonné à une motivation d’inscription, parmi plusieurs possibilités.
Travail à faire : Tracer le MCD.

Solution :
*Liste d’entités : Abonné, Rubrique, Newsletter, Motivation.
*Liste d’associations :
R1  Abonné Inscription rubrique
R2RubriqueEnvoie newsletter
R3AbonnéAvoir motivation

Réalisé Par : M.IBRAHIMI INFO Gestion : 2ème Année MT, CG, TC, MC, GESTION PME/PMI Page : 8
COMMENTAIRE DU MCD CLUB SPORTIF :
• Ce modèle contient 4 entités et 3 associations dont 2 n'ont pas d'existence propre et une a effectivement une
existence propre (inscription).
• Un abonné (Alami par exemple) a une motivation au minimum et a une au maximum ce que lui donne à l’entité
« Abonné » la propriété CIF (1,1) qui va provoquer la destruction future de l'association « avoir » et rend le père
« Abonné » PNP c’est à dire que son existence dépend impérativement de l'existence préalable de la motivation
ayant relation avec elle.
• Un abonné (Alami par exemple) a droit de s'inscrire dans une rubrique au minimum et dans n rubriques au
maximum ce qui lui donne la cardinalité (1,n) qui est loin de CIF .
• Une rubrique peut avoir 0 abonné inscrit au minimum ou n abonné inscrit au maximum ce qui donne la cardinalité
(0,n) loin de CIF .
Alors l'association inscription n'est pas dotée de CIF, alors elle octroiera forcément de l’existence propre et elle
sera créée en tant qu'objet dans les modèles qui suivent tel que le MLD et le MPD.
Encore l'inscription sera porteuse de données et c'est pour cette raison là qu'elle est dotée d'attributs relationnels
(date ins, mt ins).
PP : Père propre.
PNP : Père Non Propre.

Réalisé Par : M.IBRAHIMI INFO Gestion : 2ème Année MT, CG, TC, MC, GESTION PME/PMI Page : 9
III. SEQUENCE 3 : LE MODEL LOGIQUE DE DONNEES MLD :
1) Définition
On appelle un objet du MLD relation.
La modélisation relationnelle permet de matérialiser les relations sous forme de tables à deux dimensions. Chaque
colonne possède un identificateur qui représente un domaine (type de données). On appelle tuple ou n-uplet un set des
valeurs la ligne de table.
Pour lier les relations (objets MLD) entre elles on utilise la notion de clé primaire et de clé étrangère. La clé primaire d’une
relation est un attribut ou un ensemble d'attributs qui permet de désigner d’une façon unique un tuple (par exemple
l'attribut IDAB permet d'identifier de façon unique les tuples de la relation ABONNE). La seule connaissance de la clé
primaire permet d'identifier toute ligne dans une table. Par ailleurs, la clé étrangère est un identifiant qui fait référence
à une clé unique dans une autre table. Par exemple, dans la Relation INSCRIPTION, l'attribut IDAB contient la référence
ABONNE et donc permet de retrouver toutes les informations de l’abonné concerné dans la relation ABONNE.
Une relation R est représentée par une table de n colonnes (n attributs) A1, A2 … An dont chaque ligne est caractérisée
par différentes valeurs dans les domaines D1, D2…Dn. , Pour modéliser l’entité du monde réel « ABONNE » on prendra
comme constituants IDAB, NOM, AGE, DATENAIS, SEXE, VILLE :
ABONNE(IDAB, NOM, AGE, DATENAIS, SEXE, VILLE ). Les domaines correspondant aux identifiants de colonnes
peuvent être déterminés par les ensembles de valeurs suivants :
IDAB : chaine de 1 à 10 caractères alphabétiques (on peut atteindre 255 caractères).
NOM : chaine de 1 à 20 caractères alphabétiques.
AGE : nombre entier.
DATENAIS : dates depuis le 1er janvier 1800 jusqu’au présent.
SEXE : chaine d’un seul caractère alphabétique.
VILLE : chaine de 1 à 20 caractères alphabétiques.
Schéma d’une relation

2) Terminologie
 Domaine
Le domaine représente un ensemble fini de valeur possible pour un attribut donné auquel on définit aussi un
ensemble d’opérateurs pouvant être appliqués aux valeurs du domaine
 Tuple
Grossièrement, un tuple est un enregistrement (une ligne) dans la base de données.
Plus formellement, un tuple est un élément atomique comportant un entête et un corps. L'entête est un ensemble
des noms d’attributs et de leurs domaines et le corps est un ensemble de triplets <Nom du domaine, Nom
d’attribut, Valeur>.
Réalisé Par : M.IBRAHIMI INFO Gestion : 2ème Année MT, CG, TC, MC, GESTION PME/PMI Page : 10
 Attributs
Un attribut est simplement la valeur associée à un des triplets d’un tuple.
 Relation
Une relation (ou table) est un élément constitué d’un entête et d’un corps. L’entête est un ensemble des noms
d’attributs et de leurs domaines et le corps est un ensemble de tuples ayant le même entête que la relation.
Attention à ne pas confondre avec le concept de relation entre les tables.
 Degré
Le degré est le nombre d’attributs dans une relation.
 Cardinalité de relation
Le modèle relationnel prévoit trois types de relations entre tables : 1:1, 1:N et N:N. Les relations entre les tables
sont définies dans la colonne partagée. Ce modèle ne soutient pas directement les relations N:N qui seront en fait
traduites en deux relations 1:N.
 Relation 1:1
Dans deux tables A et B de relation 1:1, un tuple de la table A se rapporte seulement à un tuple de la table B.
Par exemple, un ministre est à la tête d'un ministère et un ministère ne comporte qu'un seul ministre : la table
« Ministères » est en relation 1:1 avec la table « Ministres ».
 Relation 1:N
Dans deux tables A et B de relation 1:N, un tuple de la table A se rapporte à un ou plusieurs tuples de la table B.
Par exemple, un seul membre de la table « Internats » peut se rapporter à plusieurs membres de la table « Élèves ».

 Relation N:N
Dans deux tables A et B de relation N:N, un tuple de la table A se rapporte à un ou plusieurs tuples de la table B
et un tuple de la table B se rapporte à un ou plusieurs tuples de la table A. Une relation N:N peut donc être
décomposées en deux relations 1:N.
Par exemple, dans un lycée, une classe a plusieurs professeurs et un professeur est responsable de plusieurs
classes : les tables « Classes » et « Professeurs » sont en relation N:N.

3) Règles de Passage du MCD à MLD


 Règle 1 : Toute entité du MCD se transforme en objet (relation) de MLD, toute entité de MCD à une
existence propre en tant qu’objet dans le MLD.
 Règle 2 : Toute association dotée d’une cardinalité de type (0.1), (1.1) ; sera détruite lors du passage en
MLD (existence non propre), ce phénomène est nommé CIF : Contrainte d’Intégrité Fonctionnelle.
L’entité ayant la CIF sera dotée de la clé primaire de l’autre entité (avec laquelle elle est associée), ce
champ additionnel sera nommé clé étrangère (clé secondaire).
 Règle 3 : Toute association n’ayant pas de CIF, c’est-à-dire non dotée de cardinalité de type (0.1), (1.1) ;
sera créée automatiquement en tant qu’objet du MLD  aura une existence propre.

Astuce : Cette association sera créée en tant qu’objet du MLD et va être dotée des clés primaires en
provenance des entités ayant relation avec elle (dont l’association joue le rôle de liaison entre elles), ces
clés primaires joueront le rôle de clés étrangère pour cette association.

Réalisé Par : M.IBRAHIMI INFO Gestion : 2ème Année MT, CG, TC, MC, GESTION PME/PMI Page : 11
4) Application : Gestion d’un club sportif :
On commence avec les pères propres puis les pères dotés de CIF puis les associations.
Le MLD :
MOTIVATION (IDMOT, INTITULE) ;
RUBRIQUE (IDRUB, NOM) ;
ABONNE (IDAB, NOM, AGE, DATENAIS, SEXE, VILLE #idMot) ;
NEWSLETTER (IDNL, SUJET, CONTENU, #IDRUB) ;
INSCRIPTION (IDINS, DATEINS, MTINS, #IDRUB, #IDAB) ;
Commentaire :
Objet INSCRIPTION : INSCRIPTION (IDINS, DATEINS, MTINS, #IDRUB, #IDAB) ;
L’objet INSCRIPTION était une association en Modèle E/A et suit au fait qu’elle n’était pas dotée de CIF on lui a appliqué
la règle 3 et a prêté ses deux clés étrangères (#IDRUB, #IDAB) en provenance des deux entités ayant relation avec elle
Schéma de relations

CODE SQL DE CREATION DE TABLES


Create table Motivation( Create table Rubrique(
IDMOT valchar(3) not nul primary key, IDRUB valchar(3) not null primary key,
Intitule valchar(20)); NOM valchar(20));
Create table ABONNE (
IDAB varchar(3) Not Null Primary Key,
Create table Newsletter(
Nom varchar (20),
IDNL valchar(3) not Null Primary Key,
Age int,
Sujet varchar(20),
Ville varchar(20),
Contenu valchar(255),
Sexe char(1),
IDRUB valchar(3) not null,
Nationalité logique,
Foreign key(IDRUB) references Rubrique(IDRUB));
Id-R1 varchar(3) not null,
Foreign key (IDMOT) references Motivation(IDMOT));
Create table inscription(
IDINS valchar(3) not null primary key,
DATEINS date,
MTINS money,
IDAB valchar(3) not null,
IDRUB valchar(3) not null,
Foreign key(IDAB) references ABONNE(IDAB));
Foreign key(IDRUB) references Rubrique(IDRUB));

Réalisé Par : M.IBRAHIMI INFO Gestion : 2ème Année MT, CG, TC, MC, GESTION PME/PMI Page : 12
5) Exercices d’applications avec solution :
5.1 CAS1 : société Colorado avec solution
La description d’un extrait du système d’information de la société COLORADO a relevé les 3 états suivants :

ZONES RESIDENCE
Id_Z Nom Taux Résidence
Z001 A 25%
Z002 B 15%
Z003 C 10%
Etat 1

EMPLOYES
Id_EMP NomEMP SAL BASE CADRE Id_Z
ES01 Alami hassane 7000 Ingénieur Z001
ES02 FILALI ALI 6700 Technicien Info Z001
ES03 Guissi Hasnae 4599 AGENT Z002
ES04 Slihi Ghita 6500 Ingénieur Z003
ES05 DAWDI Mohammed 8000 AGENT Z003
Etat 2

1. Une Rubrique est caractérisée par : Id_R Libellé Type Taux SB


2. Une Cotisation est caractérisée par : Id_C Libellé Taux SB
Liste de Consignes :
1. A un Employé est affectée (AffectRub) une ou plusieurs Rubriques à un mois précis, une Rubrique peut
être affectée à plusieurs Employés dans des mois précis ;
2. A un Employé est affectée (AffectCot) une ou plusieurs Cotisations à un mois précis, une Cotisation
peut être affectée à plusieurs Employés dans des mois précis ;
3. Un employé appartient à une seule zone
Etat 3
Travail demandé :
A partir de ces 3 états, répondre aux questions suivantes : /20 pts
1. Etablir le modèle E/A (6Pt)
2. Etablir le modèle relationnel (4Pt)
3. Ecrire le code SQL de création de la table : EMPLOYES (2Pt)
4. Ecrire le code SQL de requêtes suivante :
4.1 REQ1 : liste des salariés n’ayant pas de Rubrique affectée (3Pt)
4.2 REQ2 : listes de cadres salariés dont la moyenne du Salaire de Base (par cadre) est supérieure à 6200 et
dont le cadre ne concerne pas les agents (3Pt)
4.3 REQ3 : Liste affichant les rubriques de type « INDEMNITE » ayant un montant inférieur à 200 et affichant
le champ « MTSUB » où MTSUB = MT+MT * 2% (3Pt)
NB : vous pouvez consulter la réponse aux questions 3 et 4 à la fin de la séquence 5

Réalisé Par : M.IBRAHIMI INFO Gestion : 2ème Année MT, CG, TC, MC, GESTION PME/PMI Page : 13
Solution CAS1 : société Colorado
1. Modèle E/A :

2. Modèle relationnel avec commentaire


Modèle E/A illustré :

Commentaire :
PP: Père Propre
PNP: Père Non Propre
CIF: Contrainte d’Intégrité Fonctionnelle
Règle 1: a été appliquée seule à l’entité “ZONES RESIDENCE”, “RUBRIQUE”, “COTISATION” c’est pourquoi ces entités
seront des pères propres en modèle relationnel c’est à dire ne prêteront aucune clé étrangère car elles ne sont pas dotées
de CIF,
Règle 2 : a été appliquée à l’entité “EMPLOYE” car elle est dotée de CIF de la part de Sa relation avec l’entité “ZONES
RESIDENCE”, ce qui lui a donné la propriété du père non propre car elle va prêter une clé étrangère de la part de avec
l’entité “ZONES RESIDENCE”
Aussi la règle 2 a été appliquée à l’association “Appartenir” ce que va provoquer sa destruction lors du passage vers le
modèle relationnel.
Règle 3 : a été appliquée aux deux associations “Affecter 1” et “Affecter 2” car elles ne sont pas dotées de alors elles
seront transformées en objets « existence propre » du modèle relationnel.

Réalisé Par : M.IBRAHIMI INFO Gestion : 2ème Année MT, CG, TC, MC, GESTION PME/PMI Page : 14
Modèle Relationnel (MLD) :

ZONES RESIDENCE (Id_Z, Nom, Taux Résidence) ;


Rubrique (IdR, Libellé, Type, Taux SB) ;
Cotisation (Id_C, Libellé, Taux SB)
EMPLOYES (Id_EMP, NomEMP, SAL BASE, CADRE #id_Z1) ;
Affecter 1 (Id_A1, mois, #Id_EMP1, #Id_R1) ;
Affecter 2 (Id_A2, mois, #Id_EMP2, #Id_C2) ;

Réalisé Par : M.IBRAHIMI INFO Gestion : 2ème Année MT, CG, TC, MC, GESTION PME/PMI Page : 15
IV. SEQUENCE 4 : MS ACCESS
1) INTRODUCTION
Conçu pour Windows MS Access fait partie de la famille MS OFFICE (MS Word, MS Excel, MS Power Point, MS Out look
et MS Access).
Une base de données MS Access est un ensemble d’objet : Tables, Requêtes, Formulaires, Etats, Macros et modules. Ces
objets peuvent être utilisés dans d’autres application Windows grâce au mécanisme OLE (Objet Linking and Enbedding
= Liaison et incorporation d’objet).
Un programme tel que MS Access est capable de stocker les données, ces dernières peuvent être modifiées, lues ou
même supprimées.
Un programme capable de supporter une telle gestion est désigné par le nom SGBD, ou gestionnaire de bases de
données DBMS (Data Base Management System).
Format du fichier (*.accdb) :
Les formats de fichiers pris en charge n'ont pas changé depuis la dernière version qui semble être le format officiel de
cette nouvelle mouture.
Composants d’une base de données Access :
Chaque table de la base va contenir les données se rapportant à un sujet particulier, la table «
Tables ABONNE » va contenir les informations sur les abonnés. C’est l’objet fondamental de la base de
données, toute requête, formulaire ou état va être basé sur une ou plusieurs tables.
Les requêtes vont être utilisées pour obtenir des données contenues dans une ou plusieurs tables à
Requêtes partir d’une question. Par exemple, une requête va pouvoir nous afficher la liste des abonnés
habitant à Casa.
Le formulaire est utilisé pour faciliter la saisie et la modification des données d’une table, par
Formulaires exemple, le formulaire "abonné" va permettre d’entrer de façon conviviale les informations
concernant un abonné. On peut les saisir sans formulaire, ce que nous verrons, mais cette méthode
est moins conviviale.
États Les états permettent d’imprimer des données contenues dans des tables selon une présentation
définie en y intégrant éventuellement des calculs.
Macros Les macro commandes permettent d’automatiser une suite d’opérations répétitives.

Modules Les modules sont des programmes écrits en Visual Basic for Application (VBA) pour réaliser des
opérations qui seraient trop complexes en utilisant les seules fonctionnalités d’Access.

Schéma des Composants d’une base de données

Réalisé Par : M.IBRAHIMI INFO Gestion : 2ème Année MT, CG, TC, MC, GESTION PME/PMI Page : 16
2) Création de tables
Description générale de la base de données
L’exemple développé est basé sur la gestion des inscriptions d’abonnés d’un club sportif. Il s’agit de la base de données
(<Club sportif.accdb>). On se restreindra à une centaine d’abonnés, liste clients potentielle, décrits dans la table
ABONNE. Afin de classer ces abonnés de déterminer leur chiffres d’affaires périodiques ainsi que leurs motivations et
leurs rubriques choisies, on créera la liste de tables figurant dans le schéma relationnel de la page 10.
On proposera une série de requêtes filtrant les abonnés et les inscriptions selon des critères basés sur les dates
d’inscription, les rubriques les motivations,... Des requêtes " regroupement " permettent d'extraire des données
numériques à partir des données initiales, et permettront ensuite de créer des graphiques. Un autre type de requêtes,
les requêtes action, permettra par exemple de mettre les prix d’inscription à jour chaque année.

2.1 Création de table :


 Onglet CRÉER puis CRÉATION DE TABLE

 DÉFINITION DU CHAMP DE LA CLEF saisie du nom de champ 1 puis choix du type de données ( avec activation de
nul interdit et indexation)

Réalisé Par : M.IBRAHIMI INFO Gestion : 2ème Année MT, CG, TC, MC, GESTION PME/PMI Page : 17
2.2 Types de données

Sans partie décimale :


Entier (de - 32 767 à + 32 768)
Entier long (de - 2,1 milliards à + 2,1 milliards)
Avec partie décimale :
VALEURS décimal (de - 1028 à + 1028, avec tous les chiffres significatifs) ou
NUMÉRIQUES réel simple (de - 1038 à + 1038, 7 chiffres significatifs) ou
réel double (de - 10308 à + 10308, 15 chiffres significatifs)
Cas particulier de valeur monétaire : Monétaire (de - 1015 à + 1015, avec 4 chiffres significatifs
après la virgule)
Cas particulier de numéro d'ordre fixé automatiquement : NuméroAuto (de 1 à 2,1 milliards)
Texte court : Texte (taille limité fixée, 255 caractères au maximum) avec possibilité d'une liste
TEXTES de valeurs via Liste de choix
Texte long : Memo (65 535 caractères au maximum)
DATES ET Horodate (date et heure ensemble) : Date/Heure avec en option présentation réglable via
HEURES Format dans l'onglet Général
Valeur numérique incrémentée automatiquement lors de la saisie de chaque enregistrement.
Si vous choisissez ce type de champ, vous ne pourrez rien saisir dedans, c’est Access qui y
placera un nombre automatiquement à chaque fois que vous créerez un nouvel
NuméroAuto
enregistrement. On l’utilisera lorsqu’on veut être sûr que le contenu de ce champ ne se
retrouvera pas dans un autre enregistrement de la table, par exemple pour le numéro de
client : chaque nouveau client aura un numéro unique automatiquement affecté par Access,
c'est un champ de ce type qui sera le plus souvent utilisé pour être une clef primaire.
Seules deux données sont autorisées dans ce champ : Oui et Non (on utilisera ce type de
Oui/Non données par exemple avec un champ « réglé » qui indiquera si une facture a été réglée ou
non)
OLE (Object Linked and Embbeded) est une technologie utilisée par Windows, elle permet
Objet OLE d’insérer dans une application des objets provenant d’autres applications, on utilisera un
champ de ce type pour insérer dans la table une image, un son, un fichier Word, etc...
Un champ de ce type contiendra une adresse Internet sur laquelle on pourra cliquer
Lien Hypertexte
directement.

Réalisé Par : M.IBRAHIMI INFO Gestion : 2ème Année MT, CG, TC, MC, GESTION PME/PMI Page : 18
2.3 Les propriétés des champs
Ces propriétés varient selon le type de données (par exemple, un champ numérique aura une propriété « décimales »
qui indiquent le nombre de chiffres après la virgule que ne peut avoir évidemment un champ de type texte)
Propriétés des champs de type Texte et Mémo
Taille du champ Nombre de caractères maximum qui peuvent être saisis
Valeur par défaut Texte qui sera contenu par défaut dans ce champ
Expression pour valider la saisie, exemple : <> « machin », interdira la saisie
Valide si
du mot « machin » dans ce champ
Message d’erreur qui va être affiché si l’expression saisie n’est pas valide, dans
Message si erreur
notre exemple, on pourrait mettre ici «saisie de machin interdite »
Null Interdit Si oui, il faudra obligatoirement saisir une valeur dans ce champ
La chaîne vide est "", on peut l'utiliser lorsqu'on n'a rien à entrer dans un
Chaîne vide
champ obligatoire, si cette propriété est non, il faudra obligatoirement saisir du
autorisée
texte dans ce champ
Le champ est un index avec ou sans doublons, si l'index n'a pas de doublons, il
Indexée ne sera pas possible de saisir deux fois le même contenu pour ce champ dans la
table
Format Va définir comment le contenu du champ va être affiché (voir plus loin)
Oblige à saisir le contenu du champ selon un format précis (par exemple un
Masque de saisie
numéro de téléphone), on verra ça plus loin
Tous les autres types de données ont des propriétés similaires, certains ont des propriétés supplémentaires :
Propriétés des champs de type numérique
Définit la valeur maximale qui va pouvoir être contenue dans ce champ. Il faudra faire
attention et bien penser à l'avance quelle sera la valeur maximale permise dans ce champ
pour pouvoir ajuster au mieux cette propriété :
Octet : de 0 à 255
Entier : de –32767 à +32768
Taille du champ Long : de –2147483648 à +2147483649
Réel Simple : de –3.48 x 1038 à +3.40 x 1038
Réel Double : de –1.79 x 10308 à + 4.96 x 10324
Plus on descend, plus le champ occupera de la place en mémoire et sur le disque dur (le Réel
Double prend 8 fois plus de place que l'octet), pensez-y si la table contient des milliers de
lignes...
Décimales Nombres de chiffres après la virgule
Propriétés des champs de type NuméroAuto
Indique quelle sera la prochaine valeur contenue dans un champ de type NuméroAuto : avec
Incrément, la valeur sera égale à la valeur créée dans le précédent enregistrement+1, avec
Nouvelles valeurs
Aléatoire, Accès remplira ce champ avec une valeur tirée au hasard (mais qui ne se
retrouvera pas dans un autre enregistrement).

2.4 Le format d'affichage


Nous avons vu plus haut qu'on peut modifier la façon dont les données contenues dans les champs peuvent être
affichées ou forcer leur saisie selon un format précis.
La façon dont les données sont affichées se fait par l'intermédiaire de la propriété "Format d'affichage".
Attention, la façon dont les données sont affichées dans un champ ne modifie en rien le contenu de ce champ dans la
table. Par exemple, si vous forcez à afficher un '1' avant le contenu d'un champ, si ce champ contient '234', la valeur

Réalisé Par : M.IBRAHIMI INFO Gestion : 2ème Année MT, CG, TC, MC, GESTION PME/PMI Page : 19
affichée sera '1234' mais le contenu du champ dans la table sera toujours '234'. La propriété 'format d'affichage' n'influe
que sur la façon dont les données d'un champ vont être affichées.
Pour modifier le format d'affichage, on utilise les codes suivants :

Codes du format d'affichage


"texte" Affiche le texte "texte" dans le champ
! Justifie à droite le contenu du champ
*C Remplace les espaces par le caractère C
[couleur] Affiche le contenu du champ dans la couleur "couleur"
Pour les champs texte et mémo

Formats d'affichage spécifiques aux champs Texte et Mémo


@ Va afficher un espace si on a rien saisi
< Va afficher le texte en minuscules
> Va afficher le texte en majuscules
Pour les champs Numériques et Monétaires

Formats d'affichage spécifiques aux champs Numériques et Monétaires


Nombre général Affiche le nombre tel qu'il a été saisi
Monétaire Nombre avec séparateur de milliers + 2 chiffres après la virgule + symbole monétaire
Fixe Affiche au moins un chiffre + 2 chiffres après la virgule
Standard Nombre avec séparateur de milliers + 2 chiffres après la virgule
Pourcentage Multiplie le nombre par 100 et ajoute le symbole %
Scientifique Nombre au format décimal avec exposant

2.5 Le Masque de saisie


Le masque de saisie permet de faciliter la saisie dans un champ en forçant l'utilisateur à entrer les données selon un
format déterminé, les informations stockées dans la table auront le format défini dans le masque de saisie contrairement
au format d'affichage qui affectait seulement la façon dont les données contenues dans un champ allaient être affichées.
Le masque de saisie, comme le format d'affichage est constitué d'une combinaison de caractères :

Symbole Signification
0 Chiffre de 0 à 9 obligatoire
9 Chiffre ou espace facultatif
# Chiffre ou espace ou + ou -
L Lettre de A à Z obligatoire
? Lettre de A à Z non obligatoire
A Lettre ou chiffre obligatoire
a Lettre ou chiffre facultatif
& Caractère quelconque obligatoire
C Caractère quelconque facultatif
< Passe en minuscules
> Passe en majuscules
! Saisie à partir de la droite
Par exemple, si on veut saisir 5 chiffres obligatoirement pour un code postal, on utilisera : 00000, si on veut saisir une
suite de 3 chiffres et de 3 lettres : 000LLL, si on veut saisir un numéro de téléphone : 00-00-00-00-00, ou un nom de
Réalisé Par : M.IBRAHIMI INFO Gestion : 2ème Année MT, CG, TC, MC, GESTION PME/PMI Page : 20
famille dont la première lettre est toujours en majuscules : >L<????????????? (prévoir autant de ? que le nom peut
comporter de lettres)
La saisie du code CIN (code d’identité national) : L ?000000 (exemple : C 234677)
Première lettre obligatoire, deuxième lettre facultative et les six chiffres sont obligatoires.

2.6 Définition de relations entre tables


Si, par exemple, dans notre cas la table ABONNE et la table INSCRIPTION, la définition d'une relation par défaut entre
ces deux tables vous fait gagner du temps lorsque vous créez des formulaires ou des états qui relient les informations
de ces tables.
Pour définir des relations, vous faites correspondre les champs Clé primaire (IDAB) de la table parent (ABONNE) aux
champs correspondants de la table enfant (IDAB de la table INSCRIPTION) (terminologie utilisée dans le cas d'une
relation de un à plusieurs).
Pour voir les relations définies entre les tables, choisissez dans la barre d'outils le bouton Relations représenté par trois

petites tables liées .


Access affiche la boîte de dialogue Relations avec les représentations de toutes les tables, ainsi que les relations sous
forme de traits entre les tables.

2.6.1 Types de relations entre les tables.

 Relation un-à-plusieurs
Considérons notre base de données de suivi des inscriptions, dotée d'une table ABONNE et la table. Un abonné peut
passer plusieurs Inscriptions qu'il souhaite. Pour tout abonné représenté dans la table peuvent correspondre les
Inscriptions représentées dans la table INSCRIPTION. Ainsi, la relation entre la table et la table INSCRIPTION est une
relation un-à-plusieurs.
Pour représenter une relation un-à-plusieurs dans la structure de votre base de données, prenez la clé primaire sur le
côté « un » de la relation et ajoutez-la comme champ supplémentaire à la table sur le côté « plusieurs » de cette relation.
Dans ce cas, par exemple, vous ajoutez un nouveau champ; le champ IDAB (clé primaire) de la table, à la table
INSCRIPTION et vous l'appelez IDAB (clé étrangère). Access peut alors utiliser le numéro de la IDAB ABONNE dans la
table INSCRIPTION pour rechercher l’abonné approprié pour chaque inscription.
 Relation plusieurs-à-plusieurs
Considérez la relation entre la table Rubrique et la table ABONNE. Une Rubrique peut concerner plusieurs abonnés. En
revanche, un abonné peut s’inscrire dans plusieurs rubriques. Ainsi, vous pouvez avoir plusieurs enregistrements dans
la table ABONNE pour chaque enregistrement de la table Rubrique.
En outre, vous pouvez avoir plusieurs enregistrements dans la table Rubrique pour chaque enregistrement dans la table
ABONNE. Ce type de relation est appelée relation plusieurs-à-plusieurs car vous pouvez avoir plusieurs enregistrements
pour tout abonné, et plusieurs abonnés pour toute rubrique. Vous pouvez détecter les relations plusieurs-à-plusieurs
existantes entre les tables si vous prenez en considération les deux côtés de la relation.
Pour représenter une relation plusieurs-à-plusieurs, vous devez créer une troisième table, souvent appelée une table de
jonction (la table INSCRIPTION), qui décompose la relation plusieurs-à-plusieurs dans deux relations un-à-plusieurs.
Vous devez ajouter la clé primaire de chacune des deux tables dans la troisième table. Par conséquent, la troisième table
enregistre chaque occurrence ou instance de cette relation. Par exemple, la table Rubrique et la table ABONNE ont une
relation plusieurs-à-plusieurs qui est définie en créant deux relations un-à-plusieurs avec la table INSCRIPTION. Une
rubrique peut concerner plusieurs abonnés et chaque abonné peut s’inscrire dans plusieurs rubriques.

Réalisé Par : M.IBRAHIMI INFO Gestion : 2ème Année MT, CG, TC, MC, GESTION PME/PMI Page : 21
 Relation un-à-un
Dans une relation un-à-un, chaque enregistrement de la première table ne comporte qu'un seul enregistrement
correspondant dans la deuxième table, et chaque enregistrement de cette deuxième table ne comporte qu'un seul
enregistrement correspondant dans la première table. Ce type de relation n'est pas courant sachant que les informations
ainsi liées sont en général stockées dans la même table. Vous pouvez utiliser une relation un-à-un pour diviser une table
à plusieurs champs, pour isoler une partie d'une table pour des raisons de sécurité, ou pour stocker des informations ne
s'appliquant qu'à un sous-ensemble de la table principale. Lorsque vous identifiez une telle relation, les deux tables
doivent partager un champ commun.

2.6.2 Intégrité référentielle


C’est une propriété des relations évoquant la cohérence du contenu de la base de données, par exemple chaque
enregistrement de la table (enfant) INSCRIPTION fait référence à un enregistrement de la table (parent) ABONNE,
l'enregistrement référencé existe dans la table ABONNE. L'intégrité référentielle est un gage de cohérence du contenu
de la base de données.
Les systèmes de gestion de base de données (SGBD) permettent de déclarer des règles de maintien de l'intégrité
référentielle (contrainte). Une fois la contrainte déclarée, le SGBD refusera toute modification du contenu de la base de
données qui violerait la règle en question et casserait l'intégrité référentielle.
Par exemple : on définira qu'un abonné a un ou plusieurs inscriptions. Une contrainte d'intégrité référentielle interdira
l'effacement d'une inscription, tant que dans la base de données il existera au moins un abonné se référant à cet
inscription. Cette contrainte interdira également d'ajouter une inscription (enfant) si l’abonné (parent) n'est pas
préalablement enregistré dans la base de données.

Réalisé Par : M.IBRAHIMI INFO Gestion : 2ème Année MT, CG, TC, MC, GESTION PME/PMI Page : 22
3) Différentes Requêtes :
3.1 INTRODUCTION
Les requêtes vont servir à afficher uniquement certaines données contenues dans les tables selon certains critères. Elles
peuvent aussi faire des calculs sur vos données, ainsi que créer des sources de données pour les formulaires, les états
ou même d'autres requêtes (on peut faire une requête sur le résultat d'une autre requête). Elles servent encore à
modifier des tables existantes ou à en créer des nouvelles.
Il existe différents types de requêtes que nous allons détailler après :

Les requêtes de sélection : Les requêtes d’action :


 Simple  Ajout
 Paramétrée  Mise à jour
 Avec champ calculé  Création
 Avec regroupement  Suppression
 Avec ajout de champ  Création dynamique

Les requêtes sélection : posent des questions sur les données stockées dans les tables et renvoient une feuille de
réponses dynamique sans modifier les données. Une fois la feuille de réponse dynamique affichée, vous pouvez
examiner et modifier les données. Toute modification sera immédiatement enregistrée dans les tables source.
Exemple 1 : (les données de l’abonné)

 Nous avons un tableau composé de colonnes et de lignes, dans chaque colonne, on indique les champs qui vont
apparaître dans le résultat de la requête ou qui vont servir dans la requête, ici on veut la liste des abonnés habitant
CASA, on veut donc voir apparaître le champ IDAB,le champ NOM, le champ DATENAIS et le champ SEXE, le critère
de la requête va se faire sur le champ VILLE, on ajoute donc aussi ce champ.
 Pour ajouter un champ, on peut, soit le sélectionner dans la table et l'amener avec la souris sur une colonne (de la
grille d’interrogation), soit on clique sur la ligne "Champ", la liste de tous les champs s'affiche alors et on en
sélectionne un dans la liste.
 Un des champs proposé s’appelle '*', ce champ signifie "tous les champs de la table", si on choisit ce champ, tous les
champs de la table apparaitront dans le résultat de la requête, en plus des autres champs que vous aurez choisis.

Réalisé Par : M.IBRAHIMI INFO Gestion : 2ème Année MT, CG, TC, MC, GESTION PME/PMI Page : 23
 La ligne "Table" sert à sélectionner la table à laquelle appartient le champ sélectionné, dans notre cas, c’est la table
ABONNE.
La colonne "Tri" indique de quelle façon vont être triés les champs dans le résultat de la requête : il y a trois sortes de
tri : Croissant (de A à Z), Décroissant (de Z à A) et non trié. On a choisi ici de trier le résultat de la requête par NOM et
décroissant par DATENAIS. Le tri se fait toujours de gauche à droite : le résultat de la requête sera d'abord trié par NOM,
puis par DATENAIS.
La colonne "Afficher" indique si le champ doit être affiché ou non, ici on veut afficher le NOM et la DATENAIS de chaque
abonné habitant à CASA, mais on n’a pas besoin d'afficher, pour chaque abonné, la ville dans laquelle il habite, puisqu'il
s'agira toujours de CASA, on a donc désélectionné l'affichage du champ "VILLE".
Enfin la colonne "Critères" va indiquer le critère de la requête, on veut la liste des clients habitant CASA, le critère est
donc : le champ VILLE doit être égal à CASA, d'où le critère = "CASA".

Pour exécuter la requête, on clique sur l'icône !


3.2 Requêtes Sélection : Définition des critères de sélection
3.2.1 Opérateurs
On peut utiliser dans les requêtes les opérateurs suivants :
Opérateur Signification
= Egal
<> Différent
< Inférieur
> Supérieur
<= Inférieur ou égal
>= Supérieur ou égal
Access met à notre disposition d'autres opérateurs :
Opérateur Signification Exemple
Entre Sélectionne les enregistrements pour lesquels la Entre "A" et "C"
valeur d'un champ est comprise dans un Entre 10 et 20
intervalle de valeurs. Entre #01/01/99# et #31/12/99#
Sélectionne les enregistrements pour lesquels la
Dans valeur d'un champ est comprise dans une liste.
Dans ("RABAT";"CASA")
Sélectionne les enregistrements pour lesquels Est NULL
Est un champ est vide ou non Est pas NULL
Sélectionne les enregistrements contenant une
Comme donnée approximative.
Comme "rue*"
Sélectionne les enregistrements ne
Pas correspondant pas au critère
Pas Entre "A" et "C"

3.2.2 Les Fonctions


On peut intégrer des fonctions dans les critères de sélection. Access met à notre disposition un très grand nombre de
fonctions (pour en avoir la liste complète, consultez l'aide intégrée à Access). Ce sont les mêmes fonctions que celles qui
sont utilisés dans les contrôles des formulaires (et d’ailleurs dans tous les logiciels de la gamme Microsoft Office).
Par exemple, parmi ces fonctions, on trouve la fonction Mois ( ), à qui on passe une date en paramètre, cette fonction
renvoie le mois de cette date, par exemple Mois (#10/2/98#) renvoie 2. Une autre fonction, Date ( ) renvoie la date du
jour. On peut utiliser ces deux fonctions dans des critères de sélection :

Réalisé Par : M.IBRAHIMI INFO Gestion : 2ème Année MT, CG, TC, MC, GESTION PME/PMI Page : 24
Exemple 1 : Par exemple, pour obtenir la liste des inscriptions du mois d'octobre :

NB : Notez que pour faire référence au champ "DATEINS " dans la fonction Mois ( ), on n’a pas utilisé les crochets [ ].
On utilise les crochets lorsqu’on travaille avec un champ dont le nom comporte des espaces. Par extension et par mesure
de précaution, on les utilisera avec tout type de champ exemple : Mois([DATE Inscription])=10.

Exemple 2 : Ou pour obtenir la liste des inscriptions passées il y a moins d'un mois :

Il existe un très grand nombre de fonctions, pour en avoir la liste et la syntaxe, consultez l'aide intégrée à Access.

3.3 Requêtes paramétrées

Pour l'instant, les critères de chaque requête que nous avons fait étaient indiqués explicitement dans la requête.
Supposons maintenant que nous voulions faire une requête du type : « Liste de tous les abonnés qui habitent dans une
ville » mais qu’on veuille entrer nous-même la ville.
On ne connaît pas par avance la ville en question, et on ne va pas préparer autant de requêtes qu'il peut y avoir de villes
(on n'est pas sorti de l'auberge), la solution la plus simple est alors de demander à l'utilisateur (l'utilisateur, c'est celui
qui va utiliser votre requête plus tard) d'entrer la ville, et de faire la requête en fonction de ce qu'il a entré.
Pour faire cela, on procède ainsi :

Réalisé Par : M.IBRAHIMI INFO Gestion : 2ème Année MT, CG, TC, MC, GESTION PME/PMI Page : 25
Créez cette requête en mode création
 Affichez la grille d’interrogation
 Sélectionnez la table Abonné
 Faites glisser dans la grille d’interrogation les champs que vous souhaitez afficher dans la feuille de données
 Dans la zone critères du champ ID_V, entrez le texte suivant [Entrez le nom de ville]

 Cliquez sur ou sur


 Une boîte de dialogue apparaîtra pour indiquer la valeur du champ Ville
 Précisez cette valeur
 Cliquez sur OK
 Enregistrez la requête sous le nom Requête paramétrée

En général, dans une requête paramétrée, vous tapez le texte de l’invite entre crochets dans la ou les colonnes des
champs sur lesquels portent des critères de sélection au lieu de préciser n critères de sélection
Les opérations

Opérateur Signification
Compte Compte le nombre de valeurs
Dernier Valeur du dernier enregistrement
Ecartype Ecartype
Max Valeur la plus élevée
Min Valeur la plus faible
Moyenne Moyenne
Premier Valeur du premier enregistrement
Somme Total
Var Variance

Réalisé Par : M.IBRAHIMI INFO Gestion : 2ème Année MT, CG, TC, MC, GESTION PME/PMI Page : 26
3.4 Les calculs dans les requêtes
3.4.1 Insérer un champ calculé

 Affichez la grille d’interrogation avec les tables correspondantes qui seront utilisées dans la requête
 Insérez les deux champs ( IDAB, MTINS ) dans la grille d’interrogation
 Tapez dans une nouvelle colonne MT TTC : [MTINS]*1,2
En général, vous Précisez le nom du champ calculé suivi de l’expression correspondante sous la forme : Nom :
expression.

 Cliquez sur ou sur pour visualiser le résultat


 Enregistrez la requête sous le nom Requête calcul
Il est possible de poser des critères et d’effectuer des regroupements sur des champs calculés.

3.4.2 Effectuer un calcul statistique avec regroupement


Le calcul statistique peut porter sur tous les enregistrements ou sur un ensemble d’enregistrements sélectionnés
(exemple : MTINS moyen des INSCRIPTIONS de l’abonné ayant un identificateur choisi par l’utilisateur)
 Insérez le champ IDAB sur lequel repose des critères de sélection
 En mode Création, insérez le champ MTINS dans la requête, le champ MTINS sur lequel porte le calcul statistique

 Cliquez sur ou activez Affichage/Propriétés pour faire apparaître la ligne Opération


 Choisissez la fonction moyenne
 Enregistrez la requête

Réalisé Par : M.IBRAHIMI INFO Gestion : 2ème Année MT, CG, TC, MC, GESTION PME/PMI Page : 27
Effectuer un calcul statistique avec regroupement sans critère
Lorsque vous effectuez un calcul statistique par groupe d’enregistrements, trois cas peuvent se présenter.
Vous effectuez un calcul statistique par groupe d’enregistrements sans appliquer de critères de sélection.
Exemple : combien d’inscriptions a réalisé chaque abonné et combien est son chiffre d’affaire ainsi que la moyenne de
son chiffre d’affaire ainsi que le max de ses CA ?

Procédure
 Affichez la grille d’interrogation avec la table correspondante (Inscription)
 requête
 Insérez les champs (IDAB, MTINS, MTINS, MTINS, MTINS) dans la grille d’interrogation

 Cliquez sur ou Activez Affichage/Opérations pour faire apparaître la ligne Opération


 Choisissez la fonction REGOUPEMENT pour le champ IDAB, puis COMPTE, SOMME, MOYENNE, MAX pour le
champ MTINS

 Cliquez sur ou sur pour visualiser le résultat


 Enregistrez la requête

Réalisé Par : M.IBRAHIMI INFO Gestion : 2ème Année MT, CG, TC, MC, GESTION PME/PMI Page : 28
3.4.3 Créer une requête D’Analyse croisée
Access met à votre disposition un outil puissant pour combiner les données de plusieurs tables : les requêtes d’Analyse
croisée
On va appliquer une requête Analyse Croisée pour afficher la quantité commandée par article et par client
 Affichez la grille d’interrogation avec les tables correspondantes qui seront utilisées dans la requête
 Insérez les lignes de jointures entre les tables
 Activez Requête/Analyse croisée
Ou
Sélectionnez l’option Analyse croisée située dans la liste associée au bouton Type requête

 Insérez trois champs (IDINS, DateINS, MTINS) dans la grille d’interrogation


 Choisissez l’opération Regroupement pour les deux premiers champs
 Choisissez l’opération Somme pour le champ numérique
 Sur la ligne Analyse :
 Indiquez pour le champ IDAB que les valeurs vont constituer les en-têtes de ligne du tableau d’analyse croisée
 Indiquez pour le champ DATEINS que les valeurs vont constituer les en-têtes de colonne du tableau d’analyse
croisée
 Indiquez pour le champ MTINS que les valeurs vont constituer les en-têtes de valeurs sur lesquelles sont basés
les calculs du tableau

 Cliquez sur ou sur


 Enregistrez la requête sous le nom MTINS par IDAB et par DateINS

Réalisé Par : M.IBRAHIMI INFO Gestion : 2ème Année MT, CG, TC, MC, GESTION PME/PMI Page : 29
 Il est possible d’insérer plusieurs en-têtes de ligne mais un seul en-tête de colonne
 Une requête d’analyse croisée peut servir à l’élaboration d’un graphique
NB :
 Il est possible de modifier l’ordre d’apparition des colonnes en définissant des en-têtes de colonne
fixes (option En-tête de colonnes fixes de la commande Affichage - Propriétés de la requête).

3.5 Les requêtes action


Les boutons ci-dessous sont accessibles dans les Outils de requête qui apparaissent quand on édite une
requête.

La requête Sélection est le type de requête le plus courant. Elle


récupère des données issues dans une ou plusieurs tables, suivant
requête sélection
un ou plusieurs critères de sélection, et affiche les résultats sous
la forme d'une feuille de données.

Elle crée une nouvelle table reprenant totalement ou partiellement


requête création de table
les données d'autres tables

Elle apporte des changements globaux à un groupe


requête mise à jour d'enregistrements dans une ou plusieurs tables. Par exemple,
augmenter de 3 % les prix d'une catégorie d'article.

Elle ajoute un groupe d'enregistrements d'une table ou plusieurs à


requête ajout
la fin d'une autre table.

Elle supprime définitivement un groupe d'enregistrements d'une ou


requête suppression
plusieurs tables.

Réalisé Par : M.IBRAHIMI INFO Gestion : 2ème Année MT, CG, TC, MC, GESTION PME/PMI Page : 30
3.5.1 Requête Création (Archivage)
Créer une table à l’aide d’une requête
Les requêtes Création de table permettent de créer une nouvelle table à partir des enregistrements d’une table ou d’une
requête existante
Procédure
 Créer la requête ABONNE Casablancais en Mode création
 Activez Requête/ Création de table
 ou

 Cliquez sur l’outil puis vous sélectionnez Création de table


 Indiquez le nom de la nouvelle table ‘ABONNE CASA’
 Spécifiez si la nouvelle table sera créée sur la base de données en cours ou dans une autre base de données (dans
ce cas, vous devez spécifier le nom du fichier de la base de données)
 Ajoutez les champs de la table ABONNE et mettez le critère ‘CASA’ sous le champ ville
 Cliquez sur OK

 Cliquez sur pour exécuter la requête Création de table


 Fermez la requête sans l’enregistrer
En général, on peut enregistrer, si besoin, la requête qui nous permet de créer une requête
Création de table
 Consultez votre table que vous venez de créer sur l’onglet Tables

3.5.2 Requête suppression


Supprimer les enregistrements répondant aux critères
Les requêtes Suppression permettent de supprimer rapidement les enregistrements qui répondent aux critères posés

Procédure

 Affichez la grille d’interrogation avec la table correspondante (INSCRIPTION) qui sera utilisée dans la requête
 Insérez le champ IDINS
 Activez Requête/Suppression
Ou

 Cliquez sur puis vous sélectionnez Suppression


 Dans la ligne Critères, tapez 125 sur la colonne correspondante au champ IDINS

 Cliquez sur pour exécuter la requête Suppression


 Enregistrez, si besoin, la requête sous le nom Requête suppression
Résultat : l’enregistrement qui correspond au critère spécifié est supprimé

Réalisé Par : M.IBRAHIMI INFO Gestion : 2ème Année MT, CG, TC, MC, GESTION PME/PMI Page : 31
3.5.3 Requête Ajout
Ajouter des enregistrements
Les requêtes ajout permettent d’ajouter (avec ou sans critères) des nouveaux enregistrements d’une table existante à
une autre, c’est le mécanisme inverse de la requête suppression.

Procédure

 Affichez la grille d’interrogation avec la table correspondante (ABONNE) qui sera utilisée dans la requête

 Activez Requête/Ajout
 Choisissez la table ABONNE FEMININ (une copie de la table ABONNE sans enregistrement) dans la boîte de dialogue
Ajout
 Ajoutez tous les champs de la table ABONNE dans la grille d’interrogation
 Sous le champ SEXE mettez le critère ‘=F’, ainsi la table ABONNE FEMININ sera remplie d’enregistrements d’abonnés
de sexe féminin

 Cliquez sur pour exécuter la requête Ajout


 Enregistrez, si besoin, la requête sous le nom Requête Ajout enregistrements

3.5.4 Requête Mise à Jour


Mettre à jour certains enregistrements
Les requêtes Mise à jour sont utilisées pour modifier les valeurs de certains champs pour les enregistrements
sélectionnés.

Procédure (création d’une requête MAJ permettant de rendre MTINS qui est HT en TTC)
 Affichez la grille d’interrogation avec la table correspondante (INSCRIPTION) qui sera utilisée dans la requête

 Activez Requête/MISE A JOUR


 Ajoutez le champ MTINS de la table INSCRIPTION dans la grille d’interrogation
 Dans la zone critère mettez : [MTINS]*1,2

 Cliquez sur pour exécuter la requête Mise à jour


 Enregistrez, si besoin, la requête sous le nom Requête mise à jour MTINS TTC

Réalisé Par : M.IBRAHIMI INFO Gestion : 2ème Année MT, CG, TC, MC, GESTION PME/PMI Page : 32
V. SEQUENCE 5 : SQL
SQL (sigle de Structured Query Language, en français langage de requête structurée) est un langage informatique
normalisé servant à exploiter des bases de données relationnelles. La partie langage de manipulation des données de SQL
permet de rechercher, d'ajouter, de modifier ou de supprimer des données dans les bases de données relationnelles.

Outre le langage de manipulation des données, la partie langage de définition des données permet de créer et de modifier
l'organisation des données dans la base de données, la partie langage de contrôle de transaction permet de commencer
et de terminer des transactions, et la partie langage de contrôle des données permet d'autoriser ou d'interdire l'accès à
certaines données à certaines personnes.

Créé en 1974, normalisé depuis 1986, le langage est reconnu par la grande majorité des systèmes de gestion de bases de
données relationnelles (abrégé SGBDR) du marché.

1. Opérations relationnelles avec SQL


Cette section présente l’expression en SQL des opérations de l’algèbre relationnelle : projection, sélection, agrégats,
produits cartésiens et jointures Les exemples simples qui présentent les opérations relationnelles utilisent la base de
données « casse »
Base de données « casse »

Réalisé Par : M.IBRAHIMI INFO Gestion : 2ème Année MT, CG, TC, MC, GESTION PME/PMI Page : 33
1.1 PROJECTION (SELECT)

L’opération de projection consiste à sélectionner la (les) colonne(s) que l’on veut dans la table « résultat ». On spécifie
la liste des colonnes à inclure dans cette table derrière l’instruction SELECT en les séparant par des virgules. Si l’on désire
afficher toutes les colonnes, on les désigne par le caractère « * ».
Projection sur les colonnes ‘Nom’ et ‘Ville’ de la table ‘Personne’.
SELECT Nom, Ville
FROM personne ;

Projection sur tous les champs de la table ‘Personne’.


SELECT *
FROM personne ;

Les colonnes de la table « résultat » peuvent être renommées par le mot clé AS.
SELECT Ville AS City
FROM personne ;

Valeurs distinctes d’une colonne : Projection sur les valeurs distinctes du champ ‘Marque’ de la table ‘voiture’.
Une colonne « Salutations » ne devrait contenir que les valeurs normalisées « Madame »,« Monsieur », « Mademoiselle
». L’affichage des valeurs distinctes permet de lister les différentes valeurs prises par la colonne pour repérer
d’éventuelles incohérences comme la présence d’une valeur « Mr. », « M. », etc. Afin d’éliminer les doublons éventuels
des valeurs d’une colonne de la table « résultat », on fait précéder le nom de la colonne par le mot clé DISTINCT.

Réalisé Par : M.IBRAHIMI INFO Gestion : 2ème Année MT, CG, TC, MC, GESTION PME/PMI Page : 34
SELECT DISTINCT Marque
FROM voiture ;

Utilisation d’expressions pour créer une colonne


On rappelle qu’un grand principe en base de données est que l’on ne stocke pas dans une table ce qui peut être calculé. On évite
ainsi l’occupation de place inutile ainsi que les problèmes d’incohérence provoqués par la mise à jour des données.
Par exemple, si l’on dispose d’une colonne ‘prix’ et d’une colonne ‘quantité’, on ne stocke pas la colonne ‘chiffre d’affaire’ on
calcule ses valeurs à partir des colonnes précédentes (chiffre d’affaires = prix quantité). Cette manière de procéder sera plus «
coûteuse » en calcul et pourra éventuellement affecter les performances du système. Les valeurs des colonnes (colonnes) de la
table « résultat » peuvent être constituées par des expressions construites avec les opérateurs suivants :

Opérateurs d’expressions de SQL.

Création d’une colonne ’Prix_Euros’ dans la table ‘vente’ contenant le prix de vente en euros.
SELECT Prix, DateVente, (Prix / 6.5596) AS Prix_Euros
FROM vente ;

Transformation d’une colonne ‘Nom’ de la table ‘Personne’ en majuscules.


SELECT UPPER(Nom) AS NomMajuscule
FROM personne ;

Réalisé Par : M.IBRAHIMI INFO Gestion : 2ème Année MT, CG, TC, MC, GESTION PME/PMI Page : 35
Extraction du mois de la colonne 'DateVente' de la table 'Vente'.
SELECT MONTH(DateVente) AS Mois
FROM vente ;

Utilisation de fonctions statistiques sur toutes les valeurs d’une table


SQL ne possède pas d’instruction de « structuration » et ne permet donc pas de réaliser des boucles. Il possède des fonctions
simples de traitement des données d’une colonne ; les calculs plus complexes seront réalisés à l’aide d’un langage de
programmation comme on l’a indiqué précédemment. Les colonnes (colonnes) de la table « résultat » peuvent être constituées
de résultats de fonctions statistiques intégrées à SQL. Voici une liste (non exhaustive) des opérateurs statistiques de SQL
Opérateurs statistiques de SQL :

Remarque : Les fonctions statistiques s’appliquent à l’ensemble des données d’une colonne (sauf pour la fonction COUNT qui
s’applique aux lignes de la table entière). Pour toutes ces opérations, la table« résultat » contiendra une seule ligne et souvent une
seule colonne.

Calcul de la moyenne des prix de vente pour la table ‘vente’.


SELECT AVG(Prix) AS PrixMoyen
FROM vente ;

Calcul du nombre de personnes (le nombre de lignes en réalité) de la table ‘personne’.


SELECT COUNT(*) AS NombrePersonne
FROM personne ;

Réalisé Par : M.IBRAHIMI INFO Gestion : 2ème Année MT, CG, TC, MC, GESTION PME/PMI Page : 36
Dans le cas de la fonction COUNT, on ne spécifie pas la colonne sur laquelle s’applique la fonction puisqu’il s’agit de la
table entière.

1.2 SÉLECTION AVEC RESTRICTION (WHERE)

L’opération de sélection (avec restriction) consiste à indiquer un ou plusieurs critères pour choisir les lignes à inclure
dans la table « résultat ». Ces critères utilisent évidemment le contenu des valeurs des colonnes. Le critère de sélection
est indiqué à la suite du mot clé WHERE. Il est constitué d’expressions de conditions composées à l’aide d’opérateurs de
comparaison et combinées à l’aide de connecteurs logiques.
Voici la liste des opérateurs de comparaison classiques permettant de constituer les expressions en SQL, la liste des
opérateurs de comparaison spécifiques à SQL (voir tableau 4.4), et la liste des opérateurs et connecteurs logiques

Opérateurs de comparaison de SQL.

Extraction des enregistrements de la table vente dont le prix est supérieur à 50 000.
SELECT *
FROM vente
WHERE Prix > 50 000 ;

Opérateurs de comparaison spécifiques à SQL permettant de constituer des expressions.

Extraction des voitures blanches SELECT *


FROM voiture
WHERE Couleur IN ("Blanc","Rouge") ;

Réalisé Par : M.IBRAHIMI INFO Gestion : 2ème Année MT, CG, TC, MC, GESTION PME/PMI Page : 37
Extraction des personnes dont l’âge est compris en 40 et 60.
SELECT *
FROM personne
WHERE Age BETWEEN 40 AND 60;

Opérateurs et connecteurs logiques de SQL permettant de constituer des expressions.

Extraction des voitures de couleur « Blanche » ou de marque« Peugeot ».


SELECT *
FROM voiture
WHERE Couleur="Blanche" OR Marque="Peugeot" ;

Extraction des personnes n’habitant pas Paris.


SELECT *
FROM personne
WHERE NOT (Ville=‘Paris’);

1.3 AGRÉGATS OU GROUPAGE (GROUP BY)


Les opérations d’« agrégation » ou de « groupage » regroupent les lignes d’une table par valeurs contenues dans une
colonne. On applique généralement des opérations de type statistique sur les « sous-tables » ainsi créées. Pour réaliser
cette opération avec SQL, on utilise le mot clé GROUP BY suivi du nom de la colonne sur laquelle s’effectue l’agrégat.
Affichage des différentes marques de voitures de la table ‘voiture’.
SELECT Marque
FROM voiture
GROUP BY Marque ;

Réalisé Par : M.IBRAHIMI INFO Gestion : 2ème Année MT, CG, TC, MC, GESTION PME/PMI Page : 38
On obtient dans ce cas le même résultat que si l’on avait utilisé le mot clé DISTINCT vu précédemment. L’utilisation
courante de cette opération est d’appliquer en une seule instruction les fonctions statistiques déjà abordées aux
différents sous-ensembles d’une table ainsi constitués.
Calcul du nombre de voitures des différentes marques de la table ’voiture’.
SELECT Marque, COUNT(*) AS Compte
FROM voiture
GROUP BY Marque ;

Calcul de la moyenne d’âge par ville à partir de la table ‘personne’.


SELECT Ville, AVG(Âge) AS Moyenne_Age
FROM personne
GROUP BY Ville ;

Ville Moyenne_Age

Bordeaux 50.0000

Lille 20 000

Paris 70.5000

Restriction sur le résultat


Le résultat de l’opération de groupage peut lui-même être filtré : c’est-à-dire que l’on effectue une sélection des lignes
par rapport au contenu des colonnes obtenues dans la table « résultat » précédente. En pratique, on filtre sur le résultat
des opérations statistiques appliquées aux sous-ensembles définis par le groupage.
On reprend l’exemple précédent qui a permis de calculer le nombre de voitures par marques.
On suppose que l’on élimine du résultat les marques dont on possède moins de deux voitures en considérant que ces
marques ne sont pas représentatives du parc.
Calcul du nombre de voitures par marque de la table ‘voiture’ dont le nombre est supérieur à 1.

SELECT Marque, COUNT(*) AS Compte


FROM voiture
GROUP BY Marque
HAVING COUNT(*) > 1;
Réalisé Par : M.IBRAHIMI INFO Gestion : 2 ème
Année MT, CG, TC, MC, GESTION PME/PMI Page : 39
Remarque
Le mot clé HAVING permet d’effectuer une sélection sur le résultat de l’opération de groupage. Le mot clé WHERE opère
une sélection sur les éléments (lignes) de la table avant l’opération de groupage.
Calcul du nombre de voitures par marque de la table ‘voiture’ dont la couleur est« Rouge ».
SELECT Marque, COUNT(*) AS Compte
FROM voiture
WHERE NOT (Couleur=‘Rouge’)
GROUP BY Marque ;

1.4 REQUÊTES SUR PLUSIEURS TABLES


Lorsque l’on utilise plusieurs tables dans une requête SQL, il peut exister une ambiguïté dans les expressions sur les
noms de colonnes. En effet, deux tables peuvent avoir une colonne de nom identique. Pour cette raison, on préfixera le
nom de la colonne par le nom de la table. Pour des questions de lisibilité, il est préférable de le faire systématiquement pour
toutes les requêtes même si ce n’est pas absolument nécessaire.
Qualification des attributs par leur table d’appartenance.
SELECT voiture.Marque, voiture.Couleur
FROM voiture ;

Cette notation peut devenir rapidement fastidieuse si le nombre de tables est élevé et si leurs noms sont longs. Dans ce
cas, on désigne la table par un alias plus commode, qui peut être réduit à une simple lettre, plutôt que par son nom
complet. L’alias est indiqué simplement à la suite du nom de la table ou à l’aide du mot clé AS qui est optionnel.
Qualification simplifiée des attributs par leur table d’appartenance.
SELECT Vo.Marque, Vo.Couleur
FROM voiture AS Vo;

Réalisé Par : M.IBRAHIMI INFO Gestion : 2ème Année MT, CG, TC, MC, GESTION PME/PMI Page : 40
2. CAS1 : société Colorado avec solution (Page 13) suite de la solution
Modèle Relationnel (MLD) :
ZONES RESIDENCE (Id_Z, Nom, Taux Résidence) ;
Rubrique (IdR, Libellé, Type, Taux SB) ;
Cotisation (Id_C, Libellé, Taux SB)
EMPLOYES (Id_EMP, NomEMP, SAL BASE, CADRE #id_Z1) ;
Affecter 1 (Id_A1, mois, #Id_EMP1, #Id_R1) ;
Affecter 2 (Id_A2, mois, #Id_EMP2, #Id_C2) ;
3) Code SQL de création de la table : EMPLOYES

CODE SQL DE CREATION DE TABLE


Create table EMPLOYES (
Id_EMP varchar(4) Not Null Primary Key,
NomEMP varchar (20),
SALBASE money,
CADRE varchar(20),
Id_Z1 varchar(4) NOT null,
Foreign key (Id_Z1) references ZONESRESIDENCE (Id_Z));

Réalisé Par : M.IBRAHIMI INFO Gestion : 2ème Année MT, CG, TC, MC, GESTION PME/PMI Page : 41
VI. SEQUENCE 6 : SAGE COMPTABILITE 100

Objectif : comptabilisation des opérations courantes sous Sage 100.

Réalisé Par : M.IBRAHIMI INFO Gestion : 2ème Année MT, CG, TC, MC, GESTION PME/PMI Page : 42
Chapitre 1 – Généralités et installation

Leçon 1 : Démarrage du programme Comptabilité


1. Utilisation de SAGE comptabilité 100 au sain des sociétés marocaines : Configuration de SAGE 100
Sage Comptabilité est un progiciel destiné à la réalisation de toutes les opérations comptables :
 Création d'un plan comptable,
 Gestion de la comptabilité générale,
 Gestion de la comptabilité tiers,
 Gestion de la comptabilité analytique,
 Gestion du reporting,
 Gestion budgétaire,
 Gestion des devises,
 Règlements des tiers, relances clients et relevés tiers,
 Rapprochement bancaire,
 Transfert de données vers d'autres logiciels et communication client/expert-comptable,
 Recherche d'écritures,
 Gestion d'écritures d'abonnement,
 Édition des états comptables,
 Déclaration de TVA.
Il appartient à la famille des programmes de gestion Sage Lignes 30 et 100 avec la Gestion commerciale, la Paie, les
Immobilisations, les Moyens de paiements et le logiciel de communication bancaire Telbac.

1.1 Installation du progiciel Sage comptabilité 100


1.1.1 Dossier d’installation et processus d’installation

Figure 2.1 : Dossier d’installation SAGE 100

Le fichier « setup » permet de lancer l’installation. Le fichier Serial contient les codes d’activation des programmes de
la famille SAGEErreur ! Signet non défini. 100

Réalisé Par : M.IBRAHIMI INFO Gestion : 2ème Année MT, CG, TC, MC, GESTION PME/PMI Page : 43
1.1.2 Processus d’Installation

Réalisé Par : M.IBRAHIMI INFO Gestion : 2ème Année MT, CG, TC, MC, GESTION PME/PMI Page : 44
Puis on continue par des simples clics sur suivant jusqu’à fin d’installation

NB : on assiste en classe les étapes d’installation et mise en marche du logiciel


Pour refermer le programme, sélectionnez la commande Fichier / Quitter.
Vous pouvez aussi taper :
 CTRL + Q ou
 ALT + F4.

Réalisé Par : M.IBRAHIMI INFO Gestion : 2ème Année MT, CG, TC, MC, GESTION PME/PMI Page : 45
Leçon 2 – Paramétrage de la société
1. Création de votre société : Création des fichiers de travail
L’objectif de cette leçon est de vous permettre de créer le fichier comptable de votre société, à l’aide
d’un assistant.
Pour créer votre société, Sage Comptabilité vous guide au travers d’un
assistant.
Après avoir démarré SAGE COMPTABILITE 100
Lancez la création de votre société en cliquant sur le bouton Nouveau
fichier de la barre d’outils Standard ou en sélectionnant la commande
Fichier / Nouveau.
 Raison sociale de la société

Saisie des données de la société

Réalisé Par : M.IBRAHIMI INFO Gestion : 2ème Année MT, CG, TC, MC, GESTION PME/PMI Page : 46
Suite de la Saisie des données de la société

Choix de la durée de l’exercice comptable

Réalisé Par : M.IBRAHIMI INFO Gestion : 2ème Année MT, CG, TC, MC, GESTION PME/PMI Page : 47
Choix de la 3ème Option1
Puis on suit les étapes de l’assistant jusqu’à l’étape de l’enregistrement du fichier
comptable qui sont des étapes relativement simples

2. Paramétrage du fichier comptable d’une société (marocanisation des comptes) :

A
près avoir construit le fichier comptable de votre société, il vous est intéressant de procéder à
l’importation des comptes du plan comptable marocain, pour cela on va utiliser le fichier
comptable ELYA.MAE se situant CD d’accompagnement du présent ouvrage :
A. Méthode 1 : Etapes pour exporter le plan comptable et le réimporter dans une nouvelle société :

a. Sur le fichier ELYA.MAE : Créer un format d'import / export paramétrable :

 Menu Fichier/Format Import/Export paramétrable ...


 Dans la fenêtre de sélection, cliquer sur "Nouveau"
 Taper le nom du format, par exemple "Format export PCG", et Enregistrer
La fenêtre de création du format s'ouvre;

 - dans le menu "Type de données", sélectionner "Comptes généraux/analytiques"


 - insérer les champs à exporter en les sélectionnant dans la liste déroulante en bas à gauche:
o Numéro compte
o Intitulé
o Classement
o Type de compte
o Type
 - Fermer la fenêtre (clic sur la croix en haut à droite de la fenêtre)
b. Sur le fichier ELYA.MAE : Exporter le plan comptable de l'ancienne société :

1
Cet option permet à l’utilisateur la création d’un fichier comptable vide de tout élément de structure.
Réalisé Par : M.IBRAHIMI INFO Gestion : 2ème Année MT, CG, TC, MC, GESTION PME/PMI Page : 48
 Menu Fichier / Exporter / Format paramétrable ...
 Sélectionner le Format que vous avez créé à l'étape 1
 Taper le nom du fichier xxxxxx.txt qui sera exporté
 Enregistrer
 Sélectionner Type de comptes "Généraux" puis OK
c. Sur le nouveau fichier créé : Importer le plan comptable dans la nouvelle société :

 Menu Fichier / Importer / Format paramétrable ...


 Sélectionner le Format que vous avez créé à l'étape 1
 Sélectionner le fichier .txt qui a été exporté
 Cliquer sur Ouvrir
 L'import est réalisé !
Cette procédure peut être utilisée pour l'import/export des tiers, des écritures comptables et analytiques
en comptabilité et des fichiers clients/fournisseurs, des articles, documents des ventes et achats en
gestion commerciale.

B. Méthode 2 : Importation des comptes du PCGM du fichier ELYA.MAE au nouveau fichier de société :

 Sur le nouveau fichier créé


 Utiliser le menu Structure / Fusion…

Sachant qu’on peut fusionner aussi la liste des éléments suivants :

3. La fenêtre de travail Sage Comptabilité :

Réalisé Par : M.IBRAHIMI INFO Gestion : 2ème Année MT, CG, TC, MC, GESTION PME/PMI Page : 49
Les différentes parties de cette fenêtre sont les suivantes :
 Barre de titre rappelant le nom du programme ainsi que le fichier de travail ouvert.
 Barre des menus donnant accès à toutes les fonctions du programme.
 Barre d’outils Standard (en haut) permettant de lancer toutes les fonctions communes aux
applications Sage.
 Barre d’outils Navigation (en bas) permettant de lancer toutes les fonctions de base : création,
consultation, modification et suppression d’éléments, recherche, etc.
 Barres verticales dont les boutons permettent de lancer les principales fonctions de l’application
en cours. Un clic sur les titres des barres donne accès aux fonctions regroupées par centres
d’intérêt.
Ces barres peuvent être masquées pour agrandir la zone de travail.
 Espace de travail dans lequel apparaissent toutes les fenêtres ouvertes par les fonctions du
programme.
 Fenêtre de travail ouverte.
 Barre d’état, en bas de l’écran, informant sur certaines opérations en cours et en particulier sur
la monnaie courante.

Réalisé Par : M.IBRAHIMI INFO Gestion : 2ème Année MT, CG, TC, MC, GESTION PME/PMI Page : 50
Leçon 3 – Création des éléments comptables (code journaux, taux taxes, plan
tiers…..)
Objectif : L’objectif de cette leçon est de créer les éléments comptables nécessaires à votre gestion.

1
Création du fichier
comptable de la
société

6 2
Ecriture des Importation des
journaux comptes PCGM ...

3
5
Création des Tiers Création des Codes
Journaux

4
Création des Taux
de Taxes

Figure 2.2 : Etape de préparation d’un fichier comptable sous SAGE 100

1. Création des Codes Journaux


 Utiliser le menu Structure / Codes Journaux…
 Puis cliquer dans la fenêtre ouverte avec bouton droit de la souris et choisir la commande « Ajouter un nouvel
élément »

 On va appliquer les consignes du tableau suivant :


Sachant que les codes journaux désignent les Flux d’opérations susceptible d’être exécutées au sein de la comptabilité
de la société ;

Réalisé Par : M.IBRAHIMI INFO Gestion : 2ème Année MT, CG, TC, MC, GESTION PME/PMI Page : 51
Compte
Type du Cod Intit Numéro Rattacheme Rapproc
trésoreri
journal e ulé tation nt hement
e
Sur
En
compte
Ban Manuell Contreparti
Trésorerie Bq 5141 De
que e e
trésorer
des2 ….
ie
En
Pas de
Contreparti
Trésorerie Cais Caisse Manuelle 5161 Rapproche
e
ment
des ….
Achats Ach Achat Manuelle
Ventes Vte Vente Manuelle
Général OP3 OP Manuelle

2. Création des Taux de Taxes


 Utiliser le menu Structure / Taux de Taxes
 Puis cliquer dans la fenêtre ouverte avec bouton droit de la souris et choisir la commande « Ajouter un nouvel
élément »
 On aura la fenêtre suivante :

 On ajoute les taxes suivantes :

Code Taxe R20 R14 F20

Sens Déductible Déductible Collectée


E TVA REC / E TVA REC /
Intitulé E TVA FAC 20
CH 20 CH 14
3455214 (à
Compte taxe 34552 4455
ajouter)
TVA/
Type Taxe TVA/débit TVA/débit
Encaissement...
Taux % 20 14 20
Numéro (les
6111 7111
comptes à 61425
6121 7121
rattacher)

2
Cochez la case d’option En contrepartie des règlements enregistrés afin qu’une ligne de règlement soit générée pour chaque
écriture enregistrée dans le journal.
3
Opérations diverses
Réalisé Par : M.IBRAHIMI INFO Gestion : 2ème Année MT, CG, TC, MC, GESTION PME/PMI Page : 52
61234

3. Création des tiers


 Pour que SAGE 100 reconnait les compte tiers à la marocaine il faut lui configurer les comptes pour cela on procède
ainsi :
• Utiliser le menu Fichier / A propos de votre société
• Dans la fenêtre obtenue choisir « Options / Type tiers »
• Puis configurer les fournisseurs et clients successivement à :

Le compte 3421ZZZZZZZZZ signifie que chaque client aura un code compris entre 34210 ET 3421999999999
Ajout d’un Client :
 Utiliser le menu Structure / Plan tiers
 Puis cliquer dans la fenêtre ouverte avec bouton droit de la souris et choisir la commande « Ajouter un nouvel
élément »
 Puis remplir les données comme suit :

4
Ce sont des comptes du plan comptable à qui s’applique le taux taxe indiqué
Réalisé Par : M.IBRAHIMI INFO Gestion : 2ème Année MT, CG, TC, MC, GESTION PME/PMI Page : 53
Le premier volet, Identification, permet d’enregistrer les informations d’identification du tiers. Ci-après
un exemple de fiche client.
Enregistrez les valeurs de l’un de vos comptes clients dans les zones :
 N° compte : c’est le numéro ou la référence que vous allez attribuer à votre client. Par défaut,
le programme propose une numérotation manuelle (option Fichier / A propos de… / Options /
Type tiers). Cette zone n’est plus modifiable dès que le compte est enregistré : si vous avez fait
une erreur, il faut supprimer le compte (à condition qu’il n’ait pas été mouvementé) et le ressaisir.
Ce numéro de compte est unique.
 Type : zone à liste déroulante permettant de sélectionner le type de tiers en cours de saisie
(client, fournisseur, salarié ou autre). Cette zone s’estompe et n’est plus modifiable dès que le
compte est enregistré.
 Intitulé : nom de votre tiers.
 Classement : zone servant au classement de la liste des tiers et reprenant par défaut les 17
premiers caractères de l’intitulé (modifiable).
 Compte collectif rattaché : zone à liste déroulante dans laquelle il faut choisir le compte collectif
correspondant au type de tiers en cours de saisie. Il est possible de créer un nouveau compte en saisissant
son numéro dans cette zone : un message de confirmation vous demandera de valider cette création.
 Qualité : renseignez ici la qualité du tiers (Monsieur, Madame…) ou la forme de la société Entreprise
(SARL, EURL…).
 Contact : nom de votre principal contact dans l’entreprise tiers.
 Adresse, Complément, C.P. (code postal), Ville, Région, Pays : zones destinées à
l’enregistrement des coordonnées du tiers.
 N° Siret, NAF (ou Code APE), N° identifiant : l’intitulé de ces zones est représentatif des données
qu’elles doivent contenir. Le programme contrôle la validité du numéro de Siret (vous pouvez passer outre
le message d’alerte).
 Télécommunication : ensemble de zones permettant la saisie des informations permettant de joindre
le siège du tiers.

Réalisé Par : M.IBRAHIMI INFO Gestion : 2ème Année MT, CG, TC, MC, GESTION PME/PMI Page : 54
Volet Contacts d’une fiche client
Cette fenêtre permet d’enregistrer les différents contacts auprès du client.

Volet Complément d’une fiche tiers


Ce volet est essentiel pour la comptabilisation des mouvements passés sur le compte en cours de
saisie.
C’est en particulier le cas des conditions de règlement.

Les zones présentant des particularités sont les suivantes :


 Devise Cette zone sert à mentionner la devise du tiers, s’il s’agit d’un client à l’exportation. Si
le tiers utilise la même devise que vous, laissez la valeur Aucune.
 Conditions de règlement Cet ensemble de zones permet de paramétrer les conditions de
règlement autorisées au client. Saisissez les valeurs suivantes dans les zones successives :
 Equilibre : laissez la valeur proposée par défaut.
 Nombre de jours : saisissez 30.
 Conditions de règlement : sélectionnez Fin mois.
 Jour de tombée : (zone Le) laissez vide.
 Mode de règlement : sélectionnez Chèque.

Réalisé Par : M.IBRAHIMI INFO Gestion : 2ème Année MT, CG, TC, MC, GESTION PME/PMI Page : 55
Chapitre 2 – Gestion courante
Leçon 4 – Saisie Et Mise A Jour Des Ecritures Journaux (saisie d’une
facture ….)

Cette leçon donne accès aux compétences suivantes :


1. Saisie d’une facture
2. Saisie par pièce
3. Saisie du règlement des factures
4. Interrogation et lettrage des comptes
5. Personnalisez vos documents comptables
6. Relance client
7. Etats comptables standards
8. Etats tiers

1. Saisie d’une facture


L’objectif de cette leçon est de vous montrer les différents modes de saisie des factures : classique ou
avec l’aide d’un modèle.
a) Information sur l’état d’un journal
 Activer le menu "Traitement/Saisie des journaux"
 La fenêtre suivante apparaît :

b) Saisie des écritures


Ouverture du journal
 Activer le menu "Traitement / Saisie des journaux"
 Sélectionner le mois et le journal à saisir, puis effectuer un double clic

c) Masque de Saisie

Automatiqu
e et N° du
modifiable N° du
compte
si l’option compte
général
continue est de tiers
Réalisé Par : M.IBRAHIMI INFO Gestion: 2ème Année MT, CG, TC, MC,
 GESTION PME/PMI Page : 56
activée
 Il est possible soit de saisir le numéro du compte complètement, soit de saisir le début du numéro de compte puis de
taper sur la touche de tabulation. Une fenêtre apparaît, il est alors possible de choisir le compte exact
 Cette zone n’est renseignée que dans le cas d’un compte auxiliaire

d) Saisie d’une Ligne


La saisie se fait au-dessus de la barre de titre

Où le compte 7111 désigne la vente de marchandise, le compte 3421001 désigne le compte du client ‘ALAMI’
 Pour passer d’une zone de saisie à une autre, utiliser la touche de tabulation.
 Pour saisir une autre ligne, utiliser la touche "Entrée"

e) Personnalisation de la fenêtre de saisie du journal


Si les colonnes Code taxe et N° Facture n’apparaissent pas dans l’écran de saisie, il est nécessaire de les afficher. Pour
cela, utilisez l’une des méthodes suivantes :
 Lancez la commande Fenêtre / Personnaliser la liste,
 Ouvrez le menu contextuel et sélectionnez la commande Personnaliser la liste.
Une fenêtre de paramétrage s’ouvre.

Procédez comme suit pour ajouter ces deux nouvelles colonnes :


 Dans la liste de gauche, cliquez sur l’intitulé de la colonne N° Facture.
 Cliquez sur le bouton Ajouter.
 Faites de même pour la colonne Code taxe.
 Cliquez sur le bouton OK
f) Correction d’une Ligne
 Cliquer sur la ligne à corriger
 Effectuer la correction dans la zone de saisie
 Mettre fin à la correction en appuyant sur la touche "Entrée"

g) Suppression d’une Ligne

Réalisé Par : M.IBRAHIMI INFO Gestion : 2ème Année MT, CG, TC, MC, GESTION PME/PMI Page : 57
 Cliquer sur la ligne à supprimer
 Effectuer un clic droit de la souris. Choisir l’option "Supprimer l’élément sélectionné"

h) Appel du compte de TVA


 Après avoir saisi la première ligne concernant le compte 7111 Vente Marchandise, en deuxième ligne du journal on
peut appeler le compte 4455 Etat Tva Facturée qui va s’occuper tout seul de comptabiliser en crédit la Tva Encaissée –il
suffit de taper 4455 puis Tabulation- voir si dessus :

Cela est dû au fait que le compte 7111 est rattaché au compte de Tva facturée –préalablement créée- 4455
 Rappelant que l’appel à la troisième ligne du compte banque 5141 poussera ce dernier à jouer le rôle d’équilibrage
des montants « l’application de la loi de partie double »

i) CLÔTURE D’UN JOURNAL


Cette opération valide le brouillard et le transforme en journal définitif
 Activer successivement le menu "Traitement", puis l'option "Clôture des journaux"
 L’écran suivant apparaît :

 Cliquer sur le bouton suivant, l’écran suivant apparaît

Réalisé Par : M.IBRAHIMI INFO Gestion : 2ème Année MT, CG, TC, MC, GESTION PME/PMI Page : 58
Sélectionner le
journal qui doit
être clôturé

Saisir la date
limite de
clôture

j) MODÈLE DE SAISIE Création d’un Modèle


 Activer successivement le menu "Structure", "Modèle" puis l’option "Modèle de saisie"
 Effectuer un clic droit de la souris. Choisir l’option « Ajouter un nouvel élément »
 La fenêtre suivante apparaît :

Saisir
l’intitulé dans
la zone
correspondan
te puis dans la
zone Type
indiquer le
 Après avoir tabulé les boutons suivants apparaissent type du
Saisie paramétrage : permet d’obtenir de l’aide sur le journal
paramétrage

Répétition : permet de reprendre la valeur inscrite à la


ligne précédente

Équilibre : permet de reprendre automatiquement le solde


de la pièce

Calcul : permet de calculer un montant en appliquant le


paramétrage précisé dans un autre programme

Saisie manuelle : permet à l’utilisateur de saisir une valeur

Réalisé Par : M.IBRAHIMI INFO Gestion : 2ème Année MT, CG, TC, MC, GESTION PME/PMI Page : 59
Saisie fonction : appelle une des fonctions préenregistrées
permettant la reprise automatique d’une information
saisie sur une autre ligne

Incrémentation : permet d’incrémenter, dans la même


colonne, la valeur de la ligne précédente

k) Utilisation d’un modèle de saisie


 Activer successivement le menu "Traitement", puis l'option "Saisie des journaux"
 Sélectionner le mois et le journal à saisir, puis effectuer un double clic

 Cliquer sur l’icône puis sélectionner le modèle approprié

l) DÉCLARATION DE TVA
 Activer successivement le menu "État", puis l'option "Déclaration de taxes"
 La fenêtre suivante apparaît

 Cocher la case "Détail des écritures"


 Lorsque l’impression est effectuée, le programme propose de mettre à jour la comptabilité en passant l’écriture
correspondante. Cliquer sur "Oui" puis compléter la fenêtre qui apparaît.

1.1.3 Etat de Sortie


Le menu Etat offre des gammes d’Etats de sortie synthétiques destinés à l’impression et à l’archivage tel que :
Etat / Bilan compte de résultat : permet d’afficher le bilan d’une période précise
Etat / Balance des comptes : permet d’afficher la balance d’une période précise
Etat / Déclaration Taxes des comptes : permet d’afficher la déclaration Taxe d’une période précise

Réalisé Par : M.IBRAHIMI INFO Gestion : 2ème Année MT, CG, TC, MC, GESTION PME/PMI Page : 60
2. Interrogation et lettrage des comptes
Le lettrage est une opération comptable qui consiste à rapprocher des montants dans un compte de tiers (la classe
4).
En général, sont lettrés les comptes clients ainsi que les comptes fournisseurs. Cette manipulation comptable
présente un intérêt indéniable : la vérification du règlement effectif des factures émises ou reçues.
Le lettrage des comptes clients et fournisseurs peut s’effectuer de manière automatique ou manuelle.
L’objectif de cette leçon est triple :
 Obtenir la situation d’un compte tiers.
 Associer une facture et son règlement, autrement dit, effectuer un lettrage.
 Imprimer des documents et des états relatifs aux tiers.
Ouvrez le journal des achats ACH de mars 06

Dans cette fenêtre : Faites un double-clique sur la troisième ligne, celle comportant le compte de tiers
SMAIL et d’un montant créditeur de 12000, Vous voyez apparaître la fenêtre Interrogations tiers.

Réalisé Par : M.IBRAHIMI INFO Gestion : 2ème Année MT, CG, TC, MC, GESTION PME/PMI Page : 61
3. Cas Pratique de la société NEXANS
Le présent œuvre constitue un cas pratique et réel de la comptabilisation des opérations comptables de la société
NEXANS allant de la création de la société jusqu’aux travaux de fin d’exercice

Enoncé
Filiale du groupe NEXANS, depuis 1947, NEXANS Maroc s’est imposée sur le marché marocain en tant que leader dans
le secteur du matériel électrique. Elle est également très active dans le marché maghrébin et africain. Opérant dans les
marchés d’infrastructures, de l’industrie et du bâtiment, NEXANS Maroc combine un savoir-faire et des compétences
spécialisées dans différents domaines lui permettant de mettre en œuvre une gamme de produits diversifiés et des
solutions clés en main.
Fiche descriptive de la société NEXANS Maroc : on conçoit l’exercice du 01/01/2013 au 31/12/2013

LOGO

Raison sociale * NEXANS Maroc

Effectif + de 850 personnes

Statut juridique Société Anonyme

Bd Ahl Loghlam- Sidi Moumen


20 400 Casablanca
Contact presse Maroc
Téléphone: +212 0 22 76 63 00
Email: Contact.presse@nexans.com

Activité * Industrie et du bâtiment

Secteur d’activité Infrastructures

CÂBLES DE
BÂTIMENTS
CÂBLES TÉLÉCOM
Câbles d'ascenseurs
 Câbles télécoms
Produits fabriqués Fils & câbles 1kV extérieurs
 Câbles de liaison télécoms
Fils et câbles <1kV  Câbles téléphoniques
pour équipement
Fils & câbles pour  Systèmes télécoms
installations BT

Introduisez dans le journal de la société NEXANS Maroc les opérations suivantes :

 Bilan d'ouverture

Actif Passif
Actif immobilisé - Capital social 2.000.000

Réalisé Par : M.IBRAHIMI INFO Gestion : 2ème Année MT, CG, TC, MC, GESTION PME/PMI Page : 62
Emprunt auprès
des
500.000
Etablissements
- de Crédits
Actif circulant Passif circulant
Trésorerie actif
-
(banques) 2.500.000 Trésorerie passif
Total 2.500.000 Total 2.500.000

 Portefeuille
• Le 06-02-13 : facture « n°HC100 » paiement par CB5 n° 565 relative à l’acquisition d’une machine, montant HT
150.000 TVA 20%, les frais de transport de 570 TTC TVA/Port à 14% ;
• Le 23-02-13 : Acquisition d’une voiture 70 000 DH paiement de 10% par chèque bancaire et le reste a crédit de 2
ans ;
• Le 04-03-13 : Facture « n° RM2 » relative aux achats de matières premières, montant HT 20000 TVA 20%, paiement
par CB n°102 ;
• Le 10-04-13 : Facture « MFACT G56 » relative aux ventes du produit « Câbles d'ascenseurs » au client NEXDORF SYS,
paiement par CB n°R43, le net à payer s’élève à 32490, la facture a tenu compte d’une remise de 4%, d’un rabais
de 5% et d’un escompte de règlement de 5%, d’une TVA à 20% ;

Travail à Faire : Procéder à la comptabilisation de la société Nexans dans l’ERP SAGE COMPTABILITE 100 et donner
les états de sortie suivants : Grand Livre, Bilan, Journaux

5
CB : c’est CHEQUE BANCAIRE
Réalisé Par : M.IBRAHIMI INFO Gestion : 2ème Année MT, CG, TC, MC, GESTION PME/PMI Page : 63
Elément de réponse
Il faut baser les éléments de réponse sur les étapes du schéma suivant :

1
Création du fichier
comptable de la
société
6 2
Ecriture des Importation des
journaux comptes PCGM ...

3
5
Création des Tiers Création des
Codes Journaux

4
Création des
Taux de Taxes

 Après création du fichier comptable on aura la fiche suivante, obtenue par le menu : « Fichier / A propos de votre
société »

 Puis on procède à l’importation / Exportation du PCGM comme expliqué au début de la section 2

On aura : la fiche du PCGM obtenue à partir du menu « Structure / Plan comptable »

Réalisé Par : M.IBRAHIMI INFO Gestion : 2ème Année MT, CG, TC, MC, GESTION PME/PMI Page : 64
 On s’assure que les codes journaux soient créés à partir du menu « Structure / Code journaux »

 On s’assure que les Taux de taxes soient créés à partir du menu « Structure / Taux de taxes »

 On s’assure que les journaux de saisi soient créés à partir du menu « Traitement / journaux de saisie »

On double clic sur un journal afin de l’afficher/ modifier


Exemple :

Réalisé Par : M.IBRAHIMI INFO Gestion : 2ème Année MT, CG, TC, MC, GESTION PME/PMI Page : 65
 Etats de sortie obtenus à partir du menu « Etat » :

Réalisé Par : M.IBRAHIMI INFO Gestion : 2ème Année MT, CG, TC, MC, GESTION PME/PMI Page : 66
Réalisé Par : M.IBRAHIMI INFO Gestion : 2ème Année MT, CG, TC, MC, GESTION PME/PMI Page : 67
Réalisé Par : M.IBRAHIMI INFO Gestion : 2ème Année MT, CG, TC, MC, GESTION PME/PMI Page : 68
Réalisé Par : M.IBRAHIMI INFO Gestion : 2ème Année MT, CG, TC, MC, GESTION PME/PMI Page : 69
VII. SEQUENCE 7 : EXAMENS 2ème ANNEE AVEC SOLUTION +
ETUDES DE CAS

Réalisé Par : M.IBRAHIMI INFO Gestion : 2ème Année MT, CG, TC, MC, GESTION PME/PMI Page : 70
1) Examen Mai 2017(MT, CG, TC, MC, GESTION PME/PMI) :
Examen National du Brevet de Technicien Supérieur
Page
Session de Mai 2017
1
Centre National de l'Évaluation, des Examens et de l’Orientation - Sujet -
4

Comptabilité et Gestion - Management Commercial - Management


Filière: Durée : 1H
Touristique - Gestion des Petites et Moyennes Entreprises
Épreuve de: Informatique de Gestion Coefficient : 20

Remarque Importante :
La présente épreuve est constituée de deux dossiers « DOSSIER 1 page 1 sur MS EXCEL, DOSSIER 2 page
2 sur Système d’information » et d’une Annexe située à la page 3 dont le candidat doit remplir
soigneusement son nom, sa filière, son centre d’examen et son académie(AREF) d’appartenance puis la
donner au professeur chargé de correction de l’épreuve.

Créée depuis 1989, COLORLUX est spécialisée dans la fabrication et la vente de produits de peinture, COLORLUX
offre une gamme de produits diversifiés et des solutions clés en main grâce à un savoir-faire et à son expérience cumulée
dans le domaine de peinture. Vous êtes appelé à effectuer un stage de quelques semaines au sein de cette société. Le
chef de service informatique auprès duquel vous êtes affecté vous demande de réaliser les deux documents suivants :

NB : Ces deux fichiers feront le sujet des deux dossiers 1 et 2


Figure 1

DOSSIER 1 : Bureautique (10 Pts sur 35 min)


Créez sur le bureau de votre ordinateur un dossier portant votre nom complet.
Créez dans ce dossier le classeur « FACTURATION.xls» contenant les deux feuilles « Facture et Produits» en se basant
sur le nota bene ci-dessous et en tenant compte des feuilles « Facture et Produits» ci-après :
NB :
1. Les cellules à traiter sont toutes dans la feuille Facture portant toutes un "Point d’interrogation" " " ?
comme contenu ;
2. Catégorie de la Facture selon Net à payer :

Réalisé Par : M.IBRAHIMI INFO Gestion : 2ème Année MT, CG, TC, MC, GESTION PME/PMI Page : 71
Catégorie de la Facture (cellule C13) Net à payer (cellule C12)
MFG1 > 10000 DH

MFG2 10000<= < 7500

SANS <= 7500

3. Noms de champs utilisés (dans la feuille Produits) :


"CODEPRD" pour la plage de cellules "D3:D5"; "MATA" pour la plage de cellules "D3:F5"; "MR" pour la
plage de cellules "A3:A5 "; "MATB" pour la plage de cellules "A3:B5 ";

4. Réductions accordées :
a. Taux de Remise (concernant le Net commercial) vaut 1% si la quantité du produit est supérieure
strictement à 40, sinon vaut 0% ;
b. Taux d'Escompte doit être rempli automatiquement dans la cellule G3 selon le mode de règlement
de la facture choisi dans la cellule G2 en se référant sur le tableau "Modes de Règlement" de la feuille
Produits ;
5. Pour s’assurer le résultat final du Net à Payer : 9 167,93 DH.
Feuille : Facture:

Figure 2
Feuille : Produits (Regroupant tous les produits)

Figure 3

Réalisé Par : M.IBRAHIMI INFO Gestion : 2ème Année MT, CG, TC, MC, GESTION PME/PMI Page : 72
DOSSIER 2 : Système d’Information Appliqué (10 Pts sur 25 min)

Créez sur votre dossier du bureau la base de données « FACTURATION.accdb» dont le schéma relationnel est le
suivant :

Figure 4

Consigne :

1) La base de données « FACTURATION.accdb » contient les trois tables "CLIENTS", "COMMANDES" et


"ARTICLES" dont c’est à vous de choisir les types de données des champs convenables ; (6 Pts)
2) Respectez la création des relations comme indiqué sur le schéma de la figure 4 ; (2 Pts)
3) Réalisez la requête de sélection nommée « Calcul MT » décrite ainsi : (2 Pts)

Montant
Champ ID_CMD DATE_CMD REF DESIGNATION Prix_Unitaire QUANTITE (QTE * PU)

Table COMMANDES COMMANDES COMMANDES ARTICLES ARTICLES COMMANDES Calculable

Réalisé Par : M.IBRAHIMI INFO Gestion : 2ème Année MT, CG, TC, MC, GESTION PME/PMI Page : 73
Annexe
Nom Complet
……………………..………………………………………………………………………………………………….……..
d’Etudiant :

Filière : …………………………. Centre + AREF ……………………………….…….………………………………….

Grille de Notes« A remplir par le professeur chargé de la correction »


Réf Cellules Notes attribuées Réf Cellules Notes attribuées
Partie MS Excel (sur 10 points)
………………………………………………
B6 Désignation (0.5 Pts) ……………………………………………
G3 Taux d'Escompte (0.5Pts )
………………………………………………
B7 Désignation (0.5 Pts) ……………………………………………
K6 Montant TTC (1 Pts )
………………………………………………
D6 Prix Unitaire (0.5 Pts) ……………………………………………
K7 Montant TTC (1 Pts )
………………………………………………
D7 Prix Unitaire (0.5 Pts) ……………………………………………
C9 Total MT TTC (0.5 Pts )
………………………………………………
E6 Montant HT (0.25Pts) ……………………………………………
C11 Escompte Total (1 Pts)
………………………………………………
E7 Montant HT (0.25 Pts) ……………………………………………
C12 Net à payer (0.5 Pts )
………………………………………………
G6 Net Commercial (1 Pts) ……………………………………………
C13 Catégorie facture (1 Pts )

G7 Net Commercial (1 Pts) ……………………………………………

Partie MS Access (sur 10 points)

Table CLIENTS : (2 Pts) …………………………………………

Question 1 Table ARTICLES : (2 Pts) …………………………………………

Table COMMANDES : (2 Pts) …………………………………………

Question 2 Schéma relationnel (2 Pts) …………………………………………

Requête « Calcul MT » (2 Pts)


Question 3 1 Pt sur la structure correcte de la requête …………………………………………

1 Pt sur l’ajout du champ calculable MT

Note Finale sur 20 En lettre …………………………..………………………………….……..……… En chiffre…………………………

Réalisé Par : M.IBRAHIMI INFO Gestion : 2ème Année MT, CG, TC, MC, GESTION PME/PMI Page : 74
2) Solution Examen Mai 2017 :
DOSSIER 1 : Bureautique (10 Pts sur 35 min)
NB :
Le professeur chargé de la correction du TP d’examen doit remplir obligatoirement la Grille de Notes
(Annexe de la page 3 de l’épreuve) pour chaque candidat ayant passé l’examen TP de l’Informatique de
Gestion et de l’envoyer accompagnée du Procès-verbal Global de notes finales de la matière.

Grille de Solution
Réf Cellules Formules

B6 Désignation (0.5 Pts) =RECHERCHEV(A6;MATA;2;FAUX)

B7 Désignation (0.5 Pts) =RECHERCHEV(A7; MATA;2;FAUX)

D6 Prix Unitaire (0.5 Pts) =RECHERCHEV(A6; MATA;3;FAUX)

D7 Prix Unitaire (0.5 Pts) =RECHERCHEV(A7; MATA;3;FAUX)

E6 Montant HT (0.25Pts) =C6*D6

E7 Montant HT (0.25 Pts) =C7*D7

G6 Net Commercial (1 Pts) =SI(C6>40;E6-E6*1%;E6) ou bien =E6-E6*SI(C6>40;1%;0%)

G7 Net Commercial (1 Pts) =SI(C7>40;E7-E7*1%;E7) ou bien =E7-E7*SI(C7>40;1%;0%)


=INDEX(MATB;EQUIV(G2;MR;0);2) ou bien
G3 Taux d'Escompte (0.5Pts ) =RECHERCHEV(G2;MATB;2;FAUX)
K6 Montant TTC (1 Pts ) =(G6-G6* $G$3)*(1+$I$6)

K7 Montant TTC (1 Pts ) =(G7-G7* $G$3)*(1+$I$6)

C9 Total MT TTC (0.5 Pts ) =SOMME(K6:K7)


=SOMME(G6:G7)* $G$3 ou bien
C11 Escompte Total (1 Pts) =SOMME(G6:G7)*INDEX(MATB;EQUIV(G2;MR;0);2)
ou bien =SOMME(G6:G7)* RECHERCHEV(G2; MATB;2;FAUX)
C12 Net à payer (0.5 Pts ) =C9+C10

C13 Catégorie facture (1 Pts ) =SI(C12>10000;"MFG1";SI(C12>7500;"MFG2";"SANS"))

Réalisé Par : M.IBRAHIMI INFO Gestion : 2ème Année MT, CG, TC, MC, GESTION PME/PMI Page : 75
DOSSIER 2 : Système d’Information Appliqué (10 Pts sur 25 min)

1) Création de La base de données « FACTURATION.accdb » contenant les trois tables


Table CLIENTS : (2 Pts)
Table ARTICLES : (2 Pts)
Table COMMANDES : (2 Pts)
NB : le candidat a le soin de choisir les types de données des champs qui conviennent.

2) Création des relations comme indiqué sur le schéma de la figure 4 (2 Pts)

3) Création de la requête « Calcul MT » comme indiqué sur le tableau de la question 3 (2 Pts)

Réalisé Par : M.IBRAHIMI INFO Gestion : 2ème Année MT, CG, TC, MC, GESTION PME/PMI Page : 76
3) Examen Mai 2017(TC) :
Remarque Importante : (lire soigneusement chaque dossier avant de se lancer dans la réponse)
La présente épreuve est constituée de trois dossiers indépendants « DOSSIER 1 SAGE, DOSSIER 2
MSEXCEL et DOSSIER 3 Système d’information », le candidat doit remplir les grilles des trois dossiers
puis les rendre à la fin de l’épreuve, il est vivement tolérable de remplir ces grilles avec un stylo en couleur
bleue.

Créée depuis 1980, ZINACOLOR est spécialisée dans la fabrication et la vente de produits de peinture, ZINACOLOR
offre une gamme de produits diversifiés et des solutions clés en main grâce à un savoir-faire et à son expérience cumulée
dans le domaine.
Vous êtes appelé à effectuer un stage de quelques semaines au sein de la société. Le chef de service informatique auprès
duquel vous êtes affecté, vous demande de remplir les grilles des trois dossiers suivants :
ENONCE
DOSSIER 1 SAGE 100 (Sur 1,5 pt 3 min)
Remplir les zones en pointillé par les lettres convenables en se basant sur le tableau ci-après :
Grille à remplir Numéro1
« Après avoir installé le logiciel SAGE COMPTABILITE 100 on commence par :

La création du fichier comptable de la société, puis on passe à …………………………,juste après on procède à

………………………… celui qui nécessite un rapprochement au niveau des comptes de trésorerie est …………………………, après

on crée les ………………………… , cette opération nécessite un double raccord entre les taux de taxes créés et les

comptes du PCGM, à titre d’exemple on rattache la TVA récupérable sur les charges dont le type est

………………………… aux comptes suivants : 61425 transport sur achat, et on rattache la TVA facturée dont le type est

………………………… aux comptes suivant : 7111 et 7121 »

Lettre A B C D E F

l’importation des le journal TVA SUR la création des


Signification taux de taxes TVA SUR DEBIT
comptes du PCGM de banque ENCAISSEMENT codes journaux

DOSSIER 2 MS EXCEL (6 pt 15 min)


Le classeur d’Excel « StatisVente.XLS contient la feuille « ETAT STOCK» en se basant sur le nota bene ci-dessous et
en tenant compte de la feuille « ETAT STOCK» ci-après :
NB :
?
1. Les cellules à traiter portent toutes un "Point d’interrogation" " " comme contenu ;
2. Le libellé Période de la cellule H2 est saisie manuellement et suite à ce choix le taux de dépréciation
de la cellule H3 sera rempli automatiquement d’après le contenu du tableau « Coût de dépréciation des
valeurs d'articles selon les périodes de l'année par rapport au Prix » situé sur la plage de cellule
H12 :J16 ;

Réalisé Par : M.IBRAHIMI INFO Gestion : 2ème Année MT, CG, TC, MC, GESTION PME/PMI Page : 77
Grille à remplir Numéro 2
Réf Cellules Formules
H3 (1 Pts )
Taux de Dépréciation

B6 (0.75 Pts )
Désignation

C6 (0.75 Pts )
QTE VENDUE pour Grossistes

F6 (0.75 Pts )
MAX des Quantités

H6 (0.75 Pts )
TOTAL des Quantités vendues

I6 (1 Pts )
TOTAL MONTANTS
(Somme des quantités X Prix
J6 (1 Pts )
COÜT Dépréciation TOTAL(Taux
Dépréciation x Total Montant)
DOSSIER 3 Système d’Information (2,5 pt 12 min)
Vous êtes chargé de gérer une partie du système d’information de la société RAHABUS (société de Bus pour transport urbain), Soit
le MCD (modèle conceptuel de données ou Modèle E/A) de la figure 1 suivante :

Réalisé Par : M.IBRAHIMI INFO Gestion : 2ème Année MT, CG, TC, MC, GESTION PME/PMI Page : 78
Figure 1
(MTHT : est le montant Hors Taxe de la commande)

Grille à remplir Numéro 3


1. Tracer le modèle relationnel (MLD) en se basant sur le MCD de la Figure 1 (1 pt)

……………………………………………………………………………………………………………………………………………………………………………………………………………………………….……………………………………………………………………………………………

………………………………………………………………………………………………………………………………….…………………………………………………………………………………………………………………………………………………………………………………………

…………………………………….……………………………………………………………………………………………………………………………………………………………………………………………………………………………….………………………………………………………

……………………………………………………………………………………………………………………………………………………………………….……………………………………………………………………………………………………………………………………………………

………………………………………………………………………….………………

2. Coche la ou les bonnes réponses : (0,5 pt)


2.1 Lors du passage du MCD au modèle relationnel toute association dotée de contrainte d’intégrité fonctionnelle :

Sera supprimée Sera gardée comme nouveau objet du modèle relationnel A une cardinalité égale à (1,1) ou (0,1)

□ □ □
2.2 le code SQL de la requête permettant d’afficher le chiffre d’affaire total TTC de l’année 2016 est : (0,5 pt)
SELECT SOMME(Prix*1.2) AS SELECT SUM(MTHT*1.2) AS SELECT SUM(MTHT*1.2)
CA_TTC CA_TTC FROM COMMANDE
FROM COMMANDE FROM COMMANDE WHERE ANNEE=”2016”;
WHERE ANNEE=”2016”; WHERE ANNEE=”2016”;

□ □ □
3. Écrire le code SQL de la requête permettant d’afficher à partir de la table COMMANDE les champs ANNEE,

……………………………………………………………………………………………………………………………………………………………………………………………………………………………….……………………………………………………………………………………………

………………………………………………………………………………………………………………………………….…………………………………………………………………………………………………………………………………………………………………………………………

…………………………………….……………………………………………………………………………………………………………………………………………………………………………………………………………………………….………………………………………………………

……………………………………………………………………………………………………………………………………………………………………….……………………………………………………………………………………………………………………………………………………

………………………………………………………………………….………………

Réalisé Par : M.IBRAHIMI INFO Gestion : 2ème Année MT, CG, TC, MC, GESTION PME/PMI Page : 79
4) Solution Examen Mai 2017(TC)
DOSSIER 1 SAGE 100 (Sur 1,5 pt 3 min)

Grille à remplir Numéro1

La création du fichier comptable de la société, puis on passe à B, juste après on procède à F, celui qui nécessite
un rapprochement au niveau des comptes de trésorerie est D, après on crée les A , cette opération nécessite
un double raccord entre les taux de taxes créés et les comptes du PCGM, à titre d’exemple on rattache la TVA

récupérable sur les charges qui est dont le type est C aux comptes suivants : 6111 et 6121 et on rattache la
TVA facturée dont le type est E aux compte suivant : 7111 et 7121 »

Lettre A B C D E F

l’importation
le journal de TVA SUR la création des
Signification taux de taxes des comptes du TVA SUR DEBIT
banque ENCAISSEMENT codes journaux
PCGM

DOSSIER 2 MS EXCEL (6 pt 15 min)

Grille à remplir Numéro 2


Réf Cellules Formules
H3 (1 Pts ) =INDEX(H12:J16;EQUIV(H2;J12:J16;0);2)
Taux de Dépréciation
B6 (0.75 Pts ) =RECHERCHEV(A6;A11:F16;2;FAUX)
Désignation
C6 (0.75 Pts ) =RECHERCHEV(A6;A11:F16;3;FAUX)
QTE VENDUE pour Grossistes
F6 (0.75 Pts ) =MAX(C6:E6)
MAX des Quantités
H6 (0.75 Pts ) =SOMME(D6:F6)
TOTAL des Quantités vendues
I6 (1 Pts )
TOTAL MONTANTS =SOMME(C6:E6)*RECHERCHEV(A6;A11:F16;6;FAUX)
(Somme des quantités X Prix
=I6*INDEX(H12:J16;EQUIV($H$2;$J$12:$J$16;0);2)
J6 (1 Pts )
COÜT Dépréciation TOTAL Ou =I6*$H$3

Réalisé Par : M.IBRAHIMI INFO Gestion : 2ème Année MT, CG, TC, MC, GESTION PME/PMI Page : 80
DOSSIER 3 Système d’Information (2,5 pt 12 min)

Grille à remplir Numéro 3


1. Tracer le modèle relationnel en se basant sur le MCD de la Figure 1 (1 pt)

ADHERENTS (CODEAD, NOM, AGE)

GAMME CARTE(CODEGC, NOM)

CARTES(CODEC, LIBELLE, NOM, #CODEGC)

COMMANDE(CODECMD, ANNEE, MTHT, #CODEAD,#CODEC)

2. Coche la ou les bonnes réponses : (0,5 pt)


2.1 Lors du passage du MCD au modèle relationnel toute association dotée de contrainte d’intégrité fonctionnelle :

Sera supprimée Sera gardée comme nouvel objet du modèle relationnel A une cardinalité égale à (1,1) ou (0,1)

 □ 
2.2 le code SQL de la requête permettant d’afficher le chiffre d’affaire total HT de l’année 2016 est : (0,5 pt)

SELECT SOMME(Prix*1.2) AS SELECT SUM(MTHT*1.2) AS SELECT SUM(MTHT*1.2)


CA_TTC CA_TTC FROM COMMANDE
FROM COMMANDE FROM COMMANDE WHERE ANNEE=”2016”;
WHERE ANNEE=”2016”; WHERE ANNEE=”2016”;

□  □
3. Ecrire le code SQL de la requête permettant d’afficher à partir de la table COMMANDE les champs ANNEE, MONTANT HT
et MTTC(à calculer) (0,5 pt)

Select ANNEE, MTHT, MTHT*1.2 AS MTTC


FROM COMMANDE

Réalisé Par : M.IBRAHIMI INFO Gestion : 2ème Année MT, CG, TC, MC, GESTION PME/PMI Page : 81
5) Examen Mai 2016(MT, CG, TC, MC, GESTION PME/PMI) :
Exercice 1 (3Pts)

Exercice 2 (11Pts)

Soit le classeur (Ventes.xls) contenant la feuille CA suivante :

NB :

Etat Financier TOTAL CA des périodes (toutes les Région)

Etat 1 >30000

Etat 2 Entre 20000 et 30000

Etat 3 <20000

TAF

Réaliser sous Excel le classeur (Ventes.xls) ou remplir le tableau de l’Annexe 1

Les cellules contenant "?" doivent être remplies par des formules convenables.

Réalisé Par : M.IBRAHIMI INFO Gestion : 2ème Année MT, CG, TC, MC, GESTION PME/PMI Page : 82
Annexe 1
Cellules Formules

F3 (1pt)

G3 (1pt)

H3 (1pt)

I3(1,5pt)

J3 (2pt)

C8(1pt)

C9(1,5pt)

C10 (2pt)

Exercice 3 (6Pts)
Soit le MCD (modèle conceptuel de données) de la figure 1 suivante :

A
Client (1,n) Commande Produit A
(1,n) (1,1) Appartenir (1,n) Gamme
r
CodeC CodeP CodeG

Nom Désignation Libellé


B C B C B
Figure 1

Client(CodeC, Nom, Age)


Gamme(CodeG,Libellé)
 Produit(CodeP, Désignation, PU,#CodeG)
Commander(CodeCom, date, Qte, #CodeC,#CodeP)
Appartenir(CodeAp, #CodeG)
Client(CodeC, Nom, Age)
 Gamme(CodeG,Libellé)
Produit(CodeP, Désignation, PU,#CodeG)
Commander(CodeCom, date, Qte, #CodeC,#CodeP)
Client(CodeC, Nom, Age)
 Gamme(CodeG,Libellé)
Produit(CodeP, Désignation, PU,#CodeG)
Commander(CodeCom, date, Qte)

Réalisé Par : M.IBRAHIMI INFO Gestion : 2ème Année MT, CG, TC, MC, GESTION PME/PMI Page : 83
4 Choisir la requête SQL permettant d’afficher la liste des clients qui n’ont jamais commandé (1,5 Pts)

  

SELECT * FROM client SELECT * FROM client SELECT * FROM commande


WHERE CodeC NOT IN WHERE CodeC NOT IN (SELECT N° WHERE CodeC NOT IN (SELECT N°
commande; client FROM commande); client FROM client);

6) Solution Examen Mai 2016 :


Exercice 1 (3Pts)

Exercice 2 (11Pts)

Cellules Formules

F3 (1pt) =SOMME(B3:D3)

G3 (1pt) =MOYENNE(B3:D3)

H3 (1pt) =MAX(B3:D3)

I3(1,5pt) =NBVAL(B3:D3)

J3 (2pt) =F3*RECHERCHEV(A3;$E$8:$F$10;2;FAUX)

C8(1pt) =SOMME(F3:F5)

C9(1,5pt) =SOMME.SI(E3:E6;"A";F3:F5)

C10 (2pt) =SI(C8>30000;"Etat1";SI(C8>20000;"Etat2";"Etat3"))

Réalisé Par : M.IBRAHIMI INFO Gestion : 2ème Année MT, CG, TC, MC, GESTION PME/PMI Page : 84
7) Etude de cas "Société HPS": Modélisation et Expression de requêtes en
langage SQL
Objectifs :
 Ecrire des requêtes avec le langage SQL
 Etablir le lien entre les opérateurs et le langage SQL
La description d’un extrait du système d’information de la société HPS a relevé les informations suivantes :
Soit la base de données HPS dont les tables sont les suivantes :
DEPARTEMENT (nodep,nomdep,ville)
EMPLOYE (noemp,nomemp,fonction,noresp,datemb,sala,comm,nodep)
GRADE (nograde,salmin,salmax)
HISTOFONCTION (noemp,date,nom,fonction)
La base HPS vous est fournie avec les tables suivantes :

Réalisé Par : M.IBRAHIMI INFO Gestion : 2ème Année MT, CG, TC, MC, GESTION PME/PMI Page : 85
Réalisé Par : M.IBRAHIMI INFO Gestion : 2ème Année MT, CG, TC, MC, GESTION PME/PMI Page : 86
Travail à faire
A. Modélisation de la base de données :
1. Etablir le MCD puis le MLDR

B. Requêtes : en SQL les requêtes suivantes :


Les requêtes seront sauvegardées et nommées de la manière suivante : C1-B7 puis D1-D16, ….
C. Requêtes simples
1. Afficher les noms de département
2. Afficher les numéros et noms de département
3. Afficher toutes les propriétés des employés
4. Afficher les fonctions des employés
5. Afficher les fonctions des employés sans double
6. Afficher les noms des employés avec leur date d'embauche, ainsi que la date d'embauche augmentée d'une journée
7. Afficher les noms des employés suivis d'un espace, suivi de leur fonction
B. Requêtes avec clause “where”
1. Donner la liste des numéros et noms des employés du département 30
2. Donner la liste des numéros et noms des ouvriers ainsi que leur numéro de département
3. Donner les noms et numéros des départements dont le numéro est supérieur ou égal à 30
4. Donner les noms, salaires et commissions des employés dont la commission excède le salaire
5. Donner les noms et salaires des vendeurs du département 30 dont le salaire est supérieur à 1500 €
6. Donner la liste des noms, fonctions et salaires des directeurs et des présidents
7. Donner la liste des noms, fonctions et salaires des directeurs et des employés qui ont un salaire > 2500 €
8. Donner la liste des noms, numéros de département des directeurs et des ouvriers du département
9. Donner la liste des noms, fonctions et numéros de département des employés du département 10 qui ne sont ni ouvrier
ni directeur
10. Donner la liste des noms, fonctions et numéros de département des directeurs qui ne sont pas directeur dans le
département 30
11. Donner la liste des noms, fonctions et salaires des employés qui gagnent entre 1200 € et 1300 €
12. Donner la liste des noms, numéros de département et fonctions des employés « ouvrier », « analyste » ou «vendeur»
13. Donner les employés qui ne sont pas "vendeur"
14. Donner la liste des employés dont la première lettre du nom est un "C"
15. Donner la liste des employés qui n'ont pas de commission
16. Donner la liste des employés qui ont une commission et qui sont dans le département 30 ou 20
C. Requêtes avec clause « order by »
1. Donner la liste des salaires, fonctions et noms des employés du département 30, selon l'ordre croissant des salaires
2. Donner la liste des salaires, fonctions et noms des employés du département 30, selon l'ordre décroissant des salaires
3. Donner la liste des employés triée selon l'ordre croissant des fonctions et l'ordre décroissant des salaires
4. Donner la liste des commissions, salaires et noms triée selon l'ordre croissant des commissions
5. Donner la liste des commissions, salaires et noms triée selon l'ordre décroissant des commissions
D. Requêtes multi-tables
1. Donner la ville dans laquelle travaille Costanza
2. Donner les noms, fonctions, et noms des départements des employés des départements 30 et 40
3. Donner le grade, la fonction, le nom et le salaire de chaque employé
4. Donner la liste des noms et salaires des employés qui gagnent plus que leur responsable
5. Donner la liste des noms, salaires, fonctions des employés qui gagnent plus que Perou
E. Requêtes avec fonctions et expressions numériques
Réalisé Par : M.IBRAHIMI INFO Gestion : 2ème Année MT, CG, TC, MC, GESTION PME/PMI Page : 87
1. Donner les noms, salaires, commissions et revenus des vendeurs
2. Donner les noms, salaires et les commissions des employés dont la commission est supérieure à 25% de leur salaire
3. Donner la liste des vendeurs dans l'ordre décroissant de leur commission divisée par leur salaire
4. Donner le revenu annuel de chaque vendeur
5. Donner le salaire quotidien des vendeurs
6. Donner la moyenne des salaires des ouvriers
7. Donner le total des salaires et des commissions des vendeurs
8. Donner le revenu annuel moyen de tous les vendeurs
9. Donner le plus haut salaire, le plus bas et l'écart entre les deux
10. Donner le nombre d'employés du département 30
F. Requêtes avec clause « group by »
1. Donner la moyenne des salaires pour chaque département
2. Donner pour chaque département, le salaire annuel moyen des employés qui ne sont ni directeur ni président
3. Donner pour chaque fonction de chaque département le nombre d'employés et le salaire annuel moyen
4. Donner la liste des salaires annuels moyens pour les fonctions comportant plus de deux employés
5. Donner la liste des départements avec au moins deux ouvriers
6. Donner les salaires moyens des présidents, directeurs et responsables
G. Requêtes imbriquées
1. Donner les noms et fonctions des employés qui gagnent plus que "Bibaut";
2. Donner les fonctions dont la moyenne des salaires est supérieure à la moyenne des "vendeurs";
3. Donner les noms des départements des employés qui gagnent plus de 2 700 € ;
4. Déterminer le salarié le plus ancien
5. Déterminer le dernier salarié embauché
6. Afficher la liste des employés responsables d'autres employés.
7. Donner les employés qui ont occupé les fonctions de vendeur et de directeur
8. Donner les noms des employés (avec leur numéro de département et leur salaire) qui gagnent plus que la moyenne des
employés de leur département
H. Requêtes avec Union, Intersection et Différence
1. Donner les employés qui sont vendeur ou qui sont affectés au département 10
2. A l'aide de l'environnement graphique (RAD) d'Access créer la table ANCIENEMPLOYE suivante :

noemp nomemp fonction noresp datemb sala Comm nodep


101 Jalabert Responsable 6 19/10/1990 2100,00€ 100,00€ 30
102 Chateaux Assistante 2 15/03/1994 1100,00€ 75,00€ 20

Créer une requête permettant d'afficher la liste des noms et des fonctions des employés et des anciens employés
3. Créer une requête permettant de lister les employés appartenant ou ayant appartenus aux départements 10 ou 30.
4. Lister les employés communs aux tables EMPLOYE et HISTOFONCTION
5. Retrouver les absents de la table HISTOFONCTION

Réalisé Par : M.IBRAHIMI INFO Gestion : 2ème Année MT, CG, TC, MC, GESTION PME/PMI Page : 88
8) SOLUTION Etude de cas Société HPS
A. Modélisation de la base de données :
1. Etablir le MCD à partir de ce MLDR :

MCD ou Modèle E/A

MLDR

GRADE(nograde, salmin, salmax)


DEPARTEMENT(nodep, nomdep, ville)
HITOFONCTION(#nodep, date_nom, Fonction)
EMPLOYE(noemp, nomemp, fonction, dateem, sala,comm, #nodep,#noemp)
C. Requêtes simples
1. E1. Afficher les noms de département
SOLUTION

SELECT DISTINCT nomdep


FROM DEPARTEMENT ;
2. Afficher les numéros et noms de département
SOLUTION

SELECT nodep, nomdep


FROM DEPARTEMENT ;
3. Afficher toutes les propriétés des employés
SOLUTION
SELECT *
FROM EMPLOYE ;

Réalisé Par : M.IBRAHIMI INFO Gestion : 2ème Année MT, CG, TC, MC, GESTION PME/PMI Page : 89
4. Afficher les fonctions des employés
SOLUTION

SELECT fonction
FROM EMPLOYE ;
5. Afficher les fonctions des employés sans double
SOLUTION

SELECT DISTINCT fonction


FROM EMPLOYE ;
6. Afficher les noms des employés avec leur date d'embauche, ainsi que la date d'embauche augmentée d'une journée
SOLUTION

SELECT nomemp, datemb, [datemb]+1 AS DatePlusUn


FROM EMPLOYE ;
7. Afficher les noms des employés suivis d'un espace, suivi de leur fonction
SOLUTION

SELECT [nomemp]+ " "+[fonction) AS DatePlusUn


FROM EMPLOYE ;
B. Requêtes avec clause “where”
1. Donner la liste des numéros et noms des employés du département 30
SOLUTION

SELECT noemp, nomemp


FROM EMPLOYE ;
WHERE nodep=30;
2. Donner la liste des numéros et noms des ouvriers ainsi que leur numéro de département
SOLUTION

SELECT noemp, nomemp, nodep


FROM EMPLOYE ;
WHERE fonction="ouvrier";
3. Donner les noms et numéros des départements dont le numéro est supérieur ou égal à 30
SOLUTION

SELECT nomdep, nodep


FROM DEPARTEMENT ;
WHERE nodep >=30;
4. Donner les noms, salaires et commissions des employés dont la commission excède le salaire
SOLUTION

SELECT nomemp, sala, comm


FROM EMPLOYE ;
WHERE comm >sala;
5. Donner les noms et salaires des vendeurs du département 30 dont le salaire est supérieur à 1500 €

Réalisé Par : M.IBRAHIMI INFO Gestion : 2ème Année MT, CG, TC, MC, GESTION PME/PMI Page : 90
SOLUTION

SELECT nomemp, sala


FROM EMPLOYE ;
WHERE (fonction="vendeur") and (nodep=30) and (sala>1500);
6. Donner la liste des noms, fonctions et salaires des directeurs et des présidents
SOLUTION

SELECT nomemp, fonction, sala


FROM EMPLOYE ;
WHERE (fonction="directeur") or (fonction="Président");
7. Donner la liste des noms, fonctions et salaires des directeurs et des employés qui ont un salaire > 2500 €
SOLUTION

SELECT nomemp, fonction, sala


FROM EMPLOYE ;
WHERE (fonction="directeur") or (sala>2500);
8. Donner la liste des noms, numéros de département des directeurs et des ouvriers du département
SOLUTION

SELECT nomemp, nodep


FROM EMPLOYE ;
WHERE (fonction="directeur") or (fonction="ouvrier");
9. Donner la liste des noms, fonctions et numéros de département des employés du département 10 qui ne sont ni ouvrier
ni directeur
SOLUTION

SELECT nomemp, fonction, nodep


FROM EMPLOYE ;
WHERE (nodep=10) and (fonction<>"ouvrier") and (fonction<>"directeur");
10. Donner la liste des noms, fonctions et numéros de département des directeurs qui ne sont pas directeur dans le
département 30
SOLUTION

SELECT nomemp, fonction, nodep


FROM EMPLOYE ;
WHERE (fonction<>"directeur") and (nodep<>30);
11. Donner la liste des noms, fonctions et salaires des employés qui gagnent entre 1200 € et 1300 €
SOLUTION

SELECT nomemp, fonction, sala


FROM EMPLOYE ;
WHERE (sala<1300) and (sala>1300);
12. Donner la liste des noms, numéros de département et fonctions des employés « ouvrier », « analyste » ou «vendeur»
SOLUTION

SELECT nomemp, nodep, fonction


Réalisé Par : M.IBRAHIMI INFO Gestion : 2ème Année MT, CG, TC, MC, GESTION PME/PMI Page : 91
FROM EMPLOYE ;
WHERE (fonction="ouvrier") or (fonction="analyste") or (fonction="vendeur");
13. Donner les employés qui ne sont pas "vendeur"
SOLUTION

SELECT *
FROM EMPLOYE ;
WHERE fonction<>"vendeur";
14. Donner la liste des employés dont la première lettre du nom est un "C"
SOLUTION

SELECT *
FROM EMPLOYE ;
WHERE nomemp="C*";
15. Donner la liste des employés qui n'ont pas de commission
14. Donner la liste des employés dont la première lettre du nom est un "C"
SOLUTION

SELECT *
FROM EMPLOYE ;
WHERE comm Is Null ;
16. Donner la liste des employés qui ont une commission et qui sont dans le département 30 ou 20
SOLUTION

SELECT *
FROM EMPLOYE ;
WHERE ((Not (EMPLOYE .comm) Is Null) and((nodep=30)or(nodep=20)) ;
C. Requêtes avec clause « order by »
1. Donner la liste des salaires, fonctions et noms des employés du département 30, selon l'ordre croissant des salaires
SOLUTION

SELECT sala, fonction, nomemp


FROM EMPLOYE ;
WHERE nodep=30
ORDER BY sala ;
2. Donner la liste des salaires, fonctions et noms des employés du département 30, selon l'ordre décroissant des salaires
SOLUTION
SELECT sala, fonction, nomemp
FROM EMPLOYE ;
WHERE nodep=30
ORDER BY sala DESC ;
3. Donner la liste des employés triée selon l'ordre croissant des fonctions et l'ordre décroissant des salaires
SOLUTION

Réalisé Par : M.IBRAHIMI INFO Gestion : 2ème Année MT, CG, TC, MC, GESTION PME/PMI Page : 92
SELECT *
FROM EMPLOYE ;
ORDER BY EMPLOYE.fonction, EMPLOYE.sala DESC ;
4. Donner la liste des commissions, salaires et noms triée selon l'ordre croissant des commissions
SOLUTION

SELECT comm, sala, nomemp


FROM EMPLOYE ;
ORDER BY comm ;
5. Donner la liste des commissions, salaires et noms triée selon l'ordre décroissant des commissions
SOLUTION

SELECT comm, sala, nomemp


FROM EMPLOYE ;
ORDER BY comm DESC ;
D. Requêtes multi-tables
1. Donner la ville dans laquelle travaille Costanza
SOLUTION

SELECT DEPARTEMENT.ville
FROM DEPARTEMENT INNER JOIN EMPLOYE ON DEPARTEMENT.nodep= EMPLOYE.nodep
WHERE EMPLOYE.nomemp="Costanza";
2. Donner les noms, fonctions, et noms des départements des employés des départements 30 et 40
SOLUTION

SELECT EMPLOYE.nomemp, EMPLOYE.fonction, DEPARTEMENT.nomdep


FROM EMPLOYE INNER JOIN DEPARTEMENT ON EMPLOYE.nodep= DEPARTEMENT.nodep
WHERE ((EMPLOYE.nodep)=20 or (EMPLOYE.nodep)=30) ;
3. Donner le grade, la fonction, le nom et le salaire de chaque employé
SOLUTION

SELECT GRADE.nograde,EMPLOYE.nomemp, EMPLOYE.fonction, EMPLOYE.sala


FROM EMPLOYE, GRADE
WHERE ((EMPLOYE.sala)>(GRADE.salmin) and (EMPLOYE.sala)< (GRADE.salmax)) ;
4. Donner la liste des noms et salaires des employés qui gagnent plus que leur responsable
SOLUTION

SELECT E1.nomemp, E1.sala


FROM EMPLOYE AS E1
WHERE (E1.sala)> (SELECT E2.sala
FROM EMPLYE AS E2
WHERE( E2.noemp)=(E1.noresp)) ;
5. Donner la liste des noms, salaires, fonctions des employés qui gagnent plus que Perou
SOLUTION

Réalisé Par : M.IBRAHIMI INFO Gestion : 2ème Année MT, CG, TC, MC, GESTION PME/PMI Page : 93
SELECT E1.nomemp, E1.sala, E1.fonction
FROM EMPLOYE AS E1
WHERE (E1.sala)> (SELECT E2.sala
FROM EMPLYE AS E2
WHERE( E2.nomemp)= "Perou") ;
E. Requêtes avec fonctions et expressions numériques
1. Donner les noms, salaires, commissions et revenus des vendeurs
SOLUTION

SELECT E1.nomemp, E1.sala, E1.comm, (E1.sala)+(E1.comm) AS revenu


FROM EMPLOYE AS E1
WHERE (E1.fonction)="vendeur" ;
2. Donner les noms, salaires et les commissions des employés dont la commission est supérieure à 25% de leur salaire
SOLUTION

SELECT E1.nomemp, E1.sala, E1.comm, (E1.sala)+(E1.comm) AS revenu


FROM EMPLOYE AS E1
WHERE (E1.comm)>(0.25*(E1.sala));
3. Donner la liste des vendeurs dans l'ordre décroissant de leur commission divisée par leur salaire
SOLUTION

SELECT E1.nomemp, E1.sala, E1.comm, (E1.comm)/(E1.sala) AS commparsal


FROM EMPLOYE AS E1
WHERE (E1.fonction)="vendeur" ;
ORDER BY (E1.comm)/(E1.sala) DESC;
4. Donner le revenu annuel de chaque vendeur
SOLUTION

SELECT (((E1.sala)+(E1.comm))*12) AS revenuAnnuel


FROM EMPLOYE AS E1
WHERE (E1.fonction)="vendeur" ;
5. Donner le salaire quotidien des vendeurs
SOLUTION

SELECT (((E1.sala)+(E1.comm))/30) AS salairequot


FROM EMPLOYE AS E1
WHERE (E1.fonction)="vendeur" ;
6. Donner la moyenne des salaires des ouvriers
SOLUTION

SELECT AVG((E1.sala)+(E1.comm)) AS salaireMoy


FROM EMPLOYE AS E1
WHERE (E1.fonction)="ouvrier" ;
7. Donner le total des salaires et des commissions des vendeurs
SOLUTION

Réalisé Par : M.IBRAHIMI INFO Gestion : 2ème Année MT, CG, TC, MC, GESTION PME/PMI Page : 94
SELECT SUM((E1.sala)+(E1.comm)) AS salaireTot
FROM EMPLOYE AS E1
WHERE (E1.fonction)="vendeur" ;
8. Donner le revenu annuel moyen de tous les vendeurs
SOLUTION

SELECT (AVG((E1.sala)+AVG(E1.comm))*12) AS salaireMoyAnnuel


FROM EMPLOYE AS E1
WHERE (E1.fonction)="vendeur" ;
9. Donner le plus haut salaire, le plus bas et l'écart entre les deux
SOLUTION

SELECT (MAX((E1.sala) AS SALMAX, MIN(E1.sala) AS SALMIN, (MAX((E1.sala)- MIN(E1.sala)) AS Ecart


FROM EMPLOYE AS E1
WHERE (E1.fonction)="vendeur" ;
10. Donner le nombre d'employés du département 30
SOLUTION

SELECT (COUNT((E1.noemp) AS NBemp


FROM EMPLOYE AS E1
WHERE (E1.nodep)=30 ;
F. Requêtes avec clause « group by »
1. Donner la moyenne des salaires pour chaque département
SOLUTION

SELECT AVG((E1.sala) AS MoySalparDep


FROM EMPLOYE AS E1
GROUP BY (E1.nodep);
2. Donner pour chaque département, le salaire annuel moyen des employés qui ne sont ni directeur ni président
SOLUTION

SELECT (AVG((E1.sala)*12) AS MoySalANNUEL


FROM EMPLOYE AS E1
WHERE ((E1.fonction<>"directeur") and(E1.fonction<>"president"))
GROUP BY (E1.nodep);
3. Donner pour chaque fonction de chaque département le nombre d'employés et le salaire annuel moyen
SOLUTION

SELECT (COUNT((E1.noemp)) AS NBREmp, (AVG((E1.sala)*12) AS MoySalANNUEL


FROM EMPLOYE AS E1
GROUP BY (E1.fonction);
4. Donner la liste des salaires annuels moyens pour les fonctions comportant plus de deux employés
SOLUTION

Réalisé Par : M.IBRAHIMI INFO Gestion : 2ème Année MT, CG, TC, MC, GESTION PME/PMI Page : 95
SELECT (AVG((E1.sala)*12) AS MoySalANNUEL
FROM EMPLOYE AS E1
GROUP BY (E1.fonction);
HAVING COUNT(E1.fonction)>2
5. Donner la liste des départements avec au moins deux ouvriers
SOLUTION

SELECT E1.nodep
FROM EMPLOYE AS E1
WHERE E1.fonction="ouvrier"
GROUP BY (E1.nodep);
HAVING COUNT(E1.noemp)>2
6. Donner les salaires moyens des présidents, directeurs et responsables
SOLUTION

SELECT AVG((E1.sala) AS MoySal


FROM EMPLOYE AS E1
WHERE (E1.fonction="president") OR (E1.fonction="directeur")OR (E1.fonction="responsable")
GROUP BY (E1.fonction);
G. Requêtes imbriquées
1. Donner les noms et fonctions des employés qui gagnent plus que "Bibaut";
SOLUTION

SELECT E1.nomemp, E1.fonction


FROM EMPLOYE AS E1
WHERE ((E1.sala)+ (E1.comm)) > (SELECT ((E2.sala)+ (E2.comm))
FROM EMPLOYE AS E2
WHERE E2.nomemp=" Bibaut");
2. Donner les fonctions dont la moyenne des salaires est supérieure à la moyenne des "vendeurs";
SOLUTION

SELECT E1.fonction
FROM EMPLOYE AS E1
WHERE (AVG(E1.sala) > (SELECT AVG(E2.sala)
FROM EMPLOYE AS E2
WHERE E2.fonction="vendeur");
3. Donner les noms des départements des employés qui gagnent plus de 2 700 € ;
SOLUTION

SELECT E1.nomdep
FROM EMPLOYE AS E1
WHERE ((E1.sala)+ (E1.comm)) > 2700;
4. Déterminer le salarié le plus ancien

Réalisé Par : M.IBRAHIMI INFO Gestion : 2ème Année MT, CG, TC, MC, GESTION PME/PMI Page : 96
SOLUTION

SELECT E1.sala
FROM EMPLOYE AS E1
WHERE (E1.datemb) = (SELECT min(E2. datemb)
FROM EMPLOYE AS E2);
5. Déterminer le dernier salarié embauché
SOLUTION

SELECT E1.sala
FROM EMPLOYE AS E1
WHERE (E1.datemb) = (SELECT max(E2. datemb)
FROM EMPLOYE AS E2);
6. Afficher la liste des employés responsables d'autres employés.
SOLUTION

SELECT E1.nomemp
FROM EMPLOYE AS E1
WHERE (E1.noemp) IN(SELECT E2.noresp
FROM EMPLOYE AS E2);
7. Donner les employés qui ont occupé les fonctions de vendeur et de directeur
SOLUTION

SELECT E1.nomemp,
FROM EMPLOYE AS E1
WHERE (E1.fonction="vendeur") OR (E1.fonction="directeur");
8. Donner les noms des employés (avec leur numéro de département et leur salaire) qui gagnent plus que la moyenne des
employés de leur département
SOLUTION

SELECT E1.nomemp, E1.nodep, E1.sala


FROM EMPLOYE AS E1
WHERE ((E1.sala)+ (E1.comm)) >(SELECT AVG((E2.sala)+ (E2.comm))
FROM EMPLOYE AS E2);
E2.nodep= E1.nodep) ;
H. Requêtes avec Union, Intersection et Différence
1. Donner les employés qui sont vendeur ou qui sont affectés au département 10
SOLUTION

SELECT *
FROM EMPLOYE AS E1
WHERE (E1.fonction="vendeur") OR (E1.nodep=10);
2. A l'aide de l'environnement graphique (RAD) d'Access créer la table ANCIENEMPLOYE suivante :

Réalisé Par : M.IBRAHIMI INFO Gestion : 2ème Année MT, CG, TC, MC, GESTION PME/PMI Page : 97
noemp nomemp fonction noresp datemb sala Comm nodep
101 Jalabert Responsable 6 19/10/1990 2100,00€ 100,00€ 30
102 Chateaux Assistante 2 15/03/1994 1100,00€ 75,00€ 20
Créer une requête permettant d'afficher la liste des noms et des fonctions des employés et des anciens employés
SOLUTION

SELECT E1.nomemp, E1.fonction


FROM EMPLOYE AS E1
UNION
SELECT E2.nomemp, E2.fonction
FROM ANCIENEMPLOYE AS E2
3. Créer une requête permettant de lister les employés appartenant ou ayant appartenus aux départements 10 ou 30.
SOLUTION

SELECT E1.nomemp, E1.fonction


FROM EMPLOYE AS E1
WHERE (E1.nodep=10) OR (E1.nodep=30)
UNION
SELECT E2.nomemp, E2.fonction
FROM ANCIENEMPLOYE AS E2
WHERE (E2.nodep=10) OR (E2.nodep=30);
4. Lister les employés communs aux tables EMPLOYE et HISTOFONCTION
SOLUTION

SELECT E1.noemp, E1.nomemp


FROM EMPLOYE AS E1, HISTOFONCTION AS E2
WHERE E1.nodemp= E2.nodemp
5. Retrouver les absents de la table HISTOFONCTION
SOLUTION

SELECT E1.noemp, E1.nomemp


FROM EMPLOYE AS E1
WHERE E1.nodemp NOT IN (SELECT E2.noemp
FROM HISTOFONCTION AS E2) ;

Réalisé Par : M.IBRAHIMI INFO Gestion : 2ème Année MT, CG, TC, MC, GESTION PME/PMI Page : 98