Excel: Créer une nouvelle feuille pour chaque ligne
Dans une feuille excel, j'ai à peu près 30 lignes x 100 colonnes de données. Chaque ligne représente un autre "client". Pour chaque client, j'ai créer une fiche de synthèse qui est envoyé par courriel et qui contient également toutes les informations de ma feuille principale
Ma question est la suivante, est-il un moyen pour excel pour créer une nouvelle feuille de base sur certains modèle de feuille lorsque j'ajoute une nouvelle ligne de ma feuille principale et la remplit avec les données appropriées?
- Je ne pense pas qu'il existe un moyen de le faire avec "régulière" des méthodes. Une façon de faire qui serait uniquement avec VBA (comme vous l'a déjà décrit dans la balise), et dans ce cas, votre question sera probablement de meilleures réponses sur StackOverflow, comme il est plutôt de programmation relative. Je vais voter pour migrer votre question (mais c'est seulement mon avis, n'importe qui peut être en désaccord).
- Vous avez une expérience avec des macros/VBA?
Vous devez vous connecter pour publier un commentaire.
Si vous en avez besoin pour arriver automatiquement sur l'ajout d'une ligne, alors vous devez utiliser le
Worksheet_Change
événement pour capturer la réalisation d'une nouvelle ligne.Ce serait alors générer un nouveau classeur à partir du modèle, copie de tous les plages puis enregistrez le nouveau fichier quelque part, un peu comme Gnoupi dit
Tout cela est relativement simple avec VBA, mais malheureusement, si vous n'êtes pas familier avec VBA alors n'est-ce pas une simple affaire de "Faire X puis n'Y en Excel" je pense donc que vous pouvez lutter, même avec des exemples de code posté ici.
Même si j'ai créé un mannequin modèle qui a fait ce que vous avez besoin, fonctionnellement au moins, ensuite personnaliser à vos besoins particuliers peut difficile si vous n'êtes pas habitué à travailler avec Excel par programmation.
Modifier
J'ai créé un très simple démonstration de la façon dont cela pourrait fonctionner: http://drop.io/4clxof3 - remarque: cet exemple n'inclut pas la gestion des événements pour l'ajout d'une nouvelle ligne, n'a presque pas de validation ou d'erreur de manipulation et procède à de vastes hypothèses sur presque tout(!)
Si vous vous sentez à l'aise d'utiliser cette base pour développer votre propre solution, puis une grande. Si l'ensemble de VBA chose est étrangère à vous, alors il peut être temps de faire appel à des renforts 🙂
Je vais vous donner mon avis au sujet de votre besoin, de la façon dont je le vois, au moins. Il n'est pas "prêt à utiliser" solution", cependant, seulement quelques idées sur la façon de le faire.
De ce que je sais, il n'y a aucun moyen de suivre l'insertion d'une ligne dans Excel. Si vous avez besoin d'une fonction VBA pour être activé sur un bouton, par exemple.en Fait, il est, voir Lunatik de réponse.Cette fonction serait en boucle sur toutes les lignes de votre feuille principale, et de créer une nouvelle feuille si nécessaire (vous devez de préférence un id unique pour chaque client, il pourrait être un simple indice sur la feuille principale, en fonction de la ligne).
Vous devrez créer lors de la première votre modèle de feuille, avec un nom spécifique, et, éventuellement, de les masquer (pour ne pas l'avoir dans le visible onglets). Quand je dis que la fonction serait de créer, il serait en fait la copie de cette feuille de modèle et de lui donner un nom unique (l'id je l'ai mentionné plus tôt). Vous pouvez trouver des façons de copier des feuilles à ce lien.
Une deuxième opération à faire, serait de mettre les données à partir de la ligne dans la feuille principale, à la feuille de modèle (si j'ai bien compris votre exigence), ce qui n'est pas vraiment compliqué à faire en VBA.
je me demandais si il était possible avec aucune erreur de capture. Il suffit juste d'avoir un code VBA qui prend chaque ligne du Document Excel - Crée un fichier pour chaque ligne, puis à la fin combine le nombre total de fichiers dans un dossier en un seul?
Je sais sonne bizarre.. mais est-ce possible?