Produit cartésien par bloc

Bonjour à tous,

Je cherche à faire un produit cartésien de plusieurs tableaux. Le nombre , l'emplacement et la taille des tableaux source ne sera pas connue à l'avance (ils seront tout de même dans un même fichier)

Je compte donc , pour chaque tableau , créer un nom (à la main) pour chaque tableau sélectionné.

J'ai trouvé sur certains forums des infos pour faire un produit cartésien de deux tableaux à une colonne , mais rien qui permette la souplesse souhaitée.

A noter qu'un produit cartésien , surtout lorsqu'il implique plusieurs tables , peut rapidement créer un tableau avec de nombreuses lignes.

Dans mon cas , on estime un résultat autour de 50 000 lignes , pour une quinzaine de colonnes.

La composante performance est donc à prendre en compte également.

N'étant qu'un utilisateur occasionnel d'Excel et des forums en général , je ne suis peut-être pas très clair , aussi n'hésitez pas à me questionner.

L'exemple joint sera je l'espère plus parlant.

un grand merci par avance.

Re bonjour,

Il y avait une petite coquille dans la définition des listes. Je remplace donc le fichier d'exemple.

17exemple2.xlsx (29.17 Ko)

Bonjour

Au lieu de plages nommées, utiliser des tableaux structurés avec une norme de nommage, t_N suivi d'u chiffre indiquant le niveau.

(C'est le nom du tableau pas un alias crée dans le gestionnaire de noms)

Les tableaux peuvent être situés n'importe où dans le classeur.

On charge le 1er niveau dans PowerQuery et une table de ces Listes. Une fonction + une boucle de traitement va créer l'assemblage.

Quand une source évolue, il suffit d'actualiser

23boucle-pq.xlsx (42.26 Ko)

Bonjour,

Merci beaucoup d'avoir pris le temps de regarder. Cela répond très bien à mon besoin.

Je ne connaissais pas Power Query mais ça semble assez puissant.

Juste une petite question : j'ai regardé un peu le "code" sous jacent mais je ne vois pas où on indique le point de départ du tableau de synthèse (si par exemple je souhaite le faire se construire sur l'onglet "machin" en partant de la cellule B13.

Bonjour

Quand tu crées une requête dans PowerQuery, si tu sors par Fermer et charger dans, Tableau tu peux indiquer l'endroit voulu.

Mais s'il y a plusieurs requêtes (ici on a Liste et t_N1 aussi), il vaut mieux sortir par Fermer et charger dans, Connexion seulement

Puis depuis Excel afficher la liste des requêtes (Données, Requêtes et connexions), faire un clic droit sur la requête résultat et Charger dans...

A noter aussi que

  • on peut déplacer le tableau résultant d'un onglet à l'autre
  • de façon générale on code peu dans PowerQuery, le code se construisant tout seul via des manipulations via le ruban et le clic droit.
    On peut facilement générer une fonction depuis une requête faite ainsi en pas à pas (cas de Fx_Synthèse).
    En revanche la boucle de SynthèseT_Boucle nécessite de coder une partie.

Bonjour,

C'est très clair.

Merci encore pour votre aide.

Rechercher des sujets similaires à "produit cartesien bloc"