recopier un feuille sans vba associé

jhofman

XLDnaute Occasionnel
bonjour,


je souhaite recopier intégralement des feuilles d'un classeur
en valeur, format (sans les formules) avec toutes les mises en formes complexes MAIS aussi sans reprendre le code VBA associé à chacune des feuilles?

soit dans même classeur, soit dans un nouveau classeur
Merci de votre aide.
José
 

job75

XLDnaute Barbatruc
Re : recopier un feuille sans vba associé

Bonjour,

Quand vous faites du Copier/Coller sur une feuille, le code VBA de cette feuille n'est pas tranféré...

Ici il suffit de faire Copier-Collage spécial-Valeurs, puis Collage spécial-Format.

Vous pouvez utiliser l'enregistreur de macro pour automatiser.

A+
 

Catrice

XLDnaute Barbatruc
Re : recopier un feuille sans vba associé

Bonjour,

ci-joint un exemple qui duplique le classeur sans les macros.
Il ne te reste plus qu'à gérer l'enregistrement ...

Edit : j'avais oublié d'enlever les formules.
voir fichier joint
 

Pièces jointes

  • Classeur1.xls
    31.5 KB · Affichages: 999
  • Classeur1.xls
    31.5 KB · Affichages: 979
  • Classeur1.xls
    31.5 KB · Affichages: 1 022
Dernière édition:

jhofman

XLDnaute Occasionnel
Re : recopier un feuille sans vba associé

Catrice : tu es géniale

C'est exactement ce dont j'avais besoin: très efficace.
Merci à vous deux.

juste le code VBA reste cependnat présent dans le calsseur copie. j'aurais aimé ne pas laissé de traces.
 
Dernière édition:

Catrice

XLDnaute Barbatruc
Re : recopier un feuille sans vba associé

Re,

Si tu veux aussi supprimer le code dans le fichier source, il faut que le code de copie soit dans un classeur externe. Sinon, on scie la branche sur laquelle on est assis.

Le fichier joint permet de choisir un fichier et de le dupliquer sans ses macros et formules.

Si c'est le code Vba qui sert à faire la copie qui te gene, la solution jointe doit repondre à ton attente.
En revanche, si tu veux enlever le code de la source (qui contiendrait des macros) et de la copie, c'est possible mais plus dangeureux. En cas d'erreur, tu perds tout ton code ...
 

Pièces jointes

  • Copieur.xls
    28.5 KB · Affichages: 577
  • Copieur.xls
    28.5 KB · Affichages: 527
  • Copieur.xls
    28.5 KB · Affichages: 560
Dernière édition:

jhofman

XLDnaute Occasionnel
Re : recopier un feuille sans vba associé

rebonjour,


je teste et j'ai un petit problème : les macro du fichier source s'exécutent et provoque un plantage : exemple de macro :


Code:
Private Sub Worksheet_Activate()
UserForm1.Hide
End Sub

peut-on faire en sorte que les macro du fichier source ne soient pas activées ?
 

Catrice

XLDnaute Barbatruc
Re : recopier un feuille sans vba associé

Re,

Oui tu peux empecher l'execution des evenements avec cette ligne :
Application.EnableEvents = False
Il ne faut pas oublier le :
Application.EnableEvents = True à la fin.

Voir le fichier que j'ai mis à jour dans le precedent Post.
 

jhofman

XLDnaute Occasionnel
Re : recopier un feuille sans vba associé

Merci impécable.

j'ai fait un test sur un assez gros fichier que j ene peux pas passer.
j'ai recopier ainsi les 36 premiers onglets... mais je bloque pour le 37 ième.
Pas trop grave.
Pour info le message est le suivant :

la méthode COPY de la classe Worksheet a échoué.. (erreur exécution 1004)
Merci.
a+ catrice.
 

jhofman

XLDnaute Occasionnel
Re : recopier un feuille sans vba associé

comme précisé sur le site de Microsoft :

Remarque Le nombre d'opérations de copie d'une feuille de calcul que vous pouvez effectuer avant de devoir enregistrer le classeur varie selon la taille de la feuille de calcul.


j'ai par ailleurs du mal à implémenter leur solution....


Merci Catrice de rester à l'écoute
 
Dernière édition:

Discussions similaires

Réponses
8
Affichages
318

Statistiques des forums

Discussions
314 093
Messages
2 105 785
Membres
109 429
dernier inscrit
romainP