Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Copier un classeur sans les formules vers nouveau classeur

alain18

XLDnaute Occasionnel
Bonjour à tous,
A partir d'un classeur avec une dizaine de feuilles (onglets) géré par de nombreuses formules et macros, je souhaiterais copier dans un second classeur (avec un autre nom) seulement quelques feuilles bien définies, avec l'ensemble de leurs contenus mais sans aucune formule.
Je ne sais pas ci cela est bien clair, mais pour résumer, je souhaiterais copier et coller uniquement les valeurs. J'ai bien trouvé dans un post de Papou-net une macro (ci-dessous) qui fait ce genre de travail mais les copies crées un fichier nouveau par feuille, hors je souhaite garder toutes les feuilles dans le même fichier.
Etant nul en VBA, je ne suis pas capable d'adapter son code ou en créer un autre....!

Merci de votre aide

Code de Papou-net:
Sub CopieFeuilles()
For Each sh In ActiveWorkbook.Sheets
sh.Copy
ActiveWorkbook.SaveAs "F:\" & sh.Name
ActiveWorkbook.Close
Next
End Sub
 

job75

XLDnaute Barbatruc
Re : Copier un classeur sans les formules vers nouveau classeur

Bonjour nijseri,

Personne ne vous a répondu... Probablement parce que c'est trop évident.

A la fin de la macro du post #4, remplacer "TOTO.xls" (avec les guillemets) par :

F(1).[A1] & "xls" s'il s'agit de la feuille affaire1, ou par :

F(2).[A1] & "xls" s'il s'agit de la feuille affaire3 (la 2ème du tabeau F).

A+
 

toune21

XLDnaute Impliqué
Re : Copier un classeur sans les formules vers nouveau classeur

Bonsoir Job75,
J'utilise votre fichier "copie5" qui fonctionne très bien.
J'ai juste un petit souci, la feuille que je copie est assez importante avec pas mal de formmules.
exemple:
Dans la cellule A19 J'appelle mon client 1, la feuille se calcule, je lance la macro 'copie feuille', ensuite je fais idem pour les autres clients, j'en ai quatre en tout.
En fait quand la macro copie elle place la copie dans le presse papier, ce qui fait que j'en avais 4 et quand j'ai voulu sauvegarder mon fichier d'origine, EXCEL a planté. Apparement trop d'image.
Du coup j'ai perdu toutes les formules, excel les a remplacé par les valeurs.
J'ai essayé avec l'enregistreur de macro pour effacer les images dans le presse papier, mais ca ne fonctionne pas.
Peut être avez vous une solution.
Merci encore. Toune21
 

job75

XLDnaute Barbatruc
Re : Copier un classeur sans les formules vers nouveau classeur

Bonjour toune21, le forum,

Vous ne croyez pas qu'un fichier (allégé) serait le bienvenu pour que l'on voit ce que vous faites ?

Avec ma macro il n'y a aucune possibilité pour que les formules du fichier d'origine soient effacées puisqu'un nouveau document est créé.

Et il n'y a rien dans le presse-papier après exécution de la macro.

La boule de cristal a ses limites.

A+
 

toune21

XLDnaute Impliqué
Re : Copier un classeur sans les formules vers nouveau classeur

bonjour Job75 et le forum,
J'ai planché une partie de la nuit, et voilà, c'est que j'avais inseréer le logo de l'entreprise, donc la macro copiais dans le presse papier le fichier et le logo.
La solution... j'ai supprimé le logo...

SVP J'ai deux petites question

n°1 comme la macro sauvegarde les valeurs, je souhaiterais que dans la nouvelle feuille les zéro n'apparaissent pas, j'ai donc insérer après cette ligne (.SaveAs chemin & fichier, FileFormatNum) ActiveWindow.DisplayZeros = False.Close
Et j'ai toujours les zéro.

n°2 : la copie enregistre bien la cellule demandée (F2 : MARIE 3), peut on ajouter une autre cellule (F1 : janvier 2011)? exemple "MARIE 3 et janvier 2011
je joint la boule de cristal.

Merci encore pour le temps que vous m'accordez
Toune21
 

Pièces jointes

  • copie(5)2.xls
    54 KB · Affichages: 71

job75

XLDnaute Barbatruc
Re : Copier un classeur sans les formules vers nouveau classeur

Rebonjour toune21,

Ci-joint le fichier avec la macro adaptée à ce que vous voulez faire.

Je l'ai fait sur Excel 2010, et effectivement il y avait un problème.

Excel stocke en effet la plage copiée, je l'ai donc limitée au UsedRange :

Code:
F.UsedRange.Copy .Range(F.UsedRange.Address) 'pour Excel 2007/2010 : limite la plage à copier
A+
 

Pièces jointes

  • toune21(1).xls
    53 KB · Affichages: 110

job75

XLDnaute Barbatruc
Re : Copier un classeur sans les formules vers nouveau classeur

Re,

La méthode précédente ne va pas pas car la largeur des colonnes ou la hauteur des lignes n'est pas copiée.

La solution est de copier toutes les cellules et ensuite d'écraser la mémoire Excel en copiant une seule cellule :

Code:
F.Cells.Copy .Cells
F.Range("IV65536").Copy .Range("IV65536") 'pour Excel 2007/2010 : écrase la mémoire Excel
Fichier (2).

Je pense que vous devez pouvoir conserver le logo d'entreprise, tenez-nous au courant.

A+
 

Pièces jointes

  • toune21(2).xls
    53 KB · Affichages: 57

toune21

XLDnaute Impliqué
Re : Copier un classeur sans les formules vers nouveau classeur

Re,
moi aussi je viens de rentrer.
verdic sur le fichier (2)
erreur d'éxécution 1004 'la méthode 'SaveAs de l'objet_Workbook a échoué'
et il le sauvegarde en classeur et non la cellule demandée.
Je suis un peu longue à tester, le logo ne passe pas
 
Dernière édition:

toune21

XLDnaute Impliqué
Re : Copier un classeur sans les formules vers nouveau classeur

Re bonsoir,

ci joint une autre boule de cristal, avec plus d'explications,
et j'ai toujours la même erreur.

Passez un bon dimanche et merci encore
toune21
 

Pièces jointes

  • toune21(2)(1).xls
    72 KB · Affichages: 38

job75

XLDnaute Barbatruc
Re : Copier un classeur sans les formules vers nouveau classeur

Re,

A priori si la macro beugue sur SaveAS c'est que le chemin d'accès n'est pas correct.

Mais là j'arrête car c'est une mise au point de votre fichier que vous demandez, ça peut continuer longtemps.

Plus rien à voir avec ce fil.

A+
 

job75

XLDnaute Barbatruc
Re : Copier un classeur sans les formules vers nouveau classeur

Bonjour toune21, le forum,

J'ai quand même modifié la macro pour avoir un seul enregistrement utilisant F2 et F3.

Et supprimé les listes de validation dans le fichier créé.

Fichier (3).

A+
 

Pièces jointes

  • toune21(3).xls
    71.5 KB · Affichages: 61

toune21

XLDnaute Impliqué
Re : Copier un classeur sans les formules vers nouveau classeur

Bonsoir Job, et le forum
je crois que j'abuse

La feuille que je copie à une mise en page, marges H =0,4 B=0,4 G=0,8 D=0, et pages réduire à 85%.
la feuille copiée ne reproduit pas cette mise en page. Je me suis servie de l'enregistreur de macro que j'ai inclus dans la macro "copie feuille" mais ça ne fonctionne pas.

Si c'est possible ou impossible merci de me répondre.
A bientôt
 

job75

XLDnaute Barbatruc
Re : Copier un classeur sans les formules vers nouveau classeur

Bonjour toune21,

Non, vous n'abusez pas du tout car vous m'obligez à copier la feuille avec :

Code:
F.Visible = True 'au cas où F serait masquée...
F.Copy Before:=ActiveWorkbook.Sheets(1)
ActiveWorkbook.Sheets(2).Delete
Et c'est une solution bien meilleure que de copier les cellules, merci beaucoup.

Curieux que je n'y ai pas pensé dès le début

Fichier (4)

A+
 

Pièces jointes

  • toune21(4).xls
    72 KB · Affichages: 71

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…