XL 2016 Ajout ligne tableau depuis plage dynamique

LisaLtx

XLDnaute Nouveau
Bonjour,

Merci tout d'abord de tout le travail et de toute la solidarité sur ces forums qui m'ont déjà beaucoup aidé jusqu'ici.

Je rencontre une difficulté qui semble triviale mais pour laquelle je ne trouve pas de réponse malgré mes recherches et tentatives.
Peut-être pourrez-vous m'aider, en espérant ne pas doubler un sujet.

Le problème est a priori assez simple (fichier test joint auquel je fais référence) : J'ai une liste de projets (onglet 1) destinée à être alimentée (ajout de projets). J'ai créé une plage de données dynamique sur cette liste (Liste_projets). Un autre onglet (onglet 2) contient plusieurs informations chiffrées qui peuvent être associées à un des projets (liste déroulante à partir de la plage dynamique). Et enfin, j'ai un tableau simple (pas TCD, onglet 3) dont la première colonne est cette liste de projets unique, pour lesquelles les colonnes suivantes réalisent des calculs (sommeprod depuis l'onglet 2 en fonction du projet de la première colonne).

Je souhaiterais que le tableau (onglet 3) ajoute une ligne, en étendant les formules, quand un projet est ajouté dans la liste (onglet 1). Avec toutes mes tentatives je n'obtiens que l'ajout du projet dans la première colonne, mais pas l'extension du tableau (ce sont des bilans supposés se faire automatiquement sans manipulation de l'opérateur). Je précise que je ne connais rien aux macro et que j'ai reçu pour consigne de les éviter si possible.
J'ai tenté la création d'une plage de données dynamique sur le tableau dont la taille dépend de la taille de la liste, ce qui permet en effet d'agrandir la plage nommée... mais n'étend pas les formules (testé en onglet 4).

J'espère avoir été claire et avoir donner toutes les informations nécessaires. Merci d'avance de toute aide !
 

Pièces jointes

  • Test.xlsx
    16.3 KB · Affichages: 7
Solution
RE
je ne savais pas que l'appel d'une liste donnait directement la première ligne de cette liste...
Tu as nommé la colonne : c'est le nom de la colonne, pas son titre
Par contre une fois la liste de validation restreinte aux lignes du tableau, on ne peut plus commencer une nouvelle ligne en choisissant un projet.
Il est possible
  • soit en saisie
    • d'utiliser Tab à partir de la dernière cellule de la dernière ligne
    • d'insérer dans ou juste sous le tableau par CTRL +
  • soit en conception
    • en plaçant une colonne sans liste en premier
Quand toutes les colonnes ont une liste c'est effectivement plus gênant et seul VBA pourrait régler proprement la question
Pour le reste je vais donc me...

chris

XLDnaute Barbatruc
Bonjour

Plusieurs erreurs dans ton classeur :

  • Onglet Budget une liste de validation sur 1 million de lignes, ce qui déjà est une anomalie, mais en plus totalement inutile dans un tableau structuré ou toute nouvelle ligne hérite des formules et formats, dont la validation définies dans les lignes précédentes
  • Ta liste devrait se référer à la plage nommée Liste_projets et non à une formule
  • Si tu n'ajoutes pas le budget de ce projet dans le tableau t_budget, il ne sert à rien de calculer la ligne dans t_consolidation...

Une fois ceci corrigé, il est simple de réaliser t_consolidation par PowerQuery intégré à Excel
 

LisaLtx

XLDnaute Nouveau
Bonjour,
Merci de ton retour, ce sont en effet des réflexes qui me manquent, et je ne savais pas que l'appel d'une liste donnait directement la première ligne de cette liste...

Par contre une fois la liste de validation restreinte aux lignes du tableau, on ne peut plus commencer une nouvelle ligne en choisissant un projet. Dans mon excel d'origine, toutes les premières colonnes à remplir par l'opérateur sont des listes. Peut-on contourner ce problème ?

Pour le reste je vais donc me former à PowerQuery s'il n'y a pas de formules pour le faire autrement.

Merci beaucoup de ton aide en tout cas, il semble que c'était en effet trivial pour qui a de bonnes bases en Excel !
 

chris

XLDnaute Barbatruc
RE
je ne savais pas que l'appel d'une liste donnait directement la première ligne de cette liste...
Tu as nommé la colonne : c'est le nom de la colonne, pas son titre
Par contre une fois la liste de validation restreinte aux lignes du tableau, on ne peut plus commencer une nouvelle ligne en choisissant un projet.
Il est possible
  • soit en saisie
    • d'utiliser Tab à partir de la dernière cellule de la dernière ligne
    • d'insérer dans ou juste sous le tableau par CTRL +
  • soit en conception
    • en plaçant une colonne sans liste en premier
Quand toutes les colonnes ont une liste c'est effectivement plus gênant et seul VBA pourrait régler proprement la question
Pour le reste je vais donc me former à PowerQuery s'il n'y a pas de formules pour le faire autrement.
On peut faire par formule mais avec des liens comme tu as fait ce peut être risqué en cas de tri de la liste des projets et surtout tu dois prévoir une grande quantité de lignes car tu ne sais pas combien à l'avance

Sinon reste aussi VBA

Exemple PowerQuery ci-joint où j'ai gardé les projets sans budget...
 

Pièces jointes

  • ConsolidationBudgetInterne_PQ.xlsx
    24.4 KB · Affichages: 9

LisaLtx

XLDnaute Nouveau
Merci beaucoup, j'ai passé l'après-midi à m'initier à Query, et j'étais loin d'arriver à l'insertion de fonctions If et d'ajouts personnalisés de calculs... à vrai dire j'étais plus près d'abandonner.
Merci vraiment de ton temps et de ta patience avec les explications.
Je crois que tu m'as donné tous les outils nécessaires pour me lancer sur le vrai dossier ! Merci !
 

Discussions similaires