XL 2010 VBA copier feuille vers nouveau classeur

BRUNO62

XLDnaute Occasionnel
Bonjour,
J'ai besoin d'aide.
A partir d'un classeur existant, je souhaite copier plusieurs feuilles vers un nouveau classeur et le classeur.
Cela fonctionne pas.
Merci,
Sub Macro7()

Dim objWorkbookCible As Workbook
Dim objworkbooksource As Workbook
Set objworkbooksource = ActiveWorkbook
Worksheets(4).Copy
Set objWorkbookCible = ActiveWorkbook
ActiveWorkbook.SaveAs Filename:="D:\titi du " & Format(Now, "dd.mm.yyyy") & ".xls"

Worksheets(9).Copy
Set objWorkbookCible = ActiveWorkbook
ActiveWorkbook.SaveAs Filename:="D:\titi1 du " & Format(Now, "dd.mm.yyyy") & ".xls"

ActiveWorkbook.SaveAs Filename:="D:\ Classeur du " & Format(Now, "dd.mm.yyyy") & ".xls"


End Sub
 

MyloX

XLDnaute Nouveau
Bonjour BRUNO62, le forum,

Ça ne fonctionne pas certainement à cause de cette partie de ton code :

Set objWorkbookCible = ActiveWorkbook

EDIT : C'est comme si tu faisais un copier-coller dans le même fichier.

En fait, il faudrait que tu remplaces "ActiveWorkbook" par "[le-nom-de-ton-fichier].[extension-de-ton-fichier]".


Cordialement,
MyloX
 
Dernière édition:

BRUNO62

XLDnaute Occasionnel
Bonjour MyloX,
Merci,
J'ai essayé de faire
Je copie la feuil4 mais je bloque à la feuil9
Désolé, Je n'y arrive pas ....

Sub Macro7()

Dim objWorkbookCible As Workbook
Dim objworkbooksource As Workbook
Set objworkbooksource = ActiveWorkbook
Worksheets(4).Copy
Set objWorkbookCible = ActiveWorkbook
ActiveWorkbook.SaveAs Filename:="D:\titi du " & Format(Now, "dd.mm.yyyy") & ".xls"

Worksheets(9).Copy
Set objWorkbookCible = "D:\titi1 du " & Format(Now, "dd.mm.yyyy") & ".xls"

End Sub
 

Hasco

XLDnaute Barbatruc
Repose en paix
Bonjour,

Vos lignes peuvent être résumées à :
VB:
Sub Macro7()
ThisWorkbook.Worksheets(Array(4, 9)).Copy
ActiveWorkbook.SaveAs Filename:="D:\titi du " & Format(Now, "dd.mm.yyyy") & ".xls"

End Sub

Petite variante si vous avez besoin de référencer le nouveau classeur créé :
Code:
Sub Macro7()
Dim WkCible as Workbook
ThisWorkbook.Worksheets(Array(4, 9)).Copy
Set WkCible = ActiveWorkbook
 With WkCible
      .SaveAs Filename:="D:\titi du " & Format(Now, "dd.mm.yyyy") & ".xls"
      '
      ' autres lignes de travail sur le nouveau classeur
      '.....
 end with
End Sub

P.S 1 : Attention à ActiveWorkbook ! Il peut être à un moment donné, n'importe quel classeur activé par inadvertance. Mieux vaut (si j'ai bien compris ce que vous voulez faire) utiliser ThisWorkbook pour désigner le classeur qui contient la macro.

P.S. 2 : Nous sommes (presque en 2021) le format .xls des classeurs est obsolète depuis 2007. Il faudrait penser à profiter des nouvelles (13 ans) possibilités d'excel.

Zut j'ai pas de PS4 :)

Cordialement



cordialement
 

Discussions similaires

Membres actuellement en ligne

Aucun membre en ligne actuellement.

Statistiques des forums

Discussions
312 196
Messages
2 086 099
Membres
103 116
dernier inscrit
kutobi87