Création d'un nouveau Workbook via VBA

Bonjour,

Avant de me lancer dans un nouveau projet, j'aimerais avoir votre avis sur la faisabilité ...

Je possède pour l'instant un outil de suivit de production (construction d'avion monoplace) sous excel, (construit avec beaucoup d'aide d'ecel-pratique !). Chaque fois qu'un avion est terminé, à partir de ce fichier je veux créer un document Archive.NuméroDeSérieAvion rangé dans l'archivage. Jusqu'ici pas de problème.

Ma question est donc : lors de la création de mon fichier, est il possible que j'ajoute des boutons qui lancerai d'autre macro ?

Exemple :

J'ai terminé l'avion XXXXX, je clic sur le bouton pour créer Archive.XXXXX. Lorque le génération est terminée, j'ouvre Archive.XXXXX et j'ai un menu dans lequel il y a des boutons pour lancer des macros pour gérer la post prodution (tracabilité, maintenance, propriétaire...) En plus de ce menu, il y aura aussi toutes les informations de productions dans différentes feuilles

Puisque tous les documents de tous les avions produits doivent avoir la même structure, je préfèrerais tout automatiser plutot que devoir construire mon menu avec les bonnes macro à chaque fois...

J'espère avoir bien expliqué ma demande !

Pouvez vous me donner votre avis sur la faisabilité svp ?

Si c'est possible, est ce que je pourrais avoir qq conseils sur la construction. Ou dois_je entrer les codes, est ce que tout dois être fais en même temps ? ....ect

Merci d'avance pour vos avis et vos conseils !!

Bonjour loicd181,

Ma question est donc : lors de la création de mon fichier, est il possible que j'ajoute des boutons qui lancerai d'autre macro?

Oui, mais ce n'est pas forcément nécessaire! Si tu t'es dis: "Mais si je crée un nouveau fichier via une macro, ce nouveau fichier sera vide, et je devrais y apporter des macros dans un premier temps", c'est faux!

VBA offre une certaine flexibilité, une macro contenue dans un classeur peut être appliquée à un autre classeur!

Imaginons, je dispose de deux classeurs ouverts, "classeur1.xlsm" et "classeur2.xlsm"

Si dans "classeur1.xlsm" j'écrit le code suivant

Workbooks("classeur2.xlsm").Worksheets("Feuil1").Range("A1").Value = "Toto"

la macro qui s'exécute et est présente dans le "classeur1.xlsm" va modifier le "classeur2.xlsm"!!

Une proposition pour ton travail:

1) Créer un fichier standard "Archive.XXXXX" qui est mis en forme, avec tous les formulaires, feuilles et cases vide

2) Créer une macro qui va:

2) 1) Ouvrir le fichier "Archive.XXXXX" en lecture seule

2) 2) Créer une copie de "Archive.XXXXX" avec la bonne référence cette fois, par exemple "Archive_2501.xlsm"

2) 3) Lancer tes différentes macros de remplissage.

Ou dois_je entrer les codes, est ce que tout dois être fais en même temps ? ....ect 

Et bien cela dépend des choix que tu fais, ma proposition n'est qu'une proposition. Il y a énormément de façons de bien organiser son travail et de bien faire les choses.

Tu n'as pas besoin de tout faire en une fois, la question que tu dois te poser est:"Si je ne programme pas ça tout de suite, es-ce que je vais avoir des problèmes avec mes anciens fichiers?", ou es-ce que à la main je peux m'en sortir.

Es-ce que tu travailles avec des bases de données, es-ce que tu travailles en réseau, es-ce que ces fichiers seront exécutés avec ou sans macro, es-ce que ces fichiers doivent être dynamiques ou statiques?

Ayant travaillé dans un bureau d'études, j'ai vu la galère que c'était d'adapter un ancien fichier excel!!!

Bonjour,

Tout est possible ! (quite à en créer les conditions si elles ne viennent pas d'elles-mêmes...)

Je n'ai pas tout suivi dans tes propos, mais il m'a semblé comprendre que tu souhaitais gérer et manipuler divers classeurs...

Je pense que dans un tel cas de figure un classeur pilote, contenant toutes tes macros, est la meilleur solution pour opérer sur le classeur en cours, dès lors que les opérations à effectuer sont les mêmes d'un classeur à l'autre, ainsi que pour gérer l'archivage, le rappel d'archive, etc.

Pour travailler, tu n'as alors qu'un seul classeur à ouvrir, à partir duquel tu ouvres ceux dont tu as besoin selon ce que tu entends faire...

Cordialement.

Bonjour le fil, bonjour le forum,

Tu peux aussi mettre tous les contrôles/codes dans le classeur source et ils perdureront dans la copie... C'est beaucoup plus simple que je rajouter contrôles/code après.

Merci à tous pour vos réponses

J'ai bien compris que mes macros seraient transféré, si je décide de les créer dans mon fichier source. En revanche est ce que ma page d'acceuil avec les boutons qui lancent les macros seront transférés aussi ?

Ce que je veux dire, supposons que je n'ouvre que le fichier Archive.XXXXX. les boutons de lancement des macros seront également présents ou est ce que je dois tout faire depuis la source ?

Si je comprend bien je travaillerais sous la forme maitre/esclave ?

Mon fichier esclaves ne contiendrait que des informations et aucune macro ni bouton ?

Bonjour,

Je ne suis pas sûr de bien interpréter ta question dans la mesure où, sans être antinomiques, les propositions faites visaient des aspects différents.

D'une part, concentrer le programme dans un classeur pilote (que tu peux appeler "maître" en effet). Les autres seraient en effet soit sans macro, soit avec mais marginalement par rapport aux procédures principales communes (par exemple macro de retour vers le classeur principal...). C'est l'orientation que je préconisais.

D'autre part, un classeur modèle reproductible par copie (en fait il ne s'agit pas de copie, on l'ouvre, on sauvegarde sous un nom défini, et on l'utilise pour ce qu'on a prévu), donc prêt à l'emploi. Préconisation de ThauThème.

Et la proposition de d3d9x qui me paraissait orientée dès le départ vers une synthèse des deux idées, ma foi très complémentaires...

L'idée de base est que si tu travailles sur des projets ayant une large part en commun, il est inutile de multiplier les actions macro dans chaque classeur, un peut les concentrer et puisera les paramètres dans le classeur projet pour y appliquer des procédures. De même si le classeur projet est prédéfini à partir d'un modèle, cela facilitera grandement l'exécution de procédures communes. Enfin le classeur "maître" te permet de gérer globalement tes noms de classeurs, l'archivage, etc.

Bonne journée.

Bonjour le fil, bonjour le forum,

Ce site a un petit défaut... On ne peut pas noter un post !... Tant pis, +10 au Maître Ferrand !

et peut-être -1 pour le nouvel avatar de D3d9x, l'autre était bien plus impressionant !...

Hein ! Pourquoi donc ?

Salut ThauThème ! (je n'ai pas bien suivi ton raisonnement ! )

@ThauThème Je suis pas d'accord, je saurais pas si je dois up ou down ton post

Donc petite remise dans le contexte, après une grosse galère d'un utilisateur pour repérer une c*uille dans un fichier Excel, j'ai trouvé et solutionné son problème. Si tu as vu le dessin animé (la belle et la bête), et que tu te rappelles la scène, tu comprendras mieux l'utilisation de cet avatar J'admet, c'est moins dark et ça en jette moins ^^

J'étais pas bien réveillé !! mais il est vrai que je n'avais pas vu ton avatar !

Le précédent va me manquer !

Rechercher des sujets similaires à "creation nouveau workbook via vba"