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.
microsoft-excel-2013
Jon-Paul
la source
la source
Réponses:
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).
la source