Enregistrer feuilles Excel dans meme classeur

Aussie -  
lermite222 Messages postés 9042 Statut Contributeur -
Bonjour,

1ere question : Je voudrais savoir si il est possible de copier en meme temps deux feuilles d'un meme classeur vers un autre classeur grave a VB?
J'ai installer un bouton qui me permet de copier une de ces feuilles mais je n'arrive pas a trouver la commande pour copier deux feuilles.
Actuellement, mes deux feuilles sont copiees dans deux classeurs differents.
Quelqu'un aurait-il une solution?

2eme question : peut-on, grace a VB toujours, copier des feuilles Excel de classeurs differents dans un meme classeur mais a des moments differents?

Merci pour votre aide!!
A voir également:

27 réponses

yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   Ambassadeur 1 586
 
Peux-tu nous montrer le code associé à tes boutons ?
0
Aussie
 
mon code me permet de faire une copie de ma feuille dans un autre classeur pour pouvoir la sauvegarder et en meme temps de remettre ma feuille a zero de facon a la reutiliser.

Le code est donc le suivant :

Sheets("CAPTURE").Select
Sheets("CAPTURE").Copy
Windows("Nomdemafeuille").Activate
Range("E10").Select
Application.CalculateFull
ActiveCell.FormulaR1C1 = ""
Range("F10").Select
ActiveCell.FormulaR1C1 = ""
Range("H10:W40").Select
Selection.ClearContents
0
yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   Ambassadeur 1 586
 
Tu fais l'insertion à la main ?
0
Aussie
 
De quelle insertin parles-tu?
0
yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   1 586 > Aussie
 
La sauvegarde ou l'enregistrement dans l'autre feuille.
0
Aussie
 
Je clique sur un bouton et la copie se fait automatiquement. en revanche, oui, je dois enregistrer mon fichier à la main.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   Ambassadeur 1 586
 
Avant d'enregistrer, tu fais aussi l'insertion de tes données dans l'autre fichier ?
0
Aussie
 
je rentre mes données dans un fichier et c'est celui-là que je copie ensuite dans un nouveau classeur , en archive en quelques sortes, par l'intermédiaire de mon bouton. une fois la copie faite, mon fichier se remet à zéro automatiquement
0
yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   Ambassadeur 1 586
 
Je crois comprendre que tu fais à la main l'insertion dans ton fichier de destination. Si oui, tu peux essayer d'ajouter ceci à ton bouton :

'tout au début
Dim destwb As Workbook
Set destwb = Workbooks.Open("le nom du fichier de destination")

' après ton Sheets("CAPTURE").Copy
destwb.sheets("le nom de la feuille de destination").select
destwb.sheets("le nom de la feuille de destination").Range("le nom de la cellule de destination").Activate
destwb.sheets("le nom de la feuille de destination").paste

Si non, tu devrais expliquer plus en détails ce que tu fais avant et après l'appel à ton bouton.
0
Aussie
 
ok j'essairai ça et je te dirai, pour l'instant je n'ai pas le fichier sous la main.

ce code me permettra de faire quoi? d'enregistrer 2 feuilles dans le même classeur?
0
yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   1 586
 
Ce code devrait faire tout à fait automatiquement ce que je pense que tu fais pour le moment en partie à la main, en partie automatiquement.
Il sera ensuite facile de le completer pour une deuxieme feuille.
0
Aussie
 
J'ai bien relu ton message et en fait je ne fais pas de tranfert a la main. la seule chose que je fais moi c'est enregistrer ma copie. mon bouton me permet deja de faire la copie et de remettre ma feuille a zero. une copie exacte de ma feuille de saisie est transferee dans un nouveau classeur grace a ce bouton.

je laisse tomber ma premiere question de depart, j'ai trouve une alternative. par contre, je voudrais savoir si il est possible d'enregistrer des feuilles dans un meme classeur mais a des moments differents.

pour mieux m'expliquer, j'ai dans mon fichier A ma feuille de saisie. quand cette feuille est totalement remplie, j'en fais une copie dans un autre classeur et je remets a zero cette feuille pour pouvoir y retravailler dessus.
je rentre mes donnees a nouveau et je fais la meme chose : copie dans un autre classeur et remise a zero et ainsi de suite.
j'aimerais que le classeur de destination soit le meme a chaque fois. de cette facon, toutes mes feuilles de sauvegarde se trouve au meme emdroit.
donc au depart, je n'ai aucune feuille dans mon classeur de destination (il n'existe meme pas puisqu'il sera cree au moment de ma premiere sauvegarde), puis 1 (creation du classeur), puis 2, puis 3 etc

j'espere avoir ete plus precis et plus clair, sinon dis moi!

merci
0
yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   Ambassadeur 1 586
 
Quelle manipulations fais-tu exactement pour "enregistrer ta copie" ?

Pour moi, le bouton sauve tes données dans le "presse papier", et met à zéro quelques données dans une feuille.

Comme je ne vois pas où les données sont copiées dans le classeur de destination, je ne peux pas t'expliquer comment les copier à chaque fois dans une nouvelle feuille du classeur de destination.
0
Aussie
 
pour enregistrer ma feuille, je clique sur un bouton auquel j'ai lie la macro que je t'ai donne. la feuille entiere est enregistree dans un nouveau classeur. la macro remet ma feuille a zero en effacant toutes les donnees que j'ai pu rentrer. la copie correspond exactement a ma feuille avant que je clique sur le bouton. mes copies auront donc toujours la meme mise en forme, seul le contenu des cellules changera.
0
yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   1 586
 
Je comprends, finalement ! Je ne connaissais pas ce que faisait le "copy", et j'ai imaginé qu'il faisait autre chose ! Désolé de t'avoir induit(e) en erreur !

Au lieu de
Sheets("CAPTURE").Copy

essaie avec ceci :
Dim newwb As Workbook
Set newwb = Workbooks.Open("c:\temp\bookcpy.xls")
Sheets("CAPTURE").Copy before:=newwb.Sheets(1)
newwb.close

ou bien

Workbooks.Open ("c:\temp\bookcpy.xls")
Sheets("CAPTURE").Copy before:=Workbooks("bookcpy.xls").Sheets(1)

En mettant ton fichier de destination à la place de c:\temp\bookcpy.xls et de bookcpy.xls
0
Aussie
 
Ce que j'avais dit n'etait peut-etre pas tres clair alors je m'en excuse! mais ce n'est pas evident de decrire ce que tu as et ce que tu veux meme si tu as tout bien en tete, tu ne penses pas forcement a parler de tout. enfin, au bout du compte on arrive a se comprendre!!

j'ai essaye tes formules mais je recois un message d'erreur me disant que le fichier de destination n'est pas trouve. j'ai donc creer un nouveau fichier, je l'ai ouvert puis ferme, j'ai rentre le nom d'un fichier qui n'existe pas et c'est a chaque fois pareil.

aurais-tu une explication a cela?
0
yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   1 586
 
Peux-tu montrer le code tel qu'il est maintenant ?
0
Aussie
 
Voila le code tel au'il est. j'ai remplace Sheets("capture").copy par ce que tu m'as donne :

Sheets("CAPTURE").Select
Dim newwb As Workbook
Set newwb = Workbooks.Open("Book1")
Sheets("CAPTURE").Copy before:=newwb.Sheets(1)
newwb.Close
Windows("MARSIE'S DATE CAKE.xls").Activate
Range("E10").Select
Application.CalculateFull
ActiveCell.FormulaR1C1 = ""
Range("F10").Select
ActiveCell.FormulaR1C1 = ""
Range("H10:W40").Select
Selection.ClearContents
0
yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   Ambassadeur 1 586
 
Essaie de mettre le nom complet du fichier dans
Set newwb = Workbooks.Open("Book1")

du genre :
Set newwb = Workbooks.Open("c:\temp\bookcpy.xls")
0
Aussie
 
tu avais raison pour cette ligne, il fallait mettre le chemin entier. maintenant c'est la ligne suivant qui beuge!!
0
yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   1 586
 
quel message d'erreur ?
0
lermite222 Messages postés 9042 Statut Contributeur 1 191
 
Bonjour,
avant que vous n'alliez plus loin, voir mes conclusions sur l'autre topic de Aussie
http://www.commentcamarche.net/forum/affich 7147158 recherche dans plusieurs feuilles

Semblerait qu'il y ai emploi de Excel différents...
0
Aussie
 
oui je veux faire plusieurs choses differentes. les fichiers excel concernes ne sont pas les memes. je souhaiterais avoir deux choses differentes c'est la raison pour laquelle j'ai poste deux messages separes
0
lermite222 Messages postés 9042 Statut Contributeur 1 191
 
Pas de problème, je n'ai fait aucune remarque ou reproche quand aux 2 postes puisque je trouve que tu a bien fait de scinder les 2 Problèmes.
0
Aussie
 
Je preferais etre clair pour ne pas que vous pensiez que vous perdez votre temps avec un truc qui est completement aberrant. j'ai besoin de votre aide!!
en fait, j'ai effectivement des liaisons vers recipes dans mes deux fichiers mais je ne copie aucune feuille de ce fichier recipes.

j'ai supprime les tableaux 1 et 2, je me suis egalement rendu compte que la feuille que je copiais dans mon fichier research n'avait exactement la meme mise en forme que les autres. j'ai fait les modif et la ca a l'air de bien fonctionner.

je ferai des essais plus tard car le je ne peux pas. je vous tiens bien evidemment au courant.

en tout cas merci a vous 2 pour votre aide!!
0
Aussie
 
mon premier probleme etant resolu, je voudrais maintenant choisir le fichier de destination de mes copies pour qu'elles se retrouvent toutes dans mon ficher de recherche.
0
lermite222 Messages postés 9042 Statut Contributeur 1 191
 
pour copier dans autre classeur...
Sheets("CAPTURE").Copy After:=Workbooks("Le nom.xls").Sheets(4)

0