archivage d'une feuille dans un autre classeur

JPS28

XLDnaute Occasionnel
Bonjour le forum.
Je viens vers vous pour résoudre un petit problème j'ai adapté cette petite appli pour archiver une copie d'une feuille nommée "Monte" d'un classeur pour l'archiver dans un dossier nommé "Archive feuilles de monte" et quand je clic sur mon bouton elle ne va pas dans ce dossier mais créé un "classeur 1" "classeur 2" etc... Que dois-je faire pour que les feuilles aillent dans le dossier?

Voisi le texte:

Sauve = "C:\Users\Bureau\Documents\Monte\archivage\"
Worksheets("Monte").Copy

With ActiveWorkbook
.SaveAs Sauve & Feuil3.Range("A1").Value & Format(Now, "DD-MM-YYYY-") & " .xls"
.Close
End With
Merci cordialement
JPS
 

jp14

XLDnaute Barbatruc
Re : archivage d'une feuille dans un autre classeur

Bonjour

Le plus simple pour crée ce code est d'utiliser l'enregistreur de macro.

Ouverture du fichier de destination
Ensuite se mettre sur la feuille monte
Au niveau de l'onglet bouton droit de la souris
Copier
Choisir le classeur de destination.
terminer les opérations.

Quand on utilise copy sans destination, le système ouvre un nouveau classeur.

JP
 

JPS28

XLDnaute Occasionnel
Re : archivage d'une feuille dans un autre classeur

Bonjour jp14 le forum.
Décidément tu m'auras beaucoup aidé sur ce fichier j'ai imprimé ton texte pour pouvoir faire plus facilement les manipes mais j'arrive a rien mais le boulot m'attend je m'y remettrais se soir surtout que cette macro je voudrais l'associer au bouton quitter du dossier sur le quel tu m'avais aidé préalablement
Merci Cordialement

JPS
 

JPS28

XLDnaute Occasionnel
Re : archivage d'une feuille dans un autre classeur

Bonsoir jp14 le forum
Quelqu'un peut il m'aider sur ce coup j'ai tout essayé ce matin ce soir j'ai recommencé et je n'arrive a rien manque t'il quelque chose dans l'explication de JP14 ou suis-je bouché a l’émeri?
Merci cordialement.
JPS
 

jp14

XLDnaute Barbatruc
Re : archivage d'une feuille dans un autre classeur

Bonjour

Ci dessous la procédure crée avec l'enregistreur.

Code:
Sub Macro1()

    Workbooks.Open Filename:="D:\excel\Archive feuilles de monte.xls"
    Windows("FormCavalierCheval5.xls").Activate
    Sheets("Monte").Select
    Sheets("Monte").Copy Before:=Workbooks("Archive feuilles de monte.xls"). _
        Sheets(1)
    Sheets("Monte").Select
    Sheets("Monte").Name = "28_01_20010"
    ActiveWorkbook.Save
    ActiveWorkbook.Close
End Sub

Il faut supprimer select, activate et sélection si nécessaire.
on obtient

Code:
Sub Macro1()
Workbooks.Open Filename:="Archive feuilles de monte.xls"
Workbooks("FormCavalierCheval5.xls").Sheets("Monte").Copy Before:=Workbooks("Archive feuilles de monte.xls"). _
        Sheets(1)
    Sheets("Monte").Name = "29_01_20010"
    ActiveWorkbook.Save
    ActiveWorkbook.Close
End Sub

Il reste à remplacer la date par une variable.

JP
 

JPS28

XLDnaute Occasionnel
Re : archivage d'une feuille dans un autre classeur

Bonjour jp14, le forum.
Après avoir fait des essais depuis hier matin recommencé, recommencé je ne suis jamais arrivé a ce résultat avec l'enregistreur de macro, ou je faisais la boulette je ne sais pas! Mais je te remercie beaucoup de tes codes que je vais essayer de ce pas.
Merci beaucoup, cordialement.
JPS
 

JPS28

XLDnaute Occasionnel
Re : archivage d'une feuille dans un autre classeur

Bonsoir jp14 le forum.
Je te remercie de m'avoir aidé mais je n'arrive toujours a rien j'ai copier, j'ai coller, j'ai créer un autre module, j'ai mis le code dans le bouton quitter
J'ai créer un autre bouton, j'ai, j'ai,j'ai, j'abandonne ou c'est qui suis trop c...
ou il y a un probleme dans macro.
Merci de ton aide Cordialement.
JPS
 

YANN-56

XLDnaute Barbatruc
Re : archivage d'une feuille dans un autre classeur

Bonjour JPS28, jp14 et à ceux qui passeront par là.

Je te propose:

Code:
Private Sub CommandButton1_Click()
Dim CLASSEUR_SOURCE As Workbook
Set CLASSEUR_SOURCE = Workbooks.Open("C:\Users\Bureau\Documents\.......\NOM DU CLASSEUR CONTENANT LA FEUILLE A COPIER.xls")

With ThisWorkbook
    CLASSEUR_SOURCE.Sheets("FEUILLE A COPIER").Copy after:=.Worksheets(.Worksheets.Count)
End With
CLASSEUR_SOURCE.Close
End Sub

Tente ceci après avoir adapté le Chemin et le Nom des Feuilles.

Si cela fonctionne, l'on pourra aller plus loin quant à
la destination; le nouveau nom et l'enregistrement.

Au plaisir

Yann
 

jp14

XLDnaute Barbatruc
Re : archivage d'une feuille dans un autre classeur

Bonjour

Ci joint le fichier avec une procédure pour la sauvegarde.
Affichage d'un message
Copie de la feuille monte
Modification du nom
Suppression des boutons
Transfert d'une copie dans le fichier de sauvegarde
Suppression de la feuille copiée
Suppression des données (à modifier)

A tester

JP
 

Pièces jointes

  • FormCavalierCheval5.zip
    36.6 KB · Affichages: 127
  • FormCavalierCheval5.zip
    36.6 KB · Affichages: 113
  • FormCavalierCheval5.zip
    36.6 KB · Affichages: 130

Staple1600

XLDnaute Barbatruc
Re : archivage d'une feuille dans un autre classeur

Bonsoir à tous

Personnellement , je l'écrirai plutôt comme cela non ?

Const Fic$ As String ="C:\Users\Bureau\Documents\.......\NOM DU CLASSEUR CONTENANT LA FEUILLE A COPIER.xls")
Private Sub CommandButton1_Click()
Dim CLASSEUR_SOURCE As Workbook:Set CLASSEUR_SOURCE =Workbooks.Open Fic
Dim a As Workbook: set a=ThisWorkbook

With CLASSEUR_SOURCE
.Sheets("FEUILLE A COPIER").Copy after:=a.Worksheets(a.Worksheets.Count)
.Close true
End with
End Sub
message édité car erreur signalée par YANN-56
voir version ok dans mon dernier message. :eek:



 
Dernière édition:

YANN-56

XLDnaute Barbatruc
Re : archivage d'une feuille dans un autre classeur

Il semblerait que je me fasse "agrafé" par "Staple"... N'est-il pas? :):):)

Complicité Bretonne peut-être?

C'est ainsi que par l'aide des" Barbatruc" l'on avance.

J'ai pris bonne note.

Merci sincère à toi, et bonne soirée.

Yann
 

Staple1600

XLDnaute Barbatruc
Re : archivage d'une feuille dans un autre classeur

Re

YANN-56
Merci de m'avoir signalé en MP, mes erreurs de copie/coller de mon code

Voici la version corrigée et testée .

Code:
Option Explicit
Const Fic$ = "C:\Temp\titi.xls"
Sub test_ok()
Dim CLASSEUR_SOURCE As Workbook: Set CLASSEUR_SOURCE = Workbooks.Open(Fic)
Dim a As Workbook: Set a = ThisWorkbook
With CLASSEUR_SOURCE
.Sheets(1).Copy after:=a.Worksheets(a.Worksheets.Count)
.Close True
End With
End Sub

PS: ta syntaxe est ta syntaxe
ma syntaxe (mauvaise sur ce coup) est ma syntaxe
Peu importe le module pourvu qu'on ait l'ivresse macrotique ;)

et qu'on se partage nos connaissances sur XLD.
 

YANN-56

XLDnaute Barbatruc
Re : archivage d'une feuille dans un autre classeur

Bonsoir à ceux qui passeront par là

A l'agrafeur je dois dire que notre échange apporte la preuve
que de se taire devant ce que l'on ne comprend pas est une erreur;
mais que d'en parler et d'en demander précision peut apporter beaucoup.

Merci à toi Staple dont je ne doute pas que 1600 soit ton année
de naissance.......... Au regard de tes connaissances.

J'ai testé... Bien plus efficace que mon truc et aisément adaptable!

Merci à toi, et bonne pioche à JPS28

Bonne fin de soirée, et bonne fin de fin de semaine à tous.

Yann
 

JPS28

XLDnaute Occasionnel
Re : archivage d'une feuille dans un autre classeur

Bonsoir jp14, YANN-56, Staple1600, le forum.
Je vous réponds tout de suite car je suis très heureux de trouver vos réponse tous autant que vous êtes sur mon problème après une journée de travail qui n'est pas de tout repos surtout le samedi avec tout les enfants et parents qui viennent pour leur loisir. Je vous remercie donc et je vais essayer de se pas toutes vos propositions.
Je vous tien au courant de l’évolution de mon projet.
Merci, merci, beaucoup Cordialement.
JPS
 

JPS28

XLDnaute Occasionnel
Re : archivage d'une feuille dans un autre classeur

Re Bonsoir jp14, YANN-56, Staple1600, le forum.
Après une petite heure d'essais ce qu'a fait jp14 me semble intéressant mais je me retrouve avec une erreur d'exécution 1004 et la feuille de Monte s'archive dans "FormCavalerCheval" donc le même classeur et nom pas dans le classeur "Archive feuilles de monte".
Pour le code Staple1600 je ne sais pas ou placer le code j'ai essayé un par tout sans réussite?
Merci, cordialement.
JPS
 

Discussions similaires

Statistiques des forums

Discussions
312 428
Messages
2 088 330
Membres
103 814
dernier inscrit
Lolo280277