Les fonctions ASSEMB.V et ASSEMB.H vont vous permettre de combiner plusieurs tableaux pour n'en faire plus qu'un.
Travailler avec plusieurs tableaux est extrêmement compliqué dans Excel. En effet, vos formules doivent prendre en compte toutes les données de chaque tableau et donc vos formules sont nécessairement complexes. Heureusement, il est maintenant possible de se constituer un tableau virtuel qui va regrouper tous vos tableaux.
1. Nos données sources
Voici 3 tableaux distincts, ayant la même structure (recommandé pour faciliter la suite de saisie des formules) :
Nous souhaitons ne faire qu’un seul tableau global avec toutes ces données, sans passer par Power Query. Pour réaliser cela, nous utilisons la formule ASSEMB.V (le "V" pour assembler verticalement les données). La syntaxe de la formule est extrêmement simple car les seuls arguments à renseigner sont :
- array 1 : le seul argument obligatoire, fait référence au premier tableau
- array 2 : le deuxième tableau, qui s'ajoutera au premier.
- array n : Sélectionnez un autre tableau. La fonction peut accueillir jusqu’à 254 tableaux !
Il est fortement recommandé d’utiliser le Mode Tableau pour chacune des plages sélectionnées, et de les renommer dans la zone de texte Création de Tableau > Nom du Tableau
De cette façon
- Le renommage permettra d'identifier plus facilement chaque tableau.
- Il sera plus facile de sélectionner toutes vos cellules avec un clic en haut à gauche de chaque tableau
2. Écrire la formule
La formule ASSEMB.V (tout comme ASSEMB.H) est très simple à écrire comme vous allez le constater. MAIS il y a juste une astuce à prendre en compte avec le tout premier tableau.
- Le premier tableau DOIT prendre en compte les entêtes
- La sélection des autres tableaux doit se faire SANS entête
Pour sélectionner le contenu ET les entêtes, il faut cliquer 2 fois quand la flèche est en diagonale. Une fois sélectionne seulement les données.
=ASSEMB.V(Jedi[#Tout])
Notre tableau qui s’appelle Jedi, comprend donc tout, comme l’indique la formule, le contenu et les en-têtes. Nous pouvons donc ajouter les autres tableaux dans les arguments array2, 3, etc .. avec seulement leur contenu :
=ASSEMB.V(Jedi[#Tout];Sith;Divers)
Nous voyons parfaitement les tableaux sélectionnés de par leur couleur et leur nom dans la formule ! Voici le résultat :
L’autre intérêt du Mode Tableau est que si des données sont rajoutées dans un des tableaux, elles seront automatiquement rajoutées car les références de ce Mode sont des références étendues, ce qui facilite l’actualisation sans avoir besoin de tout resélectionner !
Ainsi, si nous rajoutons Boba Fett dans le tableau Divers et Dark Maul dans Sith :
Ils apparaissent chacun en bas de leur tableau respectif !
3. Quelques Remarques
- Si une cellule d’un tableau utilisé pour la formule n’est pas remplie, le résultat sera 0.
- Si un tableau a une structure différente d’un autre, une #N/A sera renvoyée, ceci peut être facilement contourné avec une SIERREUR
4. ASSEMB.H
Maintenant que nous connaissons ASSEMB.V, le principe est le même pour ASSEMB.H, sauf que les assemblages se font de manière horizontale. C'est très pratique pour enrichir un tableau initiale de colonnes supplémentaires. Par exemple, nous avons ici les tableaux suivants :
Les pouvoirs des personnages sont sur un autre tableau, on veut donc rajouter ces données au bout du premier tableau, on sélectionne le tableau des personnages en entier comme premier argument et la colonne des pouvoirs avec son en-tête en second argument :
=ASSEMB.H(Personnages[#Tout];Armes_persos[[#Tout];[Pouvoir]])
IL FAUT BIEN SUR QUE L'ORDRE DE TRI des lignes soit rigoureusement le même entre tous les tableaux. Nos données sont bien ajoutées au bout !
En espérant que cela vous ait été utile, je vous souhaite une EXCEL_LENTE journée ou soirée !