XL 2019 Concaténation dynamique de plusieurs tableaux

APR63

XLDnaute Nouveau
Bonjour à tous,

Je cherche à faire une base de données dynamique à partir de plusieurs tableaux différents.

En effet, j'ai plusieurs onglets de construction différents qui ont chacun un tableau avec plus ou moins de ligne mais dont les colonnes sont les mêmes dans chaque onglets (individu, projet, nature de dépenses, mois de l'année).

J'aimerais créer dans un dernier onglet, un tableau centralisateur qui va récupérer l'ensemble des lignes de chaque tableaux des autres onglets. Le but ultime étant que si je rajoute des lignes dans n'importe quel onglet de construction, le tableau centralisateur va automatiquement s'incrémenter.

Je vous remercie de votre aide.
 

Pièces jointes

  • test.xlsx
    13.9 KB · Affichages: 6

APR63

XLDnaute Nouveau
Hasco,

Merci, effectivement, j'ai suivi votre explication et cela a fonctionné parfaitement.

Je cherche maintenant à mettre dans le contenu des cellules de cette nouvelle colonne, la valeur d'une cellule de mon classeur Excel. Je ne voulais pas abuser de votre aide plus longtemps alors je fais des recherches! :)
 

Hasco

XLDnaute Barbatruc
Repose en paix
Re,

Vous n'abusez pas, au contraire, vous cherchez par vous-même et n'attendez pas du tout cuit :)

= Excel.CurrentWorkbook(){[Name="LaCelluleNommée"]}[Content]{0}[Column1]
Où 'LaCelluleNommée' est le nom de la cellule dont vous voulez avoir la valeur
= Excel.CurrentWorkbook(){[Name="LaCelluleNommée"]}
Retourne un enregistrement de deux champs [Content] et [Name]
Le champ Content est de type table.
Les lignes de table sont indicées de 0 à nombre de lignes -1
= Excel.CurrentWorkbook(){[Name="LaCelluleNommée"]}[Content]{0}
Va retourner la table de la première ligne de [Content]
= Excel.CurrentWorkbook(){[Name="LaCelluleNommée"]}[Content]{0}[Column1]

Va retourner la valeur de la colonne 1 de la table de la première ligne de [Content]

C'est un peu abscons mais PQ n'a rien de prévu pour aller directement vers une cellule.
PQ ne connaît que les tables, listes et records (enregistrements)
Parfois il faut finasser.

Cordialement
 

APR63

XLDnaute Nouveau
Merci Hasco.

Cette fois, je n'y arrive pas. J'ai nommé la cellule de mon classeur en "Code_Centre". Et voici ce que j'ai tenté de renseigner dans PQ mais sans succès:

#"Personnalisée ajoutée1" = Table.AddColumn(#"Personnalisée ajoutée", "Custom", each Excel.CurrentWorkbook(){[Name="Code_Centre"]}[Content]{0}[Column1]),

Dans PQ, j'ai bien la colonne de crée, et j'ai "null" qui apparait maintenant dans le résultat des cellules de la colonne mais quand j’exécute la requête, la colonne apparait bien dans Excel mais les cellules sont vides.
 

Hasco

XLDnaute Barbatruc
Repose en paix
Re,

J'ai reproduit ce que vous dites à savoir nommér une cellule Code_Centre et coller la formule dans une étape de requête :

= Table.AddColumn(#"Type modifié", "Personnalisé", each Excel.CurrentWorkbook(){[Name="Code_Centre"]}[Content]{0}[Column1])

Et tout fonctionne, j'ai mis AA12 dans Code_Centre et j'obtiens pour chaque ligne AA12

Peut-être que dans ces cas là, il vaut mieux un fichier qu'un long tâtonnement...

Cordialement
 

Discussions similaires