Pour tout utilisateur Excel un tant soit peu chevronné, le passage à Numbers se heurte à l'absence de deux choses habituelles en face : les macros et les tableaux croisés dynamiques.
Si, côté macros, il va falloir attendre un version future vraiment pilotable par AppleScript, les tableaux croisés dynamiques ne sont pas si difficiles à simuler avec en prime un comportement vraiment dynamique.
Pour l'exemple, commencez par créer un tableau et collez ce qui suit en A1 :
Ville | Vendeur | Produit | CA |
Nantes | Arthur | G876 | 85750 |
Lyon | Emilie | G876 | 49569 |
Rennes | Sophie | G876 | 3059 |
Lyon | Jacques | TW9 | 73484 |
Lyon | Emilie | F14 | 93114 |
Rennes | Sophie | TW9 | 10940 |
Lyon | Emilie | TW9 | 12672 |
Nantes | Gilles | TW9 | 78865 |
Nantes | Gilles | G876 | 60509 |
Rennes | Sophie | F14 | 15731 |
Nantes | Arthur | TW9 | 52349 |
Lyon | Jacques | F14 | 53624 |
Nantes | Gilles | F14 | 26672 |
Rennes | Patrick | G876 | 65022 |
Rennes | Patrick | TW9 | 32489 |
Lyon | Jacques | G876 | 87181 |
Renommez le tableau, par exemple, DATA. Redimensionnez-le et créez un nouveau tableau à côté.
Dans ce tableau, collez les fonctions suivantes dans les cellules indiquées :
- Code:
-
[B1]=INDEX(DATA::$C$2:$C$17;EQUIV(A1&" ";DATA::$C$2:$C$17;-1);1)
[A2]=INDEX(DATA::$A$2:$A$17;EQUIV(A1&" ";DATA::$A$2:$A$17;-1);1)
[B2]=SOMME.SIS(DATA::$D;DATA::$A;$A2;DATA::$C;B$1)
Il ne reste plus qu'à recopier les formules vers le bas et vers la droite pour découvrir les chiffres réalisés dans les différentes agences pour les différents produits. Vous découvrirez aussi des triangles rouges indiquant des problème. On pourrait les éviter par formule mais en fait, ils indiquent qu'on a recopier assez loin pour traiter toutes les données.
Partant de là, il est facile d'adapter ces formules pour ajouter des dimensions d'analyse.
Essayons simplement de regarder les chiffres par vendeur. Il suffit de remplacer la référence à la colonne A du tableau DATA par celle à B en A2 et en B2 :
- Code:
-
[A2]=INDEX(DATA::$B$2:$B$17;EQUIV(A1&" ";DATA::$B$2:$B$17;-1);1)
[B2]=SOMME.SIS(DATA::$D;DATA::$B;$A2;DATA::$C;B$1)
On peut simplifier et rendre le dispositif beaucoup plus robuste en ne mettant pas de titre aux colonnes du tableau DATA. Les formules simplifiées sont alors :
- Code:
-
[B1]=INDEX(DATA::$C;EQUIV(A1&" ";DATA::$C;-1);1)
[A2]=INDEX(DATA::$A;EQUIV(A1&" ";DATA::$A;-1);1)
[B2]=SOMME.SIS(DATA::$D;DATA::$A;$A2;DATA::$C;B$1)
On constate le côté vraiment dynamique du dispositif dans le fait qu'il n'est pas nécessaire, comme dans Excel, de mettre le tableau croisé à jour quand les données changent.
Pour finir, une astuce : une fois A2, B1 et B2 remplies, diminuez la taille de votre tableau pour n'avoir plus que le zone A1:B2 et étirez-le en sens contraire pour obtenir autant de cellule que vous le souhaitez. Numbers recopie les formules dans toutes les cellules sans qu'on n'ait rien d'autre à faire. Trop top.
À suivre