Dupliquer un modèle en conservant les macros dont les sources changent

Bonjour à tous,

Je n'ai pas réussi à donner un titre très explicite ... Je vais donc essayer de m'expliquer au mieux ici.

Je vous détaille mon besoin :

J'ai créé un fichier de facturation mensuel qui doit comporter x feuilles (chaque feuille représentera une ville). Ces villes étant amenées à changer tout les mois, je voudrai automatiser ces créations au maximum pour pouvoir donner le fichier modèle à des personnes sans qu'elles aient à retoucher le VBA pour s'adapter à leur situation.

Je voudrai avoir une feuille "Administration" du classeur (que j'ai nommé Récap) dans lequel je pourrais créer automatiquement de nouvelles feuilles par rapport à un modèle (appelé _Modèle dans mon fichier), ainsi qu'avoir un tableau croisé dynamique par futures feuilles pour avoir un résumé de tout mon classeur.

J'ai mis 2 options pour cela : création de x feuilles par rapport à un tableau (Macro "CréationFeuilleParNom") et création individuel (copie de la feuille modèle, macro "Ajout_Onglet") ==> Jusque là, j'ai réussi à faire ce que je voulais.

La feuille modèle comporte 2 tableaux (un pour les prestations humaines, l'autre pour le matériel utilisé), des tableaux d'une ligne avec un bouton sur le côté relié à une macro "Ajout_Ligne". Le soucis commence ici ... Je sais faire marcher ces macros pour une feuille (avec le nom du tableau), sauf qu'en générant les nouvelles feuilles, le nom des tableaux devient forcément différent de ce que j'ai renseigné dans la macro, ce qui la fait planter.

J'ai à moitié résolu le problème en sélectionnant un intervalle de cellule plutôt que le nom du tableau, mais cela ne marche que pour le tableau du haut (celui du bas voyant ces n° de ligne changer à chaque ajout du 1er tableau)

Idem pour les TCD, qui nécessite qu'à chaque initialisation du classeur, j'aille sélectionner chaque sources à la main.

Existe t'il un moyen que ma macro d'ajout ligne puisse anticiper le nom des tableaux des futures feuilles (qui sont une copie d'un même modèle) ?

J'ai beaucoup parlé et suis pas certain d'avoir été clair... N'hésitez pas à me reprendre et me demandez plus d'informations

Je vous joins un modèle allégé de mon travail sans les données interne à mon entreprise, ce qui aura peut être laissé des traces de modules ou autres supprimés depuis ...

Merci d'avance à ceux qui voudront bien ce pencher sur mon problème

Cordialement

Bonjour,

Le plus simple me parait être d'utiliser les indices des 2 tableaux dans vos feuilles, qui devraient rester fixes et de mettre le code les concernant dans la feuille Modèle.

Pour test, définition des lignes des tableaux d'indice 1 et 2 dans le code de la feuille Modèle :

Sub test()

    ligne_tableau1 = Me.ListObjects(1).HeaderRowRange.Row
    ligne_tableau2 = Me.ListObjects(2).HeaderRowRange.Row

End Sub

Bonjour,

Merci pour ta réponse rapide ! Malheureusement je ne suis vraiment pas doué en VBA et je n'arrive pas à interpréter ta solution ni à l'intégrer ... (Il me manque les bases)

Pourrais-tu me commenter ta solution et m'expliquer ce que je dois modifier ?

Merci pour ta patience

Bonjour,

Le plus simple est de ramener le code d'ajout de ligne à la feuille Modèle en utilisant les indices des objets tableau : ListObjects(1), ListObjects(2) plutôt que leurs noms.

Par ailleurs, j'ai remplacé le bouton "Shape" par un bouton "Contrôle ActiveX" (menu Développeur --> mode Création --> Insérer) afin de ramener l'ensemble du code dans la feuille Modèle.

Ce code sera donc dupliqué pour chaque feuille créée à partir de la feuille Modèle.

Super, c'est exactement ce dont j'avais besoin !

ça fonctionne parfaitement comme ça, encore merci !

Cordialement

Rechercher des sujets similaires à "dupliquer modele conservant macros sources changent"