Académique Documents
Professionnel Documents
Culture Documents
07
Tableau dynamique croisé
&
TP3
Initiation VBA
Il y a deux objectifs à ce TP :
1. Premièrement l’utilisation du tableau dynamique croisé (TCD), plus efficace qu’un simple tableau pour
présenter et synthétiser les données.
2. Deuxièmement l’utilisation de la partie développeur (code) sous VBA pour Excel.
Exercice 1 : TCD
Un tableau croisé dynamique c'est un agrégateur. C'est-à-dire qu'il s'agit d'un outil qui va à la fois regrouper et
additionner des valeurs sans que vous ayez à réaliser la moindre formule. Contrairement aux idées reçues un
tableau croisé dynamique est un outil simple d'utilisation.
Mais il est vrai que la longueur de son nom peut faire penser que l'outil est complexe, pourtant il n'en n'est rien.
• Jamais dans un TCD vous ne devez avoir des données déjà agrégées (c.-à-d. faisant déjà l'objet
d'opérations de regroupement). Les données doivent être granulaires.
• Aucune ligne de vos données ne doit être vide.
• Tous les en-têtes de colonnes doivent être renseignés avec un nom unique.
• Chaque ligne du tableau représente une valeur unique (une vente, un salarié, un produit, ...)
1. Créer un tableau dont les entêtes sont : Nom, Téléphone, Email, Achat en cours, Depuis.
2. Remplir la colonne Nom par un nom au choix suivi d'un numéro, exemple : "Thomas1" (puis incrémenter
jusqu'à "Thomas25").
3. Remplir la colonne Téléphone (avec le bon format) par des numéros allant de "01 11 11 11 11"
à "01 11 11 11 35" (les espaces entre les nombres se mettent automatiquement).
3. Remplir la colonne Email par le nom du client correspondant et ajouter @mail.com (utiliser le symbole &
pour la concaténation).
4. Remplir la colonne Achat en cours par onze "Essence", dix "Diesel" et quatre "Electrique", puis la colonne
Depuis par des chiffres entre 1 et 7.
5. Rajouter une colonne voisine de Depuis, nommée A rappeler et la remplir en inscrivant des "oui" si l'achat
est en cours depuis plus de 4 jours. Pour une meilleure lisibilité, utiliser la mise sous forme conditionnelle.
6. Sélectionner tout le tableau, et insérer un Tableau dynamique croisé dans la même feuille à droite du
tableau existant.
7. Dans le tableau de commande qui apparaît, glisser "Achat en cours" dans Etiquettes de ligne et "A rappeler"
dans Valeurs puis Etiquettes de Ligne. Constater le résultat.
8. Constater ce que cela change si l'on échange dans Etiquettes de ligne l'ordre de "Achat en cours" et "A
rappeler" ?
9. Etablir différentes statistiques à l'aide du Tableau dynamique croisé, sous plusieurs formes (pourcentages,
moyennes, etc ...). Changer les étiquettes de ligne, les filtres, pour analyser les résultats. Le tout avec un
visuel agréable (en couleurs ...).
R1.07
Tableau dynamique croisé
&
TP3
Initiation VBA
Notre classeur Excel doit maintenant contenir 7 Feuilles : Exo1, Exo2 etc. Créer une macro Interaction() dans le
module VBA. Pour agir sur la feuille Exo1 seulement, il faut indiquer à VBA qu'on veut travailler sur cette feuille grâce
à la commande :
Worksheets("Exo1")
Pour changer la couleur de police d'une cellule, on peut utiliser la commande .Font.Color.
Par exemple :
Worksheets("Exo2").Cells(4,3).Font.Color = RGB(150, 150, 150)
Ecrire une macro qui colorie une ligne sur 2 de la couleur RGB(150, 150, 150) dans la feuille Exo1, et une ligne sur 3
d'une autre couleur dans la feuille 2. Se limiter à 100 lignes. Rajouter un bouton sur une des feuilles pour appeler la
macro.
Aide VBA
Rnd Renvoie un nombre aléatoire entre [0; 1[
WorksheetFunction.Floor(x ; 1) Renvoie la partie entière de x
nb1 Mod nb2 Renvoie le modulo de nb1 par nb2
RGB(x, y, z) Donne une couleur Red/Green/Blue où x,y,z compris entre 0 et 255
MsgBox "message" Affiche "message" dans une fenêtre