UE1.2 · 5 ECTS

Données & Bureautique Avancée

25h CM + 40h TP — 7 séances. Excel avancé, Power Query, SQL, SAGE Comptabilité. Les outils les plus demandés par les entreprises malgaches.

7 Séances25h CM40h TP5 ECTS
1

Excel avancé — Références, RECHERCHEV, fonctions conditionnelles

Semaine 9CM+TP · 2h
Comprendre les concepts fondamentaux d'Excel avancé
Savoir expliquer
Appliquer les méthodes sur des données réalistes
Savoir faire
ConceptDescription
Référence relative A1Se déplace lors de la copie — comportement par défaut
Référence absolue $A$1Reste fixe lors de la copie — le $ bloque la ligne et/ou colonne
RECHERCHEVCherche une valeur dans une table et retourne la valeur correspondante dans une autre colonne
SOMME.SI.ENSSomme conditionnelle avec plusieurs critères simultanés
Formules ExcelExcel
=B2*$E$1                            Multiplie par le taux TVA fixe en E1
=RECHERCHEV(A2;$G$2:$H$100;2;FAUX)  Cherche A2 dans G2:H100
=SIERREUR(RECHERCHEV(...);"Non trouvé")

=SOMME.SI.ENS(D:D;B:B;"Toliara";C:C;"DATA")
=NB.SI.ENS(B:B;"Toliara";D:D;">"&12)
=MOYENNE.SI(C:C;"DATA";D:D)

TCD — Tableau Croisé Dynamique :
1. Sélectionner le tableau → Insertion → TCD
2. Régions en Lignes, Produit en Colonnes, CA en Valeurs
3. Insertion → Segment → Les segments filtrent le TCD en temps réel !
✏️ Exercice

Réalisez un tableau de bord Excel avec les données de vente MUST Toliara : utilisez RECHERCHEV, SOMME.SI.ENS, TCD et segments. Documentez dans un rapport d'une page.

2

Power Query — ETL visuel sans code

Semaine 10CM+TP · 2h

1. Concepts

Power Query est l'outil ETL (Extract-Transform-Load) intégré dans Excel et Power BI. Il enregistre chaque transformation et les réapplique automatiquement à chaque actualisation des données.

ConceptDescription
ETLExtract-Transform-Load : pipeline de collecte, nettoyage et chargement
Power Query MLangage fonctionnel derrière Power Query
ActualisationRafraîchissement automatique en réexécutant toutes les transformations
Power Query M
// Connexion CSV
Source = Csv.Document(File.Contents("C:\ventes.csv"),[Delimiter=","]),
Headers = Table.PromoteHeaders(Source),
Types = Table.TransformColumnTypes(Headers,{{"date",type date},{"ca",type number}}),
Filtre = Table.SelectRows(Types, each [ca] > 0),
Calcule = Table.AddColumn(Filtre, "Mois", each Date.Month([date])),
Groupe = Table.Group(Calcule, {"region"}, {{"CA_Total", each List.Sum([ca])}})
3

SQL fondamentaux — SELECT, WHERE, GROUP BY

Semaine 11CM+TP · 2h
ConceptDescription
SQLStructured Query Language — langage déclaratif pour BDD relationnelles
DDLData Definition Language — CREATE, ALTER, DROP
DMLData Manipulation Language — SELECT, INSERT, UPDATE, DELETE
SQL
CREATE TABLE etudiants (
    id INT PRIMARY KEY AUTO_INCREMENT,
    nom VARCHAR(100) NOT NULL,
    filiere ENUM("DATA","IoT","MGT") NOT NULL,
    note_s1 DECIMAL(4,2) CHECK (note_s1 BETWEEN 0 AND 20)
);

INSERT INTO etudiants (nom, filiere, note_s1)
VALUES ("RAKOTO", "DATA", 15.5), ("RASOA", "IoT", 12.0);

SELECT filiere,
    COUNT(*) AS nb, ROUND(AVG(note_s1),2) AS moyenne,
    MIN(note_s1) AS min_note, MAX(note_s1) AS max_note
FROM etudiants
GROUP BY filiere
HAVING AVG(note_s1) >= 12
ORDER BY moyenne DESC;
4

SQL avancé — Jointures, CTE, fonctions fenêtrées

Semaine 12CM+TP · 2h
SQL
-- INNER JOIN — 3 tables
SELECT e.nom, c.titre, i.note
FROM etudiants e
INNER JOIN inscriptions i ON e.id = i.etudiant_id
INNER JOIN cours c ON i.cours_id = c.id;

-- LEFT JOIN — tous les étudiants même sans inscription
SELECT e.nom, c.titre
FROM etudiants e
LEFT JOIN inscriptions i ON e.id = i.etudiant_id
LEFT JOIN cours c ON i.cours_id = c.id;

-- CTE
WITH moy_par_filiere AS (
    SELECT filiere, ROUND(AVG(note_s1),2) AS moy
    FROM etudiants GROUP BY filiere
)
SELECT * FROM moy_par_filiere WHERE moy >= 12;

-- RANK() OVER
SELECT nom, filiere, note_s1,
    RANK() OVER (PARTITION BY filiere ORDER BY note_s1 DESC) AS rang,
    ROUND(AVG(note_s1) OVER (), 2) AS moyenne_globale
FROM etudiants;
5

SAGE Comptabilité — Journal et états financiers

Semaine 13CM+TP · 2h
ConceptDescription
PCGMPlan Comptable Général Malgache — Classes 1 à 7
Partie doubleTout débit équilibré par un crédit équivalent
JournalRegistre chronologique de toutes les opérations
Écritures comptables
ÉCRITURES COMPTABLES — MUST SARL — Mars 2026

Date     Compte   Libellé                  Débit         Crédit
═════════════════════════════════════════════════════════════════
01/03    2154     Matériel informatique   15 000 000
         512      Banque                               15 000 000
05/03    53x      Caisse                  4 500 000
         706      Inscriptions étudiants               4 500 000
10/03    613      Loyer locaux             500 000
         512      Banque                                 500 000
28/03    641      Salaires formateurs    2 400 000
         512      Banque                               2 400 000
═════════════════════════════════════════════════════════════════
TOTAUX                               22 580 000     22 580 000  ✓
6

Dashboard Excel professionnel — Architecture 3 feuilles

Semaine 14CM+TP · 2h

Architecture 3 feuilles

Feuille 1 : DONNÉES — Données brutes importées, formatées en Tableau Excel (Ctrl+T). Connexion Power Query.

Feuille 2 : CALCULS — TCD connectés, formules SOMME.SI.ENS, RECHERCHEV. Invisible pour l'utilisateur.

Feuille 3 : DASHBOARD — Maximum 5-7 KPI. Graphiques liés aux TCD. 3 segments liés. Palette MUST : vert #0A7C6E.

💡 Masquez les onglets DONNÉES et CALCULS (clic droit → Masquer).

7

Power Query avancé — Pipeline mensuel automatisé

Semaine 15CM+TP · 2h
Power Query M
// Consolider 12 fichiers mensuels
Source = Folder.Files("C:\Données\Ventes\2026\"),
CSV_Files = Table.SelectRows(Source, each [Extension] = ".csv"),
Combined = Table.Combine(List.Transform(
    CSV_Files[Content],
    each Table.PromoteHeaders(Csv.Document(_,[Delimiter=","])))),
Typed = Table.TransformColumnTypes(Combined,
    {{"date",type date},{"ca",type number},{"region",type text}}),
Enriched = Table.AddColumn(Typed, "Mois", each Date.Month([date])),
Final = Table.AddColumn(Enriched, "CA_par_mois", each [quantite]*[prix])
// Actualiser : Ctrl+Alt+F5