Dupliquer une feuille excel par VBA

obelix77

XLDnaute Junior
Bonjour à tous,

J'ai beau chercher dans les forums, je ne trouve pas une macro qui correspond à ce que je cherche à faire : dupliquer un onglet "à l'identique" (mise en forme, formules, tableau dynamique, ...) dans un même fichier et que le nom du nouvel onglet soit le nom inscrit sur un bouton activX ou une forme qui va lancer la macro.

Ce qui me bloque : il faut que, dans le nouvel onglet, des colonnes soient vidées de tout leur contenu, excepté la tête de colonne.
Exemple dans le fichier joint : je souhaite dupliquer l'onglet "saisie" en onglet "tata_lucette" mais avec les colonnes B, E,de F à H et K vidées de leur contenu et ce jusqu'à la dernière cellule remplie d'une de ces 5 colonnes.
Le nombre de ligne du tableau est variable.

Si quelqu'un peut de donner un coup de main, étant nul en VBA ...

Part avance un grand merci et un très bon samedi aussi
 

Pièces jointes

  • essai_dupliquer_onglet.xlsm
    36.2 KB · Affichages: 76
Dernière édition:

Staple1600

XLDnaute Barbatruc
Re

Non ce n'est pas logique.
Car la feuille TOTO devrait être dupliquée en conservant les modifications faites puisque le bouton 1 de la feuille TOTO devrait être liée à la feuille TOTO (et non pas à la feuille initiale)

Voici ce fait actuellement la macro
J'ai une feuille A avec le Bouton 1 -> clic
J'obtiens une copie de A avec le Bouton 1
Je modifie la copie de A et je clique sur le Bouton 1 de la copie
J'obtiens une copie de la feuille A qui écrase les modifs de la copie.

Ce qu'il faudrait avoir
Une feuille A+Bouton1->clic
-> Copie de A +Bouton2->clic
-> Copie de Copie de A+Bouton3-clic
etc...

NB: Donc plus ça va, plus on se dirige vers l'usine à gaz ;)
Si j'étais moi, je ferai autrement (mais ceci est une autre histoire)
 

obelix77

XLDnaute Junior
Re

Non ce n'est pas logique.
Car la feuille TOTO devrait être dupliquée en conservant les modifications faites puisque le bouton 1 de la feuille TOTO devrait être liée à la feuille TOTO (et non pas à la feuille initiale)

Voici ce fait actuellement la macro
J'ai une feuille A avec le Bouton 1 -> clic
J'obtiens une copie de A avec le Bouton 1
Je modifie la copie de A et je clique sur le Bouton 1 de la copie
J'obtiens une copie de la feuille A qui écrase les modifs de la copie.

Ce qu'il faudrait avoir
Une feuille A+Bouton1->clic
-> Copie de A +Bouton2->clic
-> Copie de Copie de A+Bouton3-clic
etc...

NB: Donc plus ça va, plus on se dirige vers l'usine à gaz ;)
Si j'étais moi, je ferai autrement (mais ceci est une autre histoire)
Vous avez raison. Je vais réfléchir autrement
Merci pour tout
 

obelix77

XLDnaute Junior
Bonjour Staple,
J'ai écouté tes conseils et j'ai revu mon architecture différemment.
Plus d"effacement de données, plus besoin d'enchaînements de macro...
Effectivement, j'allais vers une usine à gaz et tu me l'as évité. Donc super :)

Il me reste cependant un problème que je n'arrive pas à résoudre depuis hier soir :
Dans l'onglet que je duplique, il y a un tableau d'excel que j'ai renommé "pour_tcd".
Quand je duplique l'onglet, le tableau d'excel est bien repris avec le même nom suivi d'un chiffre aléatoire : "pour_tcd3" par exemple mais ça peut aussi être "pour_tcd112"
Mon problème : ce nouvel onglet doit alimenter un TCD qui doit connaitre à l'avance le nom du tableau ...
J'ai donc copier/coller le code suivant qui renomme la plage :

ActiveSheet.ListObjects("pour_tcd112").Name = "extract"

Mon problème : je ne peux connaitre de manière sûre la valeur du chiffre qui va suivre le nom de la plage.
Dans Excel j'aurais écris "pour_tcd*" mais ça ne marche pas en VB, à priori.

J'imagine qu'il y a quelque chose à faire mais tout ce que je teste plante.

Donc si tu as un moment ...

Très bon dimanche
 
Dernière édition:

Muller

XLDnaute Nouveau
Bonjour
j'ai trouvé ce poste surper intéressant et j'essaye de reproduire sans succès la duplication de feuilles à partir d'une liste et d'un modèle.
Voici ce que ca donne (voir le fichier excel).
Ca coince sur ça
upload_2018-4-18_14-41-17.png

Je ne suis pas expert du tout, merci de votre aide
Hugo
 

Pièces jointes

  • dupliquer Rapport.xlsm
    33.1 KB · Affichages: 17

Muller

XLDnaute Nouveau
bonjour ,
Je revient vers vous , j'ai a présent une sorte de fantôme dans ma macro , je m'explique , vous trouverez en pièces jointes mon document , appuyez sur le bouton , ce dernier ouvre des onglet , jusqu’à ce moment tout va bien . Or une fois les onglets ouvert , et que je retourne dans la feuille extraction , que j'entre dans une cellule puis que j'en sélectionne une autre , une sorte d'image de fond apparait !
upload_2018-4-18_16-36-19.png

Quelqu'un saurais comment m'en débarrasser ?
Merci d'avance
 

Pièces jointes

  • upload_2018-4-18_16-33-46.png
    upload_2018-4-18_16-33-46.png
    321.5 KB · Affichages: 29
  • Copie de Rapport HUGO 1.xlsm
    61.4 KB · Affichages: 26

Staple1600

XLDnaute Barbatruc
Bonsoir le fil, le forum, chris ;)

@Muller [Bienvenue sur le forum]
Pour infos
La coutume c'est de créer sa propre discussion pour poser sa propre question.
En en général, on évite de poser sa question dans un fil dont on n'est pas l'initiateur
(Cela évite de se mélanger les pinceaux, et cela rend la lecture du fil plus fluide)
 

Discussions similaires

Statistiques des forums

Discussions
312 305
Messages
2 087 080
Membres
103 457
dernier inscrit
fab2614