Copier/coller du code VBA

Salut à tous

Je reviens avec une question de taille:

Peux t'on copier du code vba en vba???

je m'explique:

J'ai un fichier dans lequel j'ai plusieurs onglets et du code sur chaque feuille

(Les feuilles sont toutes les même seul le nom de l'affaire change)

Quand je créé une nouvelle affaire, je créé un nouvel onglet que je renomme et je copie une feuille excel

(Tout sa en auto)

L'étape d'après serait de copier le code d'une feuille excel et le coller dans la nouvelle feuille créé...

et la je sèche

merci à vous

Ps: je joins le fichier

25gestion-cmd-1.xlsm (243.39 Ko)

Bonjour

Au lieu de créer une feuille et d’y coller les données d’une feuille existante, crée la copie d’une feuille (clic droit dans l’onglet – Déplacer ou copier – Créer une copie) et le code suivra.

Si j’ai bien compris ton problème …

OK ?

Bye !

Mais c'est génial !!!!!!!!!!

Par contre cela me bloque sur un autre point (que je pensais pouvoir gérer avec la dite méthode recherchée)

J'ai des graphiques en autos,j'insère des séries suivants les choix demandés

or dans la plage de valeur de la série il y a le nom de la feuille...

Donc quand je copie ma feuille il garde le nom de la feuille d'origine

ActiveChart.SeriesCollection(1).Name = "='Cogé Mureaux'!$H$3"

ActiveChart.SeriesCollection(1).Values = "='Cogé Mureaux'!$H$4:$H$15"

ActiveChart.SeriesCollection(1).XValues = "='Cogé Mureaux'!$G$4:$G$15"

et j'ai éssayé de remplacer Cogé Mureaux par feuil2 ou activesheet(s) cela ne marche pas

as tu une idée???

Désolé mais sans fichier, je ne peux pas aller plus loin...

Bye !

Je te le redonne avec les modifications que tu m'a dis tout a l heure

il est trop gros donc j ai supprimé des onglets ne t'étonne pas de voir des nom d'onglet non existant

21gestion-cmd-v11.xlsm (258.39 Ko)

Désolé mais je ne vois pas.

Et je doute que cela soit possible....

Bye !

merci comme meme

Bonjour

La nuit porte conseil …

J’ai peut-être trouvé une astuce pour modifier les références de ta macro.

Prenons la feuille ‘’Cogé Mureaux’’.

Dans une cellule, n’importe laquelle, tu saisies la formule :

=STXT(CELLULE("nomfichier";$A$1);TROUVE("]";CELLULE("nomfichier";$A$1))+1;100)

(Fais un copier – coller pour ne pas te tromper)

Tu pourras cacher le résultat par un dessin blanc si nécessaire.

Cette formule te donne le nom de l’onglet lequel on se trouve, donc ici : ‘’Cogé Mureaux’’

Et dans la macro de la feuille ‘’Cogé Mureaux’’ on fait un : Edition – Remplacer (Tout car il y en a plus de 80 !)

Cogé Mureaux (sans guillemet)

Par

" & ActiveSheet.Range("H22") & "

(avec guillemet)

Je t’ai fait la manip sur le fichier ci-joint ; et comme ce travail ne se fait qu’une fois, alors…

Tu peux ensuite créer une copie de la feuille ‘’Cogé Mureaux’’ (clic droit) et tu obtiens la feuille ‘’ Cogé Mureaux (2)’’

Et avec ça, ta macro devrait marcher. Tu ne risques rien d’essayer.

A noter : il te faut bien partir d’une feuille pour laquelle le graphique de gauche s’appelle ‘’Graphique 1 et le graphique de droite ‘’Graphique 2’’ (Quand tu cliques dessus, le nom du graphique apparait en haut et à gauche de la feuille, sur la ligne des formules.)

Ce n’est pas le cas pour toutes tes feuilles.

Quand on crée une copie, ces deux noms sont donnés automatiquement et il faut donc qu’il y ait correspondance avec les noms des graphiques qu’on a dans la macro associée à la feuille.

OK ?

Dis- moi le résultat….

Bye !

Alors la...................... CHAPEAU

J'ai cherché de mon côté et suis tombé avec cell mais ne marchait que pour les titres

Ce matin j'ai posté un nouveau sujet plus approprié et on m'a proposé:

activesheet.name............sans trop de résultat

Merci l'opérateur pourra créé autant de page que voulu sans toucher à VBA

ET ui pour info c'est 85 fois copier/coller

Merci beaucoup

Rechercher des sujets similaires à "copier coller code vba"