Professional Documents
Culture Documents
End Sub
Les arguments sont des paramtres ventuellement transmis la routine
pour quelle puisse les traiter. Une routine dbute par linstruction Sub,
suivie du nom de la routine.
Rgles dappellation des routines
Les noms des routines peuvent comprendre des lettres et des chiffres,
mais le premier caractre doit tre une lettre. Si le nom est compos de
plusieurs mots, ces derniers doivent tre spars par le caractre de
soulignement (pas despace ni de point). Il vaut mieux viter les
caractres accentus car ils peuvent occasionner des dysfonctionnements
imprvisibles.
198 LE GUIDE DES EXPERTS
Travailler avec Visual Basic pour Applications
Chapitre 6
La routine se termine par linstruction End Sub, mais il est possible de
prvoir une sortie anticipe, dans certaines situations, grce
linstruction Exit Sub.
Il est possible dappeler une routine partir dune autre routine grce
linstruction Call, suivie du nom de la routine appele.
Une routine est dite "publique" lorsquelle peut tre appele depuis
dautres modules de code. Une routine prive est, quant elle, uniquement
accessible depuis son propre module. Pour crer une routine publique, il
faut utiliser Public Sub. Pour crer une routine prive, il faut utiliser
linstruction Private Sub. la diffrence des routines prives, les
routines publiques apparaissent dans la bote de dialogue Macro.
Les fonctions
Les fonctions sont galement constitues dun ensemble dinstructions,
mais la diffrence des routines, elles renvoient un rsultat obtenu grce
un calcul.
Une routine est construite de la faon suivante :
Function Nom_Fonction (Arguments)
Instruction
Instruction
Nom_Fonction=Expression
End Function
Les arguments sont des paramtres ventuellement transmis la
fonction pour quelle puisse les traiter. Une fonction dbute par
linstruction Function, suivie du nom de la fonction.
La fonction se termine par linstruction End Function mais il est
possible de prvoir une sortie anticipe, dans certaines situations, grce
linstruction Exit Function.
Il est impratif que la dernire ligne de la fonction renvoie le rsultat du
calcul. Voici par exemple une fonction simplie de conversion des
francs en euros :
Function Conv_Euro (Montant)
Conv_Euro=Montant/6.55957
End Function
Comme pour les routines, il existe des fonctions publiques (Public
Function) et des fonctions prives (Private Function).
Quelques notions de base
Chapitre 6
199 LE GUIDE DES EXPERTS
Les variables
Les variables sont utilises dans les routines et les fonctions pour
stocker des donnes. Les variables peuvent tre de plusieurs types :
j objets ;
j numriques ;
j chanes de caractres ;
j boolennes (vrai ou faux) ;
j dates.
Objets
Une telle variable peut contenir une cellule, une feuille de calcul, etc.
Numriques
Il existe plusieurs types de variables numriques. Elles dpendent de la
prcision et de ltendue de la plage de valeurs :
j Byte : 0 255.
j Integer : 32 768 32 767.
j Long : 2 147 483 648 2 147 483 647.
j Single : 3,402823E38 1,401298E45 pour les valeurs
ngatives, et 1,401298E45 3,402823E38 pour les valeurs
positives.
j Double : 1,79769313486231E308 4,94065645841247E-324
pour les valeurs ngatives, et 4,94065645841247E-324
1,79769313486232E308 pour les valeurs positives.
j Currency : 922 337 203 685 477,5808 922 337 203 685 477,5807.
Ce type de donnes est utilis dans les calculs montaires ou dans les
calculs virgule xe pour lesquels une grande prcision est requise.
j Decimal : pour les nombres qui nont pas de dcimales, la plage
de valeurs est +/79 228 162 514 264 337 593 543 950 335. Pour
les nombres 28 dcimales, la plage est
+/7,9228162514264337593543950335.
Le sparateur dcimal est systmatiquement le point.
200 LE GUIDE DES EXPERTS
Travailler avec Visual Basic pour Applications
Chapitre 6
Chanes de caractres
Il existe deux types de chanes de caractres :
j les chanes de caractres longueur xe qui peuvent contenir
jusqu 65 400 caractres ;
j les chanes de caractres longueur variable qui peuvent contenir
jusqu 2 milliards de caractres.
Boolennes
Elles peuvent prendre seulement deux valeurs :
j True : vrai ;
j False : faux.
Dates
VBA accepte les dates jusquau 31 dcembre 9999.
Dclarer les variables
Il est prfrable de dclarer les variables au dbut dune procdure. La
dclaration consiste donner le nom de la variable et spcier le type
de donnes quelle peut recevoir. Cela permet de visualiser rapidement
les donnes utilises par votre procdure et vite dventuelles erreurs.
En effet, si vous dclarez une variable comme numrique, vous ne
pourrez lui affecter du texte.
Linstruction utilise est Dim. Sa syntaxe est la suivante :
Dim Nom_Variable As Type_de_Donne
Dans la syntaxe, Type_de_Donne peut prendre les valeurs suivantes :
j Object ;
j Byte ;
j Integer ;
j Long ;
j Single ;
j Double ;
j Currency ;
Quelques notions de base
Chapitre 6
201 LE GUIDE DES EXPERTS
j String : chane de caractres de longueur variable ;
j String * Nb_Caractres : chane de caractres de longueur
gale Nb_Caractres ;
j Boolean ;
j Date ;
j Variant.
Le dernier type de variable peut contenir tout type de valeur (numrique,
caractre). Il est utiliser lorsque vous ne connaissez pas le type des
donnes susceptibles dtre affectes une variable. Lorsque vous ne
dclarez pas vos variables, elles sont cres automatiquement avec ce
type de donnes. Ce dernier est gourmand en mmoire car il prvoit de
lespace pour accepter tous les autres types.
Affectation de valeurs aux variables
Exemple daffectation dune valeur numrique une variable :
Variable_Num=10
Exemple daffectation dune chane de caractres une variable :
Variable_Chaine="Texte"
Exemple daffectation dune date une variable :
Variable_Date=#16/10/71#
Exemple daffectation dune valeur boolenne une variable :
Variable_Booleen=True
Les tableaux
Dans certaines situations, il est ncessaire de stocker des listes de
valeurs, une liste de noms par exemple. Le nom de la variable est unique
mais chaque valeur est repre par un numro ou indice. Par exemple :
Dim Noms(10) As String
Nom(0)="Pierre"
Nom(1)="Paul"
Nom(2)="Jacques"
End If
Syntaxe 3 :
If expression Then
Instruction
Instruction
End If
Syntaxe 4 :
If expression1 Then
Instruction
Instruction
Else
Instruction
Instruction
End If
Exemple :
If Prix>1000 Then
Remise=0,1
ElseIf Prix>500 then
Remise=0.05
Else
Remise=0
End If
Select Case End Select
Excute un des blocs dinstructions indiqus, selon la valeur dune
expression.
Syntaxe 1 :
Select Case expression
Case valeur1
Instruction
Instruction
Case valeur2
Instruction
Instruction
Case Else
Instruction
Instruction
206 LE GUIDE DES EXPERTS
Travailler avec Visual Basic pour Applications
Chapitre 6
End Select
Syntaxe 2 :
Select Case expression
Case valeur1 To valeur 3
Instruction
Instruction
Case valeur4
Instruction
Instruction
Case Else
Instruction
Instruction
End Select
Exemple :
Select Case code_client
Case 1 To 3
Remise=0.1
Case 4
Remise=0.05
Case 5
Remise=0.02
Case Else
Remise=0
End Select
Do Loop
Rpte un bloc dinstructions aussi longtemps quune condition est vraie
(True) ou jusqu ce quune condition devienne vraie (True).
Syntaxe 1 :
Do While condition
Instruction
Instruction
Loop
Les instructions sont excutes tant que la condition est vraie. Si la
condition nest pas ralise avant lentre dans la boucle, les instructions
ne seront pas modies.
Quelques notions de base
Chapitre 6
207 LE GUIDE DES EXPERTS
Syntaxe 2 :
Do Until condition
Instruction
Instruction
Loop
Les instructions sont excutes jusqu ce que la condition devienne
vraie. Si la condition est ralise avant lentre dans la boucle, les
instructions ne seront pas modies.
Syntaxe 3 :
Do
Instruction
Instruction
Next compteur
La variable compteur prendra successivement les valeurs de dbut
fin, pas tant ajout chaque passage. pas peut tre positif ou ngatif,
entier ou dcimal.
Exemple :
For i=1 to 100
Nom(i)=""
Next i
Cette boucle permet dinitialiser le tableau Nom.
For Each Next
Rpte un groupe dinstructions pour chaque lment dun tableau ou
dune collection.
Syntaxe :
For Each lment In groupe
Instruction
Instruction
Next lment
Le ux entre dans la boucle si largument groupe contient au moins un
lment. Une fois le ux entr dans la boucle, toutes les instructions de
cette dernire sont appliques au premier lment de groupe. Si
groupe comprend plusieurs lments, la boucle continue de sexcuter
pour chaque lment. Une fois tous les lments de groupe traits, la
boucle est ferme et lexcution se poursuit par linstruction situe aprs
linstruction Next.
groupe peut par exemple tre une plage de cellules. Les instructions
seront alors appliques chacune des cellules de la plage.
Quelques notions de base
Chapitre 6
209 LE GUIDE DES EXPERTS
Exemple :
For Each cellule In Range("A1:B3")
cellule.Value="Test"
Next
Cette boucle remplira la plage A1:B3 avec la valeur Test.
GoTo
Effectue un branchement inconditionnel vers une ligne dtermine dune
procdure. Linstruction GoTo ne peut effectuer un branchement que
vers des lignes qui appartiennent la procdure dans laquelle elle est
utilise.
Syntaxe : GoTo tiquette
tiquette Indique lemplacement de la ligne.
Exemple :
If Prix>1000 then GoTo Remise
Remise:
Prix=Prix*0.95
On Error Goto
Valide une routine de gestion des erreurs et dnit son emplacement au
sein dune procdure.
Syntaxe : On Error GoTo tiquette
tiquette Indique lemplacement de la routine de gestion des
erreurs.
Exemple :
Sub Test
On Error GoTo Erreur
Exit Sub
Erreur:
Instructions de traitement des erreurs
End Sub
Il est souhaitable de positionner linstruction Exit Sub avant le dbut
de la routine de traitement des erreurs. Elle permet en effet de quitter la
210 LE GUIDE DES EXPERTS
Travailler avec Visual Basic pour Applications
Chapitre 6
procdure sans que les instructions de traitement soient
systmatiquement excutes quand tout se passe bien.
6.2. Lditeur Visual Basic
Nous allons prsent dcrire de faon plus dtaille les fonctionnalits
de lenvironnement VBE, notamment en ce qui concerne les possibilits
dorganisation des projets et de saisie du code.
Vous pourrez constater que lergonomie de VBE nest pas la mme que
celle dExcel 2007. En effet, VBE utilise toujours les barres de menus et
les barres doutils et ne dispose donc pas du Ruban.
Afficher longlet Dveloppeur
Pour bncier pleinement des possibilits de Visual Basic pour
Applications dans Excel 2007, vous devez afficher un onglet
supplmentaire dans le Ruban : longlet Dveloppeur.
1 Cliquez sur le bouton Microsoft Office puis sur Options Excel.
Slectionnez la catgorie Personnaliser.
2 Cochez la case Afficher longlet Dveloppeur dans le Ruban.
3 Cliquez sur OK.
Longlet Dveloppeur est compos des groupes suivants :
j Code permet daccder lditeur VBA, lenregistrement et au
lancement des macros.
j Contrles permet de crer et de modier des contrles actifs
(boutons, listes de choix).
j XML permet daccder aux fonctionnalits lies XML.
Figure 6.1
Lditeur Visual Basic
Chapitre 6
211 LE GUIDE DES EXPERTS
Lenvironnement
Pour accder lditeur VBA, vous avez deux solutions :
j Sous longlet Dveloppeur, cliquez sur le bouton Visual Basic du
groupe Code.
j Appuyez sur [Alt]+[F11].
Une fois lditeur ouvert, vous pouvez y accder en cliquant sur son
bouton dans la barre des tches.
Lenvironnement prsente deux fentres principales :
j lExplorateur de projets ;
j la fentre des modules.
LExplorateur de projets
Il prsente, de manire hirarchique, les lments des projets en cours.
chaque classeur est associ un projet contenant :
j les feuilles de calcul et les graphiques ;
j les modules ;
j les botes de dialogue personnalises.
Pour accder un des lments de larborescence, double-cliquez
dessus.
Figure 6.2
212 LE GUIDE DES EXPERTS
Travailler avec Visual Basic pour Applications
Chapitre 6
Pour ouvrir lExplorateur de projets (si celui-ci nest pas affich), vous
avez deux solutions :
j Dans le menu Affichage, choisissez Explorateur de projets.
j Appuyez sur [Ctrl]+[R].
Les modules
Pour accder au code dun module, il faut double-cliquer sur son nom
dans lExplorateur de projets. Le module actif est alors indiqu en gris
dans lExplorateur de projets.
Un projet peut comprendre plusieurs modules, permettant ainsi de
regrouper de faon cohrente les diverses procdures.
Pour crer un nouveau module :
1 Slectionnez le projet dans lequel doit se trouver ce module.
2 Choisissez la commande Module du menu Insertion.
Pour donner un nom un module :
1 Slectionnez ce module.
2 Choisissez la commande Proprits du menu Affichage (ou
appuyez sur [F4]).
3 Modiez la proprit Name.
Pour copier un module dans un autre projet :
1 Slectionnez le module.
2 Faites-le glisser sur le projet de destination.
Figure 6.3
Figure 6.4
Lditeur Visual Basic
Chapitre 6
213 LE GUIDE DES EXPERTS
Pour supprimer un module :
1 Slectionnez ce module.
2 Cliquez du bouton droit.
3 Dans le menu contextuel, choisissez la commande Supprimer.
Une bote de dialogue saffiche pour demander si le module doit tre
export (sous forme de chier texte) avant la suppression.
La fentre des modules affiche toutes les procdures du module. Elle
prsente deux listes droulantes au sommet :
j La premire affiche les objets rfrencs dans le module (par
exemple, les boutons sur une feuille de calcul).
j La seconde donne accs une zone de dclaration (pour les
variables publiques) ainsi qu chacune des procdures du
module.
La fentre des modules affiche soit toutes les procdures spares par un
trait horizontal, soit une procdure la fois. Le basculement entre ces
deux affichages est ralis laide des deux boutons situs en bas
gauche de la fentre.
Le code
Le code est saisi dans un module. Cette rgle ne souffre aucune
exception.
Pour commencer une nouvelle procdure :
1 Dans la fentre de module, saisissez linstruction Sub ou
Function suivie du nom de la procdure.
2 Saisissez ensuite le code. Pour ce faire, vous disposez des
fonctionnalits classiques de Copier/Coller et de
Rechercher/Remplacer.
Figure 6.5
214 LE GUIDE DES EXPERTS
Travailler avec Visual Basic pour Applications
Chapitre 6
Lors de la saisie, il est souhaitable de dcaler les lignes de code (touche
[]) pour respecter le structure des blocs. Cela amliore la lisibilit.
Au fur et mesure de la saisie, lditeur analyse les instructions que
vous entrez. Ds quil reconnat le nom dun objet, il vous propose une
liste droulante des proprits et mthodes disponibles pour cet objet. Il
suffit alors de slectionner ce qui vous convient et dappuyer sur [].
Il est possible de forcer laffichage de cette liste droulante.
1 Cliquez du bouton droit aprs lobjet souhait.
2 Dans le menu contextuel, slectionnez Rpertorier les
proprits/mthodes.
Lors de la saisie dune fonction, lditeur affiche une info-bulle prcisant
la syntaxe de cette fonction.
Il est possible de forcer laffichage de cette info-bulle.
1 Cliquez du bouton droit aprs la fonction souhaite.
2 Dans le menu contextuel, slectionnez Info express.
Figure 6.6
Figure 6.7
Figure 6.8
Lditeur Visual Basic
Chapitre 6
215 LE GUIDE DES EXPERTS
6.3. Manipuler les tableaux croiss
dynamiques
Nous allons tout dabord dcrire comment crer un tableau crois
dynamique, puis comment lorganiser.
Crer un tableau crois dynamique
Pour illustrer la cration dun tableau crois dynamique, nous allons
utiliser un classeur qui contient une feuille de calcul nomme Ventes.
Cette feuille contient le dtail des ventes par rgion, ville, famille,
produit pour les annes 2006 et 2007.
Au pralable, nous avons cr un tableau de donnes (bouton Tableau
du groupe Tableaux de longlet Insertion) nomm Ventes qui englobe
lintgralit de la base de donnes.
Mise jour des tableaux croiss dynamiques
Il nest pas ncessaire de crer un tableau de donnes, mais cela
facilite la mise jour des futurs tableaux croiss dynamiques. En effet,
si vous crez un tableau crois dynamique partir dune plage
"normale", lorsque vous ajouterez des donnes votre base, celles-ci ne
Figure 6.9
Figure 6.10
216 LE GUIDE DES EXPERTS
Travailler avec Visual Basic pour Applications
Chapitre 6
seront pas prises en compte dans le tableau crois dynamique. En
revanche, avec un tableau, ce sera bien le cas.
Nous allons prsent crer un tableau crois dynamique dans une
nouvelle feuille de calcul, partir du tableau Ventes. Ce tableau crois
dynamique va totaliser le chiffre daffaires par rgion et par famille de
produits.
Pour cela, nous allons crer la procdure Creer_TCD :
Sub Creer_TCD()
Dim Ma_Feuille As Worksheet
Dim Mon_Cache As PivotCache
Dim Mon_TCD As PivotTable
Set Ma_Feuille = Worksheets.Add
Set Mon_Cache = ActiveWorkbook.PivotCaches
.Create(xlDatabase, "Ventes")
Set Mon_TCD = Mon_Cache.CreatePivotTable(Ma_Feuille
.Range("A3"))
With Mon_TCD
.PivotFields("Rgion").Orientation = xlRowField
.PivotFields("Famille").Orientation = xlColumnField
.AddDataField .PivotFields("CA"), "C.A.", xlSum
.DataFields("C.A.").NumberFormat = "0 "
End With
End Sub
Figure 6.11
Manipuler les tableaux croiss dynamiques
Chapitre 6
217 LE GUIDE DES EXPERTS
Quelques explications sur cette procdure :
j La variable Ma_Feuille est dclare en tant que feuille de
calcul.
j La variable Mon_Cache est dclare en tant que cache mmoire.
Nous reviendrons par la suite sur cette notion.
j La variable Mon_TCD est dclare en tant que tableau crois
dynamique.
j La variable Ma_Feuille fait dsormais rfrence la feuille
nouvellement cre.
j Il sagit ensuite de crer un cache mmoire partir du tableau
Ventes laide de mthode Create de la collection
PivotCaches du classeur actif. Le premier paramtre permet de
spcier le type de source de donnes (xlDatabase correspond
une plage de cellules).
j partir du cache cr ltape prcdente (rfrenc par la
variable Mon_Cache), il sagit maintenant de crer un tableau
crois dynamique. Pour cela, nous utilisons la mthode
CreatePivotTable de lobjet Cache. Il suffit de lui fournir
ladresse de la cellule suprieure gauche de la plage de
destination. Ici, nous allons crer le tableau crois dynamique
dans la nouvelle feuille de calcul.
j Linstruction With permet de spcier que lon va travailler avec
les proprits et les mthodes de lobjet PivotTable contenu
dans Mon_TCD.
j Chaque colonne du tableau Ventes est un champ de donne pour
le tableau crois dynamique. Ces champs font partie de la
collection PivotFields. Il sagit donc ici de spcier que le
champ Rgion doit tre plac en ligne (proprit Orientation
gale xlRowField).
j Il sagit ensuite de spcier que le champ Famille doit tre plac
en colonne (proprit Orientation gale xlColumnField).
j Aprs avoir positionn les champs danalyse, il convient dajouter
un champ de donne, laide de la mthode AddDataField de
lobjet Mon_TCD. Cette mthode requiert le champ utiliser
(.PivotFields("CA")), ltiquette qui doit apparatre
("C.A.") et enn la fonction de synthse (ici la somme, xlSum).
j Une fois le champ de donne ajout, il est possible de spcier
son format laide de sa proprit NumberFormat.
218 LE GUIDE DES EXPERTS
Travailler avec Visual Basic pour Applications
Chapitre 6
Autre mthode de cration
Pour crer un tableau crois dynamique, il est possible dutiliser la
mthode Add de la collection PivotTables dune feuille de calcul. Il
faut lui fournir un cache mmoire, ainsi que ladresse de destination.
Set Mon_TCD = Ma_Feuille.PivotTables.Add(Mon_Cache,
Range("A3"))
Les deux mthodes sont aussi performantes lune que lautre. Cest donc
une affaire de choix.
Les objets de type PivotCache sont des caches mmoire, cest--dire
des espaces de mmoire o les donnes sont stockes, en provenance de
la base de donnes. Il sagit dune "passerelle" entre la base de donnes
et les tableaux croiss dynamiques. Il est possible de crer plusieurs
tableaux croiss dynamiques partir dun mme cache.
Cration dun cache partir de donnes externes
Il est possible de crer un cache partir de donnes externes. Il faut
le spcier la cration :
Set Mon_Cache = ActiveWorkbook.PivotCaches
.Create(xlExternal)
Il faudra ensuite mettre jour la proprit Recordset du cache avec une
connexion aux donnes, de type ADO par exemple.
Les diffrentes fonctions de synthse
des champs de donnes
Lorsque vous ajoutez un champ de donne laide de la mthode
AddDataField, vous devez spcier une fonction de synthse, laide
dun paramtre.
Le tableau suivant donne la liste des fonctions disponibles.
Tableau 6.1 : Liste des fonctions disponibles
Constante Valeur Fonction correspondante
xlAverage -4106 Moyenne.
xlCount -4112 Dcompte.
Manipuler les tableaux croiss dynamiques
Chapitre 6
219 LE GUIDE DES EXPERTS
Tableau 6.1 : Liste des fonctions disponibles
Constante Valeur Fonction correspondante
xlCountNums -4113 Compte uniquement les valeurs numriques.
xlMax -4136 Maximum.
xlMin -4139 Minimum.
xlProduct -4149 Multiplier.
xlStDev -4155 cart type sur la base dun chantillon.
xlStDevP -4156 cart type sur la base du remplissage entier.
xlSum -4157 Somme.
xlUnknown 1000 Aucune fonction de sous-total indique.
xlVar -4164 Variance sur la base dun exemple.
xlVarP -4165 Variance sur la base du remplissage entier.
Autre technique pour ajouter des champs
un tableau crois dynamique
La procdure suivante permet de crer un nouveau tableau crois
dynamique partir du tableau Ventes.
Figure 6.12
220 LE GUIDE DES EXPERTS
Travailler avec Visual Basic pour Applications
Chapitre 6
Sub Creer_TCD2()
Dim Ma_Feuille As Worksheet
Dim Mon_Cache As PivotCache
Dim Mon_TCD As PivotTable
Set Ma_Feuille = Worksheets.Add
Set Mon_Cache = ActiveWorkbook.PivotCaches
.Create(xlDatabase, "Ventes")
Set Mon_TCD = Mon_Cache.CreatePivotTable(Ma_Feuille
.Range("A3"))
With Mon_TCD
.Name = "TCD1"
.AddFields Array("Rgion", "Ville"), "Famille"
.AddDataField .PivotFields("CA"), "C.A.", xlSum
.DataFields("C.A.").NumberFormat = "0 "
End With
End Sub
Cette procdure est largement comparable la procdure Creer_TCD,
dcrite en dtail plus haut. Nous ne nous intresserons donc quaux
diffrences :
j Vous pouvez noter lutilisation de la proprit Name du tableau
crois dynamique. Cela permettra dy faire rfrence facilement
par la suite, au sein de la collection PivotTables de la feuille.
ActiveSheet.PivotTables("TCD1")
j Pour ajouter des champs danalyse, nous avons utilis la mthode
AddFields du tableau crois dynamique. Il faut lui fournir les
champs de lignes, de colonnes et de pages. Vous pouvez
remarquer lutilisation de Array, qui permet de fournir un tableau
de plusieurs lments, pour ajouter plusieurs champs en une seule
opration.
Actualiser un tableau crois dynamique
Lorsque vous ajoutez des donnes votre base de donnes, ou que vous
modiez des donnes existantes, les tableaux croiss dynamiques qui sy
rfrent ne sont pas automatiquement mis jour. Vous devez forcer cette
mise jour laide de la mthode RefreshTable.
ActiveSheet.PivotTables("TCD1").RefreshTable
Manipuler les tableaux croiss dynamiques
Chapitre 6
221 LE GUIDE DES EXPERTS
Modier la structure dun tableau crois
dynamique
Nous disposons prsent dun tableau crois dynamique fond sur le
mme tableau Ventes et nomm TCD_Ventes_Annuelles.
Il prsente :
j en ligne : les champs Rgion et Famille ;
j en colonne : le champ Exercice ;
j en donnes : le total du chiffre daffaires.
Nous allons lui apporter un certain nombre de modications.
Modier lordre des champs danalyse
Une premire manire de modier la structure dun tableau crois
dynamique consiste changer lordre des champs danalyse. Nous
allons intervertir les champs Rgion et Famille.
Figure 6.13
222 LE GUIDE DES EXPERTS
Travailler avec Visual Basic pour Applications
Chapitre 6
Dim Mon_TCD As PivotTable
Set Mon_TCD = ActiveSheet.PivotTables("TCD_Ventes_Annuelles")
Mon_TCD.PivotFields("Famille").Position = 1
La proprit Position du champ Famille est dsormais gale 1. Cela
signie que le champ Famille est le champ de ligne situ le plus
gauche. Plus la valeur de la proprit Position est faible, plus le
champ est un niveau lev dans la hirarchie des champs.
En modiant la proprit Position, on peut rorganiser les champs de
lignes et de colonnes.
Masquer un lment
Dans certaines analyses, il peut tre intressant de masquer des valeurs
de champs de lignes et/ou de colonnes. Nous allons masquer la valeur
EST du champ Rgion.
Dim Mon_TCD As PivotTable
Set Mon_TCD = ActiveSheet.PivotTables("TCD_Ventes_Annuelles")
Mon_TCD.PivotFields("Rgion").PivotItems("EST").Visible = False
Figure 6.14
Manipuler les tableaux croiss dynamiques
Chapitre 6
223 LE GUIDE DES EXPERTS
La collection PivotItems rfrence tous les lments (valeurs
possibles) dun champ de ligne ou de colonne.
Pour afficher nouveau tous les lments dun champ, vous pouvez
utiliser la mthode ClearManualFilter.
Mon_TCD.PivotFields("Rgion").ClearManualFilter
Modier laffichage des champs de donnes
Pour certaines analyses, il peut savrer intressant dafficher les champs
de donnes en pourcentage, et non en valeur. Nous allons afficher le champ
de donne C.A. en pourcentage par rapport au total de chaque colonne.
Figure 6.15
Figure 6.16
224 LE GUIDE DES EXPERTS
Travailler avec Visual Basic pour Applications
Chapitre 6
Dim Mon_TCD As PivotTable
Set Mon_TCD = ActiveSheet.PivotTables("TCD_Ventes_Annuelles")
Mon_TCD.DataFields("C.A.").Calculation = xlPercentOfColumn
La proprit Calculation du champ de donne permet de spcier le
type daffichage qui lui est appliqu.
Il est possible de raliser des manipulations plus complexes. Par
exemple, nous allons spcier, pour le champ de donne, un calcul de
diffrence exprime en pourcentage, partir de la valeur correspondant
lexercice 2006.
Mon_TCD.DataFields("C.A.").Calculation =
xlPercentDifferenceFrom
Mon_TCD.DataFields("C.A.").BaseField = "Exercice"
Mon_TCD.DataFields("C.A.").BaseItem = "2006"
Dans ce cas, il faut utiliser les proprits BaseField et BaseItem pour
spcier le champ et llment qui servent de comparaison (champ de
base).
Rtablir laffichage habituel
Pour rtablir laffichage habituel (en valeur), il faut simplement modier
la valeur de la proprit Calculation du champ de donne.
Figure 6.17
Manipuler les tableaux croiss dynamiques
Chapitre 6
225 LE GUIDE DES EXPERTS
Mon_TCD.DataFields("C.A.").Calculation =
xlNoAdditionalCalculation
Liste des types daffichages
Tableau 6.2 : Liste des valeurs possibles pour la proprit Calculation
Constante Valeur Description
xlDifferenceFrom 2 Diffrence par rapport la valeur de
llment de base du champ de base.
xlIndex 9 Donnes calcules ainsi : ((Valeur de
la cellule) (Total gnral des totaux
gnraux))/((Total gnral de
ligne) (Total gnral de colonne)).
xlNoAdditional
Calculation
-4143 Aucun calcul.
xlPercentDifference
From
4 Diffrence de pourcentage par rapport
la valeur de llment de base du
champ de base.
xlPercentOf 3 Pourcentage de la valeur de llment
de base du champ de base.
xlPercentOfColumn 7 Pourcentage du total de la colonne ou
de la srie.
xlPercentOfRow 6 Pourcentage du total de la ligne ou de
labscisse.
xlPercentOfTotal 8 Pourcentage du total gnral de
toutes les donnes ou des points de
donnes du rapport.
xlRunningTotal 5 Cumul glissant dans le champ de
base.
Ajouter un champ de colonne
An daffiner lanalyse, il peut tre ncessaire dajouter un ou plusieurs
champs de lignes et/ou de colonnes un tableau crois dynamique. Dans
cet exemple, nous allons ajouter le champ Trimestre en colonne.
Dim Mon_TCD As PivotTable
Set Mon_TCD = ActiveSheet.PivotTables("TCD_Ventes_Annuelles")
226 LE GUIDE DES EXPERTS
Travailler avec Visual Basic pour Applications
Chapitre 6
Mon_TCD.AddFields ColumnFields:="Trimestre", addtotable:=True
Nous avons utilis la mthode AddFields en spciant la valeur
Trimestre pour le paramtre ColumnFields (champs de colonnes). Le
paramtre Addtotable permet dindiquer, lorsquil vaut True, que le
champ doit sajouter aux champs existants, et non les remplacer comme
cest le cas par dfaut.
Changer la disposition du rapport
Vous avez la possibilit dopter pour lun des trois types dorganisations
pour votre tableau crois :
j Forme compacte : cest la forme par dfaut lors de la cration du
tableau. Les intituls des champs de lignes et de colonnes ne sont
pas affichs. Les listes tiquettes de lignes et tiquettes de colonnes
prsentent les valeurs du champ de ligne ou de colonne
slectionn. Les champs de lignes sont condenss en une seule
colonne.
j Mode Plan : les intituls de tous les champs de lignes et de
colonnes apparaissent intgralement. Chaque champ de ligne est
affich dans une colonne indpendante.
j Forme tabulaire : ctait la prsentation par dfaut dans les
prcdentes versions dExcel. La forme tabulaire est une forme
Figure 6.18
Manipuler les tableaux croiss dynamiques
Chapitre 6
227 LE GUIDE DES EXPERTS
drive du mode Plan prcdent. Les sous-totaux des champs de
lignes sont toutefois placs en bas de chaque groupe.
Pour spcier le choix dune disposition, vous disposez de la mthode
RowAxisLayout. Ainsi, pour spcier le mode Plan :
Dim Mon_TCD As PivotTable
Set Mon_TCD = ActiveSheet.PivotTables("TCD_Ventes_Annuelles")
Mon_TCD.RowAxisLayout xlOutlineRow
Tableau 6.3 : Liste des valeurs possibles pour largument de RowAxisLayout
Constante Description
xlCompactRow Forme compacte
xlOutlineRow Mode Plan
xlTabularRow Forme tabulaire
Vous avez galement la possibilit dutiliser la proprit
LayoutBlankLine des champs de lignes pour insrer une ligne vide
la n de chaque lment.
Mon_TCD.PivotFields("Famille").LayoutBlankLine = True
Figure 6.19
Figure 6.20
228 LE GUIDE DES EXPERTS
Travailler avec Visual Basic pour Applications
Chapitre 6
Trier les donnes
Il est possible de trier les donnes dun tableau crois selon les champs
de valeurs ou de lignes, selon un ordre croissant ou dcroissant.
Dim Mon_TCD As PivotTable
Set Mon_TCD = ActiveSheet.PivotTables("TCD_Ventes_Annuelles")
Mon_TCD.PivotFields("Rgion").AutoSort Order:=xlDescending,
Field:="C.A."
Pour effectuer le tri des rgions par ordre dcroissant du chiffre
daffaires, nous avons utilis la mthode Autosort du champ Rgion
(identi laide de PivotFields("Rgion")). Le paramtre Order
permet de spcier lordre du tri (xlAscending pour un tri par ordre
croissant, xlDescending pour un tri dcroissant) et le paramtre
Field permet de spcier le nom du champ qui sert de cl de tri.
Afficher le dtail
Le principal intrt des tableaux croiss dynamiques rside dans leur
capacit synthtiser les donnes. Toutefois, il est parfois intressant de
visualiser le dtail des donnes sous-jacentes, an deffectuer une
analyse plus ne sur certains points. Par exemple, nous allons prsent
consulter le dtail des ventes de la famille ACCESSOIRES pour la
rgion SUD au quatrime trimestre de lanne 2006.
Dim Mon_TCD As PivotTable
Set Mon_TCD = ActiveSheet.PivotTables("TCD_Ventes_Annuelles")
Figure 6.21
Manipuler les tableaux croiss dynamiques
Chapitre 6
229 LE GUIDE DES EXPERTS
Mon_TCD.TableRange1.Cells(6, 6).ShowDetail = True
Nous avons utilis la proprit ShowDetail de la cellule contenant le
total des ventes de la famille ACCESSOIRES pour la rgion SUD au
quatrime trimestre de lanne 2006. Cette cellule est situe sur la
sixime ligne et sur la sixime colonne de la plage de cellules du tableau
crois, reprsente par la proprit TableRange1.
Crer un champ de page et afficher
les pages
Nous allons prsent illustrer le cration dun champ de page. Pour
cela, nous allons entirement "reconstruire" notre tableau en utilisant la
mthode AddFields.
Dim Mon_TCD As PivotTable
Set Mon_TCD = ActiveSheet.PivotTables("TCD_Ventes_Annuelles")
Mon_TCD.AddFields Array("Famille", "Rgion"), "Trimestre",
"Exercice"
Mon_TCD.ShowPages ("Exercice")
Figure 6.22
230 LE GUIDE DES EXPERTS
Travailler avec Visual Basic pour Applications
Chapitre 6
Le dernier paramtre de la mthode AddFields est le champ de page
(ici Exercice). Dans la mesure o nous navons pas spci de valeur
pour le paramtre Addtotable, les champs spcis remplacent les
champs existants.
La mthode ShowPages du tableau crois dynamique permet de crer
autant de feuilles de calcul quil y a de valeurs possibles pour le champ
de page spci (ici Exercice). Dans ces feuilles de calcul, un tableau
crois dynamique identique celui de dpart est cr. Le ltre du champ
de page est positionn la valeur correspondante.
Grouper des valeurs
Prenons lexemple dune base de donnes contenant le dtail des lignes
de commandes quune entreprise a reues de ses clients. Entre autres
informations, il y a bien videmment le produit command, la catgorie,
le montant, la date de commande, la date de livraison, etc.
Figure 6.23
Figure 6.24
Manipuler les tableaux croiss dynamiques
Chapitre 6
231 LE GUIDE DES EXPERTS
Nous souhaitons obtenir une synthse mensuelle des montants des
commandes par catgorie. Nous allons donc construire un tableau crois
dynamique que nous structurerons de la faon suivante :
j champ de ligne : Date de commande ;
j champ de colonne : Catgorie ;
j champ de valeur : Montant.
Pour cela, nous allons crer la procdure Creer_TCD :
Sub Creer_TCD()
Dim Ma_Source As Range
Dim Ma_Feuille As Worksheet
Dim Mon_Cache As PivotCache
Dim Mon_TCD As PivotTable
Nb_Lig = ActiveSheet.Cells(Application.Rows.Count, 1)
.End(xlUp).Row
Nb_Col = ActiveSheet.Cells(1, _ Application
.Columns.Count).End(xlToLeft).Column
Set Ma_Source = ActiveSheet.Cells(1, 1).Resize(Nb_Lig,
Nb_Col)
Set Ma_Feuille = Worksheets.Add
Set Mon_Cache = ActiveWorkbook.PivotCaches
.Create(xlDatabase, _ Ma_Source.Address)
Set Mon_TCD = Mon_Cache.CreatePivotTable(Ma_Feuille
.Range("A3"))
With Mon_TCD
.PivotFields("Date commande").Orientation =
xlRowField
.PivotFields("Catgorie").Orientation =
xlColumnField
.AddDataField .PivotFields("Montant"), "C.A.",
xlSum
.DataFields("C.A.").NumberFormat = "0 "
End With
End Sub
Cette procdure est comparable celle vue prcdemment pour crer un
tableau crois dynamique partir dun tableau de donnes. En revanche,
ici, le tableau crois est cr partir dune plage de cellules "normales".
Alors quavec un tableau de donnes, il suffit de fournir le nom du
232 LE GUIDE DES EXPERTS
Travailler avec Visual Basic pour Applications
Chapitre 6
tableau comme paramtre la mthode Create de la collection
PivotCaches, la dmarche est un peu plus complexe pour une simple
plage de cellules. Nous allons lexpliciter :
j Il sagit tout dabord de dterminer le nombre de lignes de la
plage de cellules (en supposant quelle dbute en A1). Dans un
premier temps, Cells(Application.Rows.Count, 1)
permet datteindre la dernire cellule de la colonne A.
Application.Rows.Count renvoie en effet le numro de la
dernire ligne dune feuille de calcul. partir de cette cellule, il
convient de "remonter" vers la premire cellule contenant une
valeur laide de End(xlUp). Ainsi, cest la dernire cellule
contenant une donne de la colonne A qui est identie. La
proprit Row permet de connatre son numro de ligne. Dans la
mesure o la plage de cellules est suppose dbuter en A1, le
numro de la ligne est aussi le nombre de lignes.
j La dmarche est la mme, mais pour les colonnes.
j La variable objet Ma_Source renvoie donc la plage de cellules
partir de A1 et comprenant Nb_Lig lignes et Nb_Col colonnes.
La mthode Resize permet en effet de redimensionner une plage
initiale (ici la cellule A1 identie par Cells(1,1)).
j Lors de la cration de Mon_Cache, cest ladresse de la plage
Ma_Source qui est utilise laide de la proprit Address qui
renvoie ladresse sous forme classique $A$1:$O$2156.
Bien sr, contrairement un tableau crois cr partir dun tableau de
donnes, ce tableau crois nintgrera pas automatiquement les
nouvelles donnes saisies.
Aprs excution de la macro Creer_TCD, nous pouvons constater que le
tableau crois nest pas conforme nos attentes.
Figure 6.25
Manipuler les tableaux croiss dynamiques
Chapitre 6
233 LE GUIDE DES EXPERTS
En effet, le champ Date de commande est beaucoup trop dtaill pour
tre utilis tel quel comme un champ de ligne. Il va donc falloir grouper
les dates en annes et mois. Pour cela, il faut ajouter les lignes suivantes
la n de la procdure Creer_TCD :
Mon_TCD.RowAxisLayout xlOutlineRow
Mon_TCD.PivotFields("Date commande").LabelRange.Group
Start:=True, End:=True, _ Periods:=Array(False, False,
False, False, True, False, True)
With Mon_TCD.PivotFields("Annes")
.Name = "Anne commande"
.Orientation = xlColumnField
.Position = 2
End With
j La premire ligne active le mode Plan, car linstruction suivante
ne fonctionne pas en mode compact, propos par dfaut lors de
la cration du tableau crois.
j La proprit LabelRange permet daccder ltiquette du
champ. Ensuite, la mthode Group permet de mettre en uvre le
groupement souhait des lments du champ. Le paramtre
Start permet de spcier une valeur de dbut ; sil vaut True,
cest la plus petite valeur du champ qui est utilise. Le paramtre
End permet de spcier une valeur de n ; sil vaut True, cest la
plus grande valeur du champ qui est utilise. Le paramtre
Periods, sous forme de tableau, permet de spcier lintervalle
de groupement. Les valeurs correspondent respectivement au
groupement par minute, heure, jour, mois, trimestre et anne.
Dans notre cas, nous avons choisi un groupement par mois et
anne.
j Le dernier groupe dinstructions a pour but de renommer le
champ Annes, issu du groupement, pour le rendre plus explicite.
Ensuite, il sagit de le placer en champ de colonne, en dessous du
champ Catgorie, pour une meilleure lisibilit du tableau.
Figure 6.26
234 LE GUIDE DES EXPERTS
Travailler avec Visual Basic pour Applications
Chapitre 6
Pour annuler le groupement, vous pouvez utiliser la mthode Ungroup,
qui ne requiert aucun paramtre.
6.4. Cas pratique : analyses
de production
Lobjectif de ce cas pratique est de raliser une macro de traitement de
donnes issues dun logiciel de suivi de production. Ce logiciel permet
dobtenir un chier au format Excel, dtaillant les productions
effectues ainsi que les temps passs chaque jour, dans plusieurs ateliers.
partir de ces donnes, il sagit dobtenir les quantits produites par
semaine, ainsi que la productivit horaire dans chaque atelier. Pour cela,
un chier sera cr pour chaque atelier.
Nous allons prsent dcrire le fonctionnement de la macro intitule
Stat_Prod. Pour plus de clart, nous lavons scinde en trois parties :
j ouverture du chier et cration du tableau crois ;
j construction du tableau crois ;
j cration des classeurs de restitution des analyses.
Ouverture du chier et cration du tableau
crois
Sub Stat_Prod()
Dim Classeur_Prod As Workbook
Dim Mon_Classeur As Workbook
Figure 6.27
Cas pratique : analyses de production
Chapitre 6
235 LE GUIDE DES EXPERTS
Dim Ma_Source As Range
Dim Ma_Feuille As Worksheet
Dim Mon_Cache As PivotCache
Dim Mon_TCD As PivotTable
Nom_Fichier = InputBox("Nom du fichier :", "Fichier",
"DataProd.xlsx")
Repertoire = InputBox("Rpertoire :", "Ouvrir",
ActiveWorkbook.Path)
If Dir(Repertoire & "\" & Nom_Fichier) = "" Then Exit
Sub
Set Classeur_Prod = Workbooks.Open(Repertoire & "\" &
Nom_Fichier)
Nb_Lig = ActiveSheet.Cells(Application.Rows.Count, 1)
.End(xlUp).Row
Nb_Col = ActiveSheet.Cells(1, _
Application.Columns
.Count).End(xlToLeft).Column
Set Ma_Source = ActiveSheet.Cells(1, 1).Resize(Nb_Lig,
Nb_Col)
Set Ma_Feuille = Worksheets.Add
Set Mon_Cache = ActiveWorkbook.PivotCaches
.Create(xlDatabase, _ Ma_Source
.Address)
Set Mon_TCD = Mon_Cache.CreatePivotTable(Ma_Feuille
.Range("A3"))
j Il sagit tout dabord de demander lutilisateur de saisir le nom
du chier de donnes, qui sera stock dans la variable
Nom_Fichier. La valeur par dfaut DataProd.xlsx est
propose.
j Ensuite, lutilisateur doit saisir le rpertoire dans lequel se trouve
le chier de donnes. Ce rpertoire est stock dans la variable
Repertoire. Par dfaut, cest le rpertoire du chier actuel qui
est propos.
j La fonction Dir permet de tester lexistence du chier. Si le
chier nexiste pas, on quitte prmaturment la macro via Exit
Sub.
j Le chier de donnes est ouvert et identi laide de la variable
objet Classeur_Prod.
236 LE GUIDE DES EXPERTS
Travailler avec Visual Basic pour Applications
Chapitre 6
j Il sagit ensuite de dterminer le nombre de lignes et de colonnes
de la plage de cellules, puis de crer successivement une nouvelle
feuille de calcul, le cache et enn le tableau crois dans la
nouvelle feuille.
Construction du tableau crois
With Mon_TCD
.PivotFields("Date").Orientation = xlRowField
.AddDataField .PivotFields("Quantit"), "Units
produites", xlSum
.DataFields("Units produites").NumberFormat = "#
##0"
.AddDataField .PivotFields("Temps pass"), "Temps
(en heures)", xlSum
.DataFields("Temps (en heures)").NumberFormat = "#
##0.00"
.CalculatedFields.Add "Productivit", "=Quantit
/Temps pass"
.AddDataField .PivotFields("Productivit"),
"Productivit horaire", _ xlSum
.DataFields("Productivit horaire").NumberFormat =
"# ##0.00"
.PivotFields("Atelier").Orientation = xlPageField
.RowAxisLayout xlOutlineRow
.PivotFields("Date").LabelRange.Group Start:=True,
End:=True, By:=7, _
Periods:=Array(False, False, False,
True, False, False, False)
j Linstruction With permet de spcier que lon va travailler avec
les proprits et les mthodes de lobjet PivotTable contenu
dans Mon_TCD.
j Pour construire le tableau crois, on ajoute dabord le champ de
ligne Date, puis les champs de valeurs Quantit et Temps pass.
j La mthode Add de la collection CalculatedFields permet
dajouter un champ calcul nomm Productivit et dont la formule
de calcul est la division du champ Quantit par le champ Temps
pass.
j Le champ Productivit nouvellement cr est ajout en tant que
champ de valeur.
Cas pratique : analyses de production
Chapitre 6
237 LE GUIDE DES EXPERTS
j Le champ Atelier est positionn en tant que champ de ltre du
rapport.
j Le tableau crois est affich en mode Plan laide de la mthode
RowAxisLayout.
j Les valeurs du champ de ligne Date sont groupes par jour. Vous
noterez lutilisation du paramtre By, qui permet de spcier
lamplitude des intervalles de regroupement.
Cration des classeurs de restitution
des analyses
For Each Element In .PivotFields("Atelier")
.PivotItems
.PivotFields("Atelier").CurrentPage = Element
.Name
Set Mon_Classeur = Workbooks.Add
Classeur_Prod.Activate
.TableRange1.Copy
Mon_Classeur.Activate
ActiveSheet.Name = Element.Name
ActiveSheet.Cells(3, 1).PasteSpecial _
Paste:=xlPasteValuesAndNumberFormats
Cells.EntireColumn.AutoFit
Cells(1, 1).Value = "Statistiques de latelier
" & Element.Name
Cells(1, 1).Select
Mon_Classeur.SaveAs Repertoire & "\" & Element
.Name
Mon_Classeur.Close
Classeur_Prod.Activate
Next Element
End With
Classeur_Prod.Close False
End Sub
j Pour chaque lment du champ Atelier
238 LE GUIDE DES EXPERTS
Travailler avec Visual Basic pour Applications
Chapitre 6
j Le critre du ltre du rapport est positionn la valeur de
llment du champ Atelier (Element.Name).
j Un nouveau classeur est cr, rfrenc par la variable objet
Mon_Classeur.
j Le classeur contenant les donnes (identi par
Classeur_Prod) est activ.
j Il sagit ensuite de copier la plage de cellules du tableau crois
(proprit TableRange1) laide de la mthode Copy.
j Le nouveau classeur est prsent activ.
j La feuille en cours est renomme avec la valeur du champ Atelier.
j On colle sous forme de valeurs les donnes du tableau crois
pralablement copies, tout en conservant les formats des
nombres.
j La taille des colonnes est ajuste, un titre est inscrit dans la cellule
A1, qui est ensuite slectionne.
j Le classeur rsultat est enregistr dans le rpertoire courant. Il a
pour nom la valeur en cours du champ Atelier. Il est ensuite ferm.
j Le classeur contenant les donnes (identi par
Classeur_Prod) est activ.
j On passe ensuite llment suivant du champ Atelier.
j On ferme le classeur contenant les donnes sans enregistrer les
changements.
Dans notre exemple, cinq chiers ont t crs. Chacun deux prsente
les statistiques propres un atelier.
Figure 6.28
Cas pratique : analyses de production
Chapitre 6
239 LE GUIDE DES EXPERTS
FAQ
Pourquoi utiliser un tableau crois dynamique ? ....................................................... 242
Comment retrouver les commandes des barres doutils dExcel 2003 ? ........... 243
Quelles sont les limites des tableaux croiss ? ......................................................... 249
Comment ractiver le "glisser-dposer" des champs dans un tableau ? ........... 250
Comment mettre jour automatiquement les donnes
dun tableau crois dynamique ? ................................................................................... 250
Comment masquer les valeurs derreur ? ................................................................... 251
Comment obtenir un tableau crois pour chaque valeur dun filtre
de rapport ? ......................................................................................................................... 252
Comment transformer un tableau crois dynamique en valeurs ? ....................... 254
Comment faire rfrence plusieurs plages de cellules
lors de la cration dun tableau crois dynamique ? ................................................ 255
Comment accder des donnes provenant dAccess ? ...................................... 260
Comment accder des donnes provenant dautres sources ? ........................ 263
Nous allons prsent rpondre un certain nombre de questions
relatives aux tableaux croiss dynamiques et leur utilisation.
7.1. Pourquoi utiliser un tableau crois
dynamique ?
Avec un peu de patience et de tnacit, il est parfaitement possible de se
passer des tableaux croiss dynamiques. Pourtant, dans certaines
situations, leur apport permet dincontestables gains de productivit et
de abilit.
Le premier cas demploi des tableaux croiss est sans aucun doute la
synthse dun grand nombre de donnes. Dans ces situations, les tableaux
croiss autorisent la ralisation rapide et able danalyses multidimen-
sionnelles : ventes par rgion et par famille de produits, facturation par
mois et par magasin, etc. Ils vitent la ralisation de tris et de sous-totaux,
la conception de formules de calcul et les erreurs qui vont avec !
Un autre avantage majeur des tableaux croiss rside dans leur grande
souplesse. En effet, il nest pas rare davoir modier les critres
danalyse, voire les changer compltement. Lorsque vous avez
construit un tableau "classique", la seule solution est de repartir zro et
de recrer un nouveau tableau. En revanche, les tableaux croiss vous
permettent de modier rapidement les critres de regroupement, les
donnes analyser, les synthses appliquer, etc.
On peut galement utiliser les tableaux croiss des ns plus
spciques, par exemple pour obtenir la liste des valeurs uniques prises
par un champ de donne. Pour illustrer cette possibilit, nous allons
utiliser une base de donnes contenant le dtail des commandes dune
entreprise. Entre autres donnes, il y a le nom du fournisseur et nous
souhaitons obtenir rapidement la liste des noms des fournisseurs.
Figure 7.1
242 LE GUIDE DES EXPERTS
FAQ
Chapitre 7
Certes, il est possible dutiliser le ltre avanc (bouton Avanc du
groupe Trier et filtrer de longlet Donnes), mais un tableau crois
dynamique est beaucoup plus simple mettre en uvre.
1 Crez un tableau crois partir de la base de donnes (bouton
Insrer un tableau crois dynamique du groupe Tableaux de
longlet Insertion).
2 Cochez la case en regard du champ Fournisseur dans le volet Liste
de champs de tableau crois dynamique.
3 Il ne vous reste qu copier et coller en tant que valeur la liste
ainsi obtenue.
7.2. Comment retrouver
les commandes des barres doutils
dExcel 2003 ?
Les tableaux croiss dynamiques nchappent pas la rnovation de
linterface dExcel 2007. Ainsi, les barres doutils Tableau crois
dynamique et Graphique crois dynamique ont disparu, comme toutes les
Figure 7.2
Comment retrouver les commandes des barres doutils dExcel 2003
Chapitre 7
243 LE GUIDE DES EXPERTS
autres barres doutils dailleurs. Si vous tes habitu lenvironnement
des prcdentes versions, vous pourrez tre quelque peu drout. Pour
vous aider retrouver votre chemin, voici deux tableaux qui font la
correspondance entre les commandes des versions 2003 et antrieures et
la version 2007.
La barre doutils Tableau crois dynamique
Tableau 7.1 : Barre doutils Tableau crois dynamique
Versions 2003 et antrieures Version 2007
Tableau crois dynamique/Mettre
en forme le rapport
Onglet contextuel Cration/Styles de
tableau crois dynamique
Tableau crois
dynamique/Graphique crois
dynamique
Onglet contextuel
Options/Outils/Graphique crois
dynamique
Tableau crois
dynamique/Assistant Tableau
crois dynamique
Bouton Office/Excel
Options/Personnaliser/Toutes les
commandes/Assistant Tableau crois
dynamique
Figure 7.3
244 LE GUIDE DES EXPERTS
FAQ
Chapitre 7
Tableau 7.1 : Barre doutils Tableau crois dynamique
Versions 2003 et antrieures Version 2007
Tableau crois
dynamique/Actualiser les
donnes
Onglet contextuel
Options/Donnes/Actualiser
Tableau crois dynamique/OLAP
hors connexion
Onglet contextuel
Options/Outils/Outils OLAP/OLAP
hors connexion
Tableau crois
dynamique/Masquer
Menu contextuel de
ligne/colonne/Filtrer/Masquer les
lments slectionns
Tableau crois
dynamique/Slectionner/tiquette
Onglet contextuel
Options/Actions/Slectionner/tiquette
Tableau crois
dynamique/Slectionner/Donnes
Onglet contextuel
Options/Actions/Slectionner/Donnes
Tableau crois
dynamique/Slectionner/Donnes
et tiquettes
Onglet contextuel
Options/Actions/Slectionner/Donnes
et tiquettes
Tableau crois
dynamique/Slectionner/Tout le
tableau
Onglet contextuel
Options/Actions/Slectionner/Tout le
tableau
Tableau crois
dynamique/Slectionner/Activer
la slection
Onglet contextuel
Options/Actions/Slectionner/Activer
la slection
Tableau crois
dynamique/Grouper et afficher le
dtail/Masquer
Onglet contextuel Options/Champ
actif/Rduire le champ entirement
Tableau crois
dynamique/Grouper et afficher le
dtail/Afficher les dtails
Onglet contextuel Options/Champ
actif/Dvelopper le champ
entirement
Tableau crois
dynamique/Grouper et afficher le
dtail/Grouper
Onglet contextuel
Options/Groupe/Grouper la slection
Tableau crois
dynamique/Grouper et afficher le
dtail/Dissocier
Onglet contextuel
Options/Groupe/Dissocier
Tableau crois
dynamique/Formules/Champ
calcul
Onglet contextuel
Options/Outils/Formules/Champ
calcul
Comment retrouver les commandes des barres doutils dExcel 2003
Chapitre 7
245 LE GUIDE DES EXPERTS
Tableau 7.1 : Barre doutils Tableau crois dynamique
Versions 2003 et antrieures Version 2007
Tableau crois
dynamique/Formules/lment
calcul
Onglet contextuel
Options/Outils/Formules/lment
calcul
Tableau crois
dynamique/Formules/Ordre de
rsolution
Onglet contextuel
Options/Outils/Formules/Ordre de
rsolution
Tableau crois
dynamique/Formules/Liste des
formules
Onglet contextuel
Options/Outils/Formules/Liste des
formules
Tableau crois
dynamique/Ordre/Dplacer au
dbut
Menu contextuel de cellule dun
tableau crois
dynamique/Dplacer/Dplacer au
dbut
Tableau crois
dynamique/Ordre/Monter
Menu contextuel de cellule dun
tableau crois
dynamique/Dplacer/Monter
Tableau crois
dynamique/Ordre/Descendre
Menu contextuel de cellule dun
tableau crois
dynamique/Dplacer/Descendre
Tableau crois
dynamique/Ordre/Dplacer la
n
Menu contextuel de cellule dun
tableau crois
dynamique/Dplacer/Dplacer la n
Tableau crois
dynamique/Ordre/Dplacer vers
la colonne
Menu contextuel de cellule dun
tableau crois
dynamique/Dplacer/Dplacer vers la
colonne
Tableau crois
dynamique/Paramtres de
champs
Onglet contextuel Options/Champ
actif/Paramtres de champs
Tableau crois dynamique/Sous-
totaux
Onglet contextuel Cration/
Disposition/Sous-totaux
Tableau crois dynamique/Tri et
Top 10
Onglet contextuel Options/Trier
Tableau crois
dynamique/Champs de proprits
Onglet contextuel
Options/Outils/Outils OLAP/Champs
de proprits
Tableau crois
dynamique/Options de tableau
Onglet contextuel Options/Options du
tableau crois dynamique/Options
246 LE GUIDE DES EXPERTS
FAQ
Chapitre 7
Tableau 7.1 : Barre doutils Tableau crois dynamique
Versions 2003 et antrieures Version 2007
Tableau crois
dynamique/Afficher les pages
Onglet contextuel Options/Options du
tableau crois
dynamique/Options/Afficher les pages
de ltre de rapport
Mettre en forme le rapport Onglet contextuel Cration/Styles de
tableau crois dynamique
Assistant Graphique Bouton Office/Excel
Options/Personnaliser/Toutes les
commandes/Assistant Tableau crois
dynamique
Masquer Onglet contextuel Options/Champ
actif/Rduire le champ entirement
Afficher les dtails Onglet contextuel Options/Champ
actif/Dvelopper le champ
entirement
Actualiser les donnes Onglet contextuel
Options/Donnes/Actualiser
Paramtres de champs Onglet contextuel Options/Champ
actif/Paramtres de champs
Afficher la liste de champs Onglet contextuel
Options/Afficher/Masquer/Liste des
champs
Dissocier Onglet contextuel
Options/Groupe/Dissocier
Grouper Onglet contextuel
Options/Groupe/Grouper la slection
Rapport de tableau crois
dynamique et de graphique crois
dynamique
Bouton Office/Excel
Options/Personnaliser/Toutes les
commandes/Assistant Tableau crois
dynamique
Afficher les pages Onglet contextuel Options/Options du
tableau crois
dynamique/Options/Afficher les pages
de ltre de rapport
Actualiser tout Onglet contextuel
Options/Donnes/Actualiser/Actualiser
tout
Comment retrouver les commandes des barres doutils dExcel 2003
Chapitre 7
247 LE GUIDE DES EXPERTS
Tableau 7.1 : Barre doutils Tableau crois dynamique
Versions 2003 et antrieures Version 2007
Gnrer lextraction de donnes
croises dynamiques
Onglet contextuel Options/Options du
tableau crois
dynamique/Options/Gnrer
lextraction de donnes croises
dynamiques
Champs de proprits Onglet contextuel
Options/Outils/Outils OLAP/Champs
de proprits
Tri et Top 10 Onglet contextuel Options/Trier
OLAP hors connexion Onglet contextuel
Options/Outils/Outils OLAP/OLAP
hors connexion
La barre doutils Graphique crois
dynamique
Tableau 7.2 : Barre doutils Graphique crois dynamique
Versions 2003 et
antrieures
Version 2007
Graphique crois
dynamique/Paramtres de
champs
Onglet contextuel Options/Champ
actif/Paramtres de champs
Graphique crois
dynamique/Options
Onglet contextuel Options/Options du
tableau crois dynamique/Options
Figure 7.4
248 LE GUIDE DES EXPERTS
FAQ
Chapitre 7
Tableau 7.2 : Barre doutils Graphique crois dynamique
Versions 2003 et
antrieures
Version 2007
Graphique crois
dynamique/Actualiser les
donnes
Outils de graphique crois
dynamique/Analyse/Donnes/Actualiser
Graphique crois
dynamique/Formules/Champ
calcul
Onglet contextuel
Options/Outils/Formules/Champ calcul
Graphique crois
dynamique/Formules/lment
calcul
Onglet contextuel
Options/Outils/Formules/lment calcul
Graphique crois
dynamique/Formules/Ordre
de rsolution
Onglet contextuel
Options/Outils/Formules/Ordre de
rsolution
Graphique crois
dynamique/Formules/Liste
des formules
Onglet contextuel
Options/Outils/Formules/Liste des
formules
Graphique crois
dynamique/Supprimer le
champ
Cliquez sur le graphique crois
dynamique, puis, dans la liste des champs
du tableau crois dynamique, dsactivez
une case cocher de champ.
7.3. Quelles sont les limites
des tableaux croiss ?
Mme si les tableaux croiss sont de puissants outils de synthse, ils ne
sont pas exempts de limitations. Le tableau suivant prsente les
principales dentre elles, pour les versions 2003 et 2007.
Tableau 7.3 : Limitations relatives aux tableaux croiss
Description Version 2003 Version 2007
Nombre de champs de lignes 65 536 1 048 576
Nombre de champs de colonnes 256 16 384
Nombre de champs de pages 256 16 384
Nombre dlments uniques dans un
mme champ
32 500 1 048 576
Quelles sont les limites des tableaux croiss ?
Chapitre 7
249 LE GUIDE DES EXPERTS
7.4. Comment ractiver
le "glisser-dposer" des champs dans
un tableau ?
Dans les versions prcdentes dExcel ( partir dExcel 2000), il tait
possible de faire glisser les champs de la liste des champs directement
vers le tableau crois, an de construire le tableau crois "en direct".
Cette possibilit nest plus offerte par dfaut dans Excel 2007. Toutefois,
il est possible de ractiver cette fonctionnalit assez pratique.
1 Cliquez sur une cellule du tableau crois dynamique pour le
rendre actif.
2 Cliquez sur le bouton Options du groupe Options de tableau crois
dynamique de longlet contextuel Cration.
3 Dans la bote de dialogue Options du tableau crois dynamique,
slectionnez longlet Affichage.
4 Cochez la case Disposition classique du tableau crois dynamique
(glisser de champs dans la grille).
5 Validez par OK.
7.5. Comment mettre jour
automatiquement les donnes dun
tableau crois dynamique ?
Lorsque les donnes sur lesquelles est fond un tableau crois
dynamique sont modies, celui-ci nest pas automatiquement
ractualis.
Figure 7.5
250 LE GUIDE DES EXPERTS
FAQ
Chapitre 7
Pour mettre jour un tableau crois dynamique aprs un changement
dans les donnes sources :
1 Cliquez sur une cellule du tableau crois dynamique pour le
rendre actif.
2 Cliquez sur le bouton Actualiser du groupe Donnes de longlet
contextuel Options.
Vous pouvez galement faire en sorte que le tableau crois dynamique
soit automatiquement remis jour chaque ouverture du classeur.
1 Cliquez sur une cellule du tableau crois dynamique pour le
rendre actif.
2 Cliquez sur le bouton Options du groupe Options de tableau crois
dynamique de longlet contextuel Cration.
3 Dans la bote de dialogue Options du tableau crois dynamique,
slectionnez longlet Donnes.
4 Cochez la case Actualiser les donnes lors de louverture du fichier.
5 Validez par OK.
7.6. Comment masquer les valeurs
derreur ?
Parfois, un tableau crois affiche une valeur derreur telle que #DIV/0,
notamment si vous utilisez des champs calculs. Cela peut engendrer
des incomprhensions chez le destinataire, voire des doutes sur la
abilit du tableau !
Heureusement, il est possible de faire en sorte de remplacer ces valeurs
disgracieuses par un texte de votre choix.
1 Cliquez sur une cellule du tableau crois dynamique pour le
rendre actif.
Figure 7.6
Comment masquer les valeurs derreur ?
Chapitre 7
251 LE GUIDE DES EXPERTS
2 Cliquez sur le bouton Options du groupe Options de tableau crois
dynamique de longlet contextuel Cration.
3 Dans la bote de dialogue Options du tableau crois dynamique,
slectionnez longlet Disposition et mise en forme.
4 Cochez la case Pour les valeurs derreur afficher.
5 Saisissez le texte afficher, par exemple NS.
6 Validez par OK.
7.7. Comment obtenir un tableau
crois pour chaque valeur dun ltre
de rapport ?
Un ltre de rapport permet, tout en conservant la mme structure de
tableau crois, de ltrer le jeu de donnes utilis en fonction dun
critre. Dans certains cas, il peut tre utile dafficher simultanment les
diffrents tableaux croiss correspondant chaque valeur du ltre de
rapport.
Figure 7.7
Figure 7.8
252 LE GUIDE DES EXPERTS
FAQ
Chapitre 7
Il est possible dafficher en une seule opration les pages relatives
chaque valeur du champ de ltre.
1 Cliquez sur la che situe ct du bouton Options du groupe
Options de tableau crois dynamique de longlet Options.
2 Choisissez Afficher les pages de filtre de rapport.
3 Slectionnez le champ de ltre.
4 Validez par OK.
Figure 7.9
Figure 7.10
Comment obtenir un tableau crois pour chaque valeur dun filtre de rapport ?
Chapitre 7
253 LE GUIDE DES EXPERTS
Automatiquement, Excel cre une feuille pour chaque valeur du champ
de ltre slectionn. Chacune delles a pour nom une valeur du champ
de ltre. Elles contiennent toutes un tableau crois dynamique qui
affiche la page de donnes correspondant cette valeur du champ de
ltre.
Valeur initiale du champ de ltre
An dobtenir une feuille pour chaque valeur du champ de ltre, il est
ncessaire dattribuer au pralable la valeur (Tous) au champ de ltre
considr.
7.8. Comment transformer un tableau
crois dynamique en valeurs ?
Dans certains cas, le tableau crois est juste utile pour raliser une
analyse ponctuelle ou pour synthtiser des donnes. Une fois ces
oprations effectues, seul le rsultat vous intresse et vous navez donc
plus besoin des fonctionnalits du tableau crois, ni des donnes
sources. Dans ce cas, il est alors prfrable de ne conserver que les
valeurs du tableau crois.
1 Slectionnez une cellule du tableau crois.
2 Sous longlet contextuel Options, cliquez sur le bouton
Slectionner du groupe Actions. Choisissez la commande Tableau
crois dynamique complet.
3 Copiez la slection ([Ctrl]+[C]).
4 Cliquez du bouton droit sur lemplacement de destination et
cliquez sur le bouton Coller, puis slectionnez Coller des valeurs.
5 laide du bouton doptions Options de collage, vous avez la
possibilit de conserver les formats du tableau initial.
254 LE GUIDE DES EXPERTS
FAQ
Chapitre 7
7.9. Comment faire rfrence
plusieurs plages de cellules
lors de la cration dun tableau crois
dynamique ?
En rgle gnrale, il est prfrable de crer un tableau crois partir
dune base de donnes unique.
Pour plus dinformations sur la structure des donnes,
reportez-vous au chapitre Crer des tableaux croiss
dynamiques.
Pourtant, il peut savrer utile dtre en mesure de traiter des donnes
issues de plusieurs plages de cellules an de les regrouper dans un
mme tableau crois. Prenons lexemple du tableau suivant qui contient
les ventes par produit et par trimestre pour chacune des rgions.
Chaque rgion fait lobjet dun tableau distinct. Il sagit donc de
regrouper toutes ces valeurs dans un seul et mme tableau crois. Pour
Figure 7.11
Comment faire rfrence plusieurs plages de cellules lors de la cration dun tableau crois dynamique ?
Chapitre 7
255 LE GUIDE DES EXPERTS
cela, il est ncessaire davoir recours lAssistant Tableau crois
dynamique. Cet Assistant qui tait utilis dans les prcdentes versions
dExcel est dsormais "cach". Il est remplac par une interface
simplie, mais qui offre moins de possibilits en matire de choix des
sources de donnes. Il faut donc rendre nouveau visible lAssistant
Tableau crois dynamique.
1 Cliquez sur le bouton Office, puis cliquez sur Options Excel.
2 Slectionnez Personnaliser, puis slectionnez Commandes non
prsentes sur le Ruban dans la liste Choisir les commandes dans les
catgories suivantes.
3 Slectionnez Assistant Tableau crois dynamique, puis cliquez sur
Ajouter.
4 Validez par OK.
LAssistant est dsormais prsent dans la barre daccs rapide. Il reste
maintenant crer le tableau crois.
1 Cliquez sur licne Assistant Tableau crois dynamique de la barre
daccs rapide.
2 Lors de ltape 1, slectionnez Plages de feuilles de calcul avec
tiquettes, puis cliquez sur Suivant.
Figure 7.12
Figure 7.13
256 LE GUIDE DES EXPERTS
FAQ
Chapitre 7
3 Lors de ltape 2, slectionnez Plusieurs (cration manuelle). Il
sagit de spcier le nombre de champs de pages (champs de
ltres) crer. En slectionnant Plusieurs, vous avez la possibilit
de spcier vous-mme les champs de pages. Cest loption la
plus efficace.
4 Slectionnez ensuite la premire plage de cellules intgrer, puis
cliquez sur Ajouter. Dans notre exemple, vous pouvez noter que
nous nintgrons pas les totaux, mais uniquement les donnes de
base.
5 Poursuivez lopration pour lensemble des plages de cellules.
Figure 7.14
Figure 7.15
Comment faire rfrence plusieurs plages de cellules lors de la cration dun tableau crois dynamique ?
Chapitre 7
257 LE GUIDE DES EXPERTS
6 Il reste maintenant spcier le nombre de champs de pages
(champs de ltres). Dans notre exemple, nous aurons besoin dun
seul champ de page (correspondant la rgion). Pour chaque
plage prcdemment slectionne, il reste saisir la valeur du
champ de page correspondante.
7 Cliquez sur Suivant. Vous accdez alors ltape 3, qui vous
permet de slectionner lemplacement du tableau crois. Une fois
le choix fait, cliquez sur Terminer.
8 Le tableau crois est automatiquement cr.
Figure 7.16
Figure 7.17
258 LE GUIDE DES EXPERTS
FAQ
Chapitre 7
Le champ Ligne a t cr partir de la premire colonne des sources de
donnes.
Le champ Colonne contient les valeurs des en-ttes des autres colonnes.
Le champ Page1 contient les valeurs saisies pour le champ de page (ici
la rgion).
Enn, le champ Valeur contient les donnes contenues dans les
diffrentes plages de cellules.
Vous avez bien entendu la possibilit de renommer ces diffrents
champs et de les rorganiser en les dplaant dans les diffrentes zones
de dpt.
Figure 7.18
Figure 7.19
Comment faire rfrence plusieurs plages de cellules lors de la cration dun tableau crois dynamique ?
Chapitre 7
259 LE GUIDE DES EXPERTS
Structure des plages de cellules
Il nest pas ncessaire que toutes les plages de cellules aient les
mmes dimensions. En revanche, il est ncessaire que la premire
colonne contienne les valeurs dun mme champ.
7.10. Comment accder des donnes
provenant dAccess ?
Il est tout fait possible de concilier la puissance dAccess en matire
de gestion et de stockage des donnes avec les fonctionnalits de
synthse et la souplesse des tableaux croiss dynamiques.
Figure 7.20
260 LE GUIDE DES EXPERTS
FAQ
Chapitre 7
En effet, mme si Excel permet de stocker un grand nombre de donnes,
il ne peut prtendre une gestion aussi structure des donnes
quAccess. De plus, Excel ne permet pas de grer les relations entre
tables de donnes, ce qui induit des redondances dans le stockage des
donnes et de moindres performances. En effet, avec Access, vous
pouvez crer une table des produits et une table des commandes. Dans la
table des commandes, seul le numro du produit apparat. Grce ce
numro, il est possible, via une requte, daller chercher les informations
lies au produit (dsignation, tarif). Dans Excel, vous seriez oblig de
stocker dans chaque ligne de commande les informations lies au
produit.
Nous disposons dune base de donnes Access destine
lenregistrement des commandes des clients. Il sagit den faire une
synthse via Excel et un tableau crois dynamique.
1 Cliquez sur le bouton partir du ficher Access du groupe
Donnes externes de longlet Donnes.
2 Slectionnez la base Access utiliser et cliquez sur Ouvrir.
3 Dans la bote de dialogue Slectionner le tableau, vous pouvez
choisir parmi les tables et requtes de la base de donnes. Ici,
slectionnez la requte Commandes Infos dtailles. Cliquez sur
OK.
Figure 7.21
Figure 7.22
Comment accder des donnes provenant dAccess ?
Chapitre 7
261 LE GUIDE DES EXPERTS
4 Dans la bote de dialogue Importation de donnes, slectionnez
Rapport de tableau crois dynamique pour crer directement le
tableau partir des donnes importes. Choisissez lemplacement
o doit tre cr le tableau crois.
5 Le nouveau tableau crois apparat lemplacement spci. Le
volet Liste de champs de tableau crois dynamique reprend les
champs de la requte slectionne dans la base Access.
Vous pouvez alors construire toutes les analyses que vous souhaitez,
comme si les donnes se trouvaient dans une feuille de calcul, alors
quelles se trouvent toujours dans la base Access (aucune copie na t
effectue dans une autre feuille du classeur).
Figure 7.23
Figure 7.24
262 LE GUIDE DES EXPERTS
FAQ
Chapitre 7
Accs au dtail des donnes
En effectuant un double-clic sur une cellule du tableau crois, vous
obtenez le dtail des donnes sous-jacentes.
Liaison avec les donnes
Lors de la cration du tableau crois, Excel tablit un lien avec la
base de donnes Access. Il ne faut donc pas dplacer la base de donnes,
ni la renommer, ni bien sr la supprimer. Il ne faut pas non plus
renommer ou supprimer la table ou requte qui contient les donnes
analyser.
Paramtres de connexion
Vous pouvez accder aux paramtres de la connexion de donnes en
cliquant sur le bouton Proprits du groupe Connexions de longlet
Donnes. Dans la bote de dialogue Proprits de connexion,
slectionnez longlet Dfinition.
7.11. Comment accder des donnes
provenant dautres sources ?
Vous pouvez accder des donnes en provenance dun grand nombre
de sources, et notamment SQL Server.
1 Cliquez sur le bouton partir dautres sources du groupe
Donnes externes de longlet Donnes.
Figure 7.25
Comment accder des donnes provenant dautres sources ?
Chapitre 7
263 LE GUIDE DES EXPERTS
2 Slectionnez ensuite le type de donnes utiliser.
3 Vous devez ensuite fournir les paramtres ncessaires la
connexion aux donnes.
4 Dans la bote de dialogue Importation de donnes, slectionnez
Rapport de tableau crois dynamique pour crer directement le
tableau partir des donnes importes. Choisissez lemplacement
o doit tre cr le tableau crois.
264 LE GUIDE DES EXPERTS
FAQ
Chapitre 7
Index
A
Access ................................................................................. 260
Actualiser ...................................................................... 72, 221
automatiquement ............................................................... 250
Ajouter des donnes .............................................................. 73
Axe ..................................................................................... 181
secondaire ......................................................................... 184
B
Barre doutils ...................................................................... 243
C
Cache .................................................................................... 72
Partager .............................................................................. 72
Cas pratique
Analyse de production ...................................................... 235
Analyse de rentabilit ....................................................... 128
Pyramide des ges ............................................................ 188
Statistique commerciale ...................................................... 75
Champ
Afficher le dtail ......................................................... 55, 229
Ajouter ....................................................................... 46, 220
Axe .................................................................................. 172
calcul .............................................................................. 124
de colonne .......................................................................... 45
de ltre ............................................................................... 59
de ligne .............................................................................. 45
de valeur ............................................................................ 45
lment calcul ................................................................. 121
Filtrer ................................................................................. 80
Fonction de synthse ............................................. 48, 50, 219
Grouper les valeurs ................................................... 109, 234
Lgende ............................................................................ 172
266 LE GUIDE DES EXPERTS
Index
Chapitre 8
Masquer le dtail ................................................................ 55
Mise en forme .................................................................... 62
Modier laffichage ............................................................ 99
Renommer .......................................................................... 50
Rorganiser ......................................................................... 52
Sous-total ........................................................................... 56
Supprimer ........................................................................... 55
Champ calcul
Limitation ......................................................................... 126
Supprimer ......................................................................... 127
Collection
PivotCaches ...................................................................... 218
PivotFields ........................................................................ 218
PivotTables ....................................................................... 221
Crer un tableau crois .......................................................... 41
D
Do Loop .............................................................................. 207
Donne .................................................................................. 71
Access .............................................................................. 260
Afficher le dtail ................................................................. 71
Autre source ..................................................................... 263
Nouvelle ............................................................................. 73
Organiser ............................................................................ 32
Plusieurs plages ................................................................ 255
Principes dorganisation ...................................................... 32
E
diteur VBA
Explorateur de projets ....................................................... 212
Fentre des modules ......................................................... 212
lment calcul ................................................................... 121
Limitation ......................................................................... 123
Supprimer ......................................................................... 123
Index
Chapitre 8
267 LE GUIDE DES EXPERTS
tiquette de colonne .............................................................. 27
tiquette de ligne .................................................................. 25
F
Filtre
Accs rapide ....................................................................... 90
Champ de valeur ................................................................ 85
tiquette ............................................................................. 91
Liste des valeurs ................................................................. 80
Supprimer ........................................................................... 85
Filtre de rapport ....................................................... 25, 59, 230
Page ................................................................................. 252
Fonction .............................................................................. 199
de synthse ........................................................... 48, 50, 219
For Each Next ..................................................................... 209
For Next .............................................................................. 209
Format
Comptabilit ....................................................................... 64
date .................................................................................... 64
fraction ............................................................................... 65
heure .................................................................................. 64
montaire ............................................................................ 64
nombre ............................................................................... 64
pourcentage ........................................................................ 65
scientique ......................................................................... 65
G
Glisser-dposer .................................................................... 250
GoTo ................................................................................... 210
Graphique
3D .................................................................................... 187
Graphique crois ................................................................. 170
Axe ........................................................................... 179, 181
Axe secondaire ................................................................. 184
268 LE GUIDE DES EXPERTS
Index
Chapitre 8
Changer de type ................................................................ 177
Crer ......................................................................... 170, 174
Emplacement .................................................................... 181
Quadrillage ....................................................................... 179
Style ................................................................................. 180
Titre .................................................................................. 179
Grouper ............................................................................... 234
Dates ................................................................................ 110
Valeurs ............................................................................. 109
Valeurs numriques ........................................................... 117
I
If Then Else End If ............................................................. 205
Imprimer ............................................................................. 145
L
Limite ................................................................................. 249
Liste de champs .............................................................. 23, 42
M
Mettre en forme .................................................................... 62
Mise en forme conditionnelle
Barre de donnes .............................................................. 153
Crer ................................................................................ 158
Grer les rgles ................................................................. 166
Jeu dicnes ...................................................................... 156
Nuance de couleur ............................................................ 155
prdnie .......................................................................... 150
Modle dobjets ................................................................... 194
Modier laffichage ............................................................... 99
Index
Chapitre 8
269 LE GUIDE DES EXPERTS
O
Objet ................................................................................... 194
Collection ......................................................................... 196
Mthode ........................................................................... 197
Modle dobjets ................................................................ 194
PivotCache ....................................................................... 219
PivotTable ................................................................. 218, 237
Proprit ........................................................................... 197
On Error Goto ..................................................................... 210
Organiser les donnes ............................................................ 32
P
Page .................................................................................... 252
PivotCache .......................................................................... 219
PivotTable ................................................................... 218, 237
Procdure ............................................................................ 198
R
Rorganiser les champs ......................................................... 52
S
Select Case End Select ........................................................ 206
Sous-total .............................................................................. 56
SQL Server ......................................................................... 263
Style
graphique crois ................................................................ 180
Style automatique ................................................................ 134
Personnaliser .................................................................... 136
Supprimer
des champs ......................................................................... 55
un ltre .............................................................................. 85
270 LE GUIDE DES EXPERTS
Index
Chapitre 8
T
Tableau crois
Access .............................................................................. 260
Actualiser ............................................................ 72, 221, 250
Affichage des champs de donnes ..................................... 224
Affichage des valeurs .......................................................... 99
Ajouter des champs ............................................................ 46
Autre source ..................................................................... 263
Barre doutils .................................................................... 243
Cache ................................................................................. 72
Champ ................................................................................ 45
Champ calcul .................................................................. 124
Crer .......................................................................... 41, 216
Donne ............................................................................... 71
Filtre ........................................................................... 59, 223
Filtre de rapport ................................................................ 230
Glisser-dposer ................................................................. 250
Grouper les valeurs ................................................... 109, 234
Imprimer ........................................................................... 145
limite ................................................................................ 249
Liste de champs .................................................................. 42
Mise en forme ............................................................ 62, 134
Mise en forme conditionnelle ............................................ 147
Modier lapparence ................................................... 68, 227
Nouvelle donne ................................................................. 73
Option .............................................................................. 140
Ordre des champs ............................................................. 222
Organisation ....................................................................... 52
Partager le cache ................................................................ 72
Plusieurs plages ................................................................ 255
Sous-total ........................................................................... 56
Style automatique ............................................................. 134
Trier ........................................................................... 92, 229
Zone de dpt ..................................................................... 44
Tableau crois dynamique
Crer .................................................................................. 21
Index
Chapitre 8
271 LE GUIDE DES EXPERTS
Thme de document ............................................................ 138
Trier .............................................................................. 92, 229
manuellement ..................................................................... 97
Ordre particulier ................................................................. 96
Plusieurs niveaux ................................................................ 93
Type de graphique ............................................................... 177
V
Valeur derreur .................................................................... 251
Variable ............................................................................... 200
tableau .............................................................................. 202
VBA ................................................................................... 194
Fonction ........................................................................... 199
Instruction ........................................................................ 205
Objet ................................................................................ 194
Procdure ......................................................................... 198
Variable ............................................................................ 200
VBE .................................................................................... 211
Visual Basic pour Applications ............................................ 194
Z
Zone de dpt ............................................................ 24, 43-44
272 LE GUIDE DES EXPERTS
Index
Chapitre 8
Notes
Notes
Notes
Notes
Notes
Notes
Notes
Notes
Notes
Notes
Notes
Notes
Notes
Notes
Notes
Compos en France par Jouve
11, bd de Sbastopol - 75001 Paris