Créer une copie du tableau Excel de taille variable

0

J'ai une table dans une feuille de calcul (Resource.xlsx), appelée "People". À mesure que de nouvelles personnes rejoignent l'organisation, la taille de ce tableau augmente.

J'ai une autre feuille de calcul (Planning.xlsx) dans laquelle j'aimerais avoir une réplique dynamique des données dans Resource.xlsx. C'est à dire. Lorsque j'ajoute une ligne à la table dans Resource.xlsx, une nouvelle ligne est créée dans Planning.xlsx. J'aimerais aussi pouvoir ajouter des colonnes supplémentaires à la table dupliquée dans Resource.xlsx.

Dans ma tête, cela semble être assez simple, mais je me bats Soit ça, soit j'utilise les mauvais termes de recherche! Merci pour toute aide.

Jon-Paul
la source
Avez-vous essayé de faire d'une feuille une connexion de données de l'autre?
Raystafarian

Réponses:

0

Ce n'est pas, comme vous l'avez découvert, si simple. Principalement parce que ce n’est pas un travail pour lequel Excel convient particulièrement! Ce que vous voulez vraiment, c'est une base de données!

Cela fait, quelques options s’offrent à nous, mais nous devons comprendre un peu plus la portée. Souhaitez-vous que les modifications soient instantanées ou souhaitez-vous que le deuxième classeur soit mis à jour ultérieurement?

Dans ce cas, vous devrez écrire des scripts VBA dans le premier classeur qui ouvre le deuxième classeur et surveillez les événements de modification dans la table Personnes. Lorsqu'un événement change se produit, vous vérifiez qu'une nouvelle ligne est ajoutée, puis l'ajoutez à la deuxième table. La VBA sera raisonnablement impliquée (trop longtemps pour écrire ici, j'en ai bien peur) mais pas trop difficile.

Le deuxième cas est en réalité beaucoup plus facile. Maintenant, vous pouvez baser votre seconde table sur une requête de la première. Puisque vous voulez ajouter des données supplémentaires à la deuxième table, la réponse la plus simple et la plus robuste consiste à installer le complément gratuit PowerQuery de Microsoft. En utilisant ceci, créez une requête sur la 1ère table, ajoutez les colonnes supplémentaires dont vous avez besoin et c'est tout. Chaque fois que vous mettez à jour la première table, enregistrez, fermez et ouvrez la seconde, puis actualisez la requête (ce qui peut être configuré pour se produire à l'ouverture).

Julian Knight
la source
Merci - c'est ce que je pensais. Je vais probablement passer à Access / SQL Server dans ce cas.
Jon-Paul
Eh bien, la deuxième méthode est certainement réalisable et je l’utilise pour un certain nombre de bits d’analyse de données compliquée. Toutefois, si les données sont importantes pour vous et valent du point de vue commercial, il vaut probablement la peine d'avoir quelque chose d'un peu plus robuste. Faites-vous une faveur cependant - ne vous embêtez pas avec Access si vous pouvez l'aider. Choisissez plutôt un moteur de base de données (SQL Server, MySQL ou autre) avec une interface Web. Beaucoup plus flexible et robuste à long terme.
Julian Knight