Macro - copie dans un autre classeur

loic_akela

Habitué
escusez moi, mais je n'arrive pas à réécrire un code que m'avais fait l'enregistreur de macro d'excel :

code départ (il marche...)
Code:
Sub nbr_coup()
    Workbooks.Open Filename:=  "....\suivi prod  presses 2007.xls"
    ActiveWindow.SmallScroll Down:=24
    Range("B38:E43").Select
    Selection.Copy
    Windows("new_graph_TRG.xls").Activate
    Range("I15").Select
    ActiveSheet.Paste
    Windows("suivi prod  presses 2007.xls").Activate
    Application.DisplayAlerts = False
    ActiveWindow.Close
    Application.DisplayAlerts = True
End Sub
ma réécriture :( (qui ne marche pas !!)
Code:
Sub nbr_coup()
    Workbooks.Open Filename:= "...\suivi prod  presses 2007.xls"
    Worksheets(Worksheets.Count).Range("B38:E43").Copy
    Workbooks("new_graph_TRG.xls").Worksheets("350t").Range("I15").Paste 
    
' pour fermer le document source sans enregistrer
Windows("suivi prod  presses 2007.xls").activate
    Application.DisplayAlerts = False
    ActiveWindow.Close
    Application.DisplayAlerts = True
End Sub
je suis désoler (pour ZEB), mais il reste un activate... la comme ça, je ne sais pas comment l'enlever...

j'ai aussi essayé une autres méthode, mais qui ne marche pas non plus :
Code:
    Workbooks("....\suivi prod  presses 2007.xls").Worksheets(Worksheets.Count).Range("B38:E43").Copy
    Workbooks("new_graph_TRG.xls").Worksheets("350t").Range("I15").Paste
c'est sur que la, je simplifie... mais cela ne marche pas !!

je ne comprend pas ce qui ne marche pas et je n'arrive pas a trouver la solution
 

zeb

Modérateur
Code:
' Ouvrir un classeur
Workbooks.Open Filename:=  "....\suivi prod  presses 2007.xls"
' scroller un peu
ActiveWindow.SmallScroll Down:=24

' sélectionner une zone
Range("B38:E43" ).Select

' la copier dans le presse-papier
Selection.Copy

' mettre au premier plan la fenêtre qui s'appele new_graph_TRG
Windows("new_graph_TRG.xls" ).Activate

' choisir la cellule I15
Range("I15" ).Select

' coller depuis le presse-papier 
' (en espérant que par ailleurs, rien d'autres ne soit aller s'y copier)
ActiveSheet.Paste

' Activer la première fenêtre 
Windows("suivi prod  presses 2007.xls" ).Activate

' Virer les alertes
Application.DisplayAlerts = False

' Fermer la fenêtre active
ActiveWindow.Close

' Remettre les alertes
Application.DisplayAlerts = True
T'a raison, c'est pa bô :(

On recommence :
■Créer un objet classeur en ouvrant un fichier.
■Copier (sans passer par le presse-papier) dans la cellule I15 (et suivante) de la feuille ? du classeur new_graph_TRG la zone B38:E43 de la feuille ? du classeur ci-avant ouvert.
■Fermer le classeur.

Code:
Dim classeurA As WorkBook
Dim classeurB As WorkBook

Set classeurA = WorkBooks.Open("suivi prod  presses 2007.xls")
Set classeurB = WorkBooks("new_graph_TRG.xls")

classeurA.Worksheets(?).Range("B38:E43").Copy Destination:=classeurB.Worksheets(?).Range("I15")

classeurA.Close
L'est où le blème ???????
(C'est ton paste qui n'a rien à foutre là ;) )

Ici, je mets toujours le Destination après Copy. C'est pour fixer les idées. Dans la vraie vie, je ne le fais pas, pas besoin ;)
 

loic_akela

Habitué
ok merci, cela marche et c'est plus jolie.

juste pour info, si je met simplement "close"... il me demande si je veux enregistrer ou non...
du coup, il faut que je laisse en fin du code
Code:
 Windows("suivi prod  presses 2007.xls" ).activate
     Application.DisplayAlerts = False
     ActiveWindow.Close
     Application.DisplayAlerts = True
 End Sub
 

zeb

Modérateur
:fou: Pourquoi ce Windows, cet activate et ce ActiveWindow sont-ils revenus :fou:

[fixed]Workbooks("suivi prod presses 2007.xls").Close[/fixed]
Et si Excel pose des questions stupides :
[fixed]Application.DisplayAlerts = False
Workbooks("suivi prod presses 2007.xls").Close
Application.DisplayAlerts = True[/fixed]

Ou encore, on va lire l'aide de Close et on y découvre le paramètre SaveChanges.
Ou encore mieux encore en plus en plus (merci crétin.fr), on va lire l'aide de Open et on y découvre le paramètre ReadOnly.
 

hoegarden31

Expert
lol je vois qu'on a pas chommer ici lol ^^ et oui je suis de retour
et donc je vous dit bonne continuation ^^
 

zeb

Modérateur
(Salut BièreBlanche :hello: T'as vu, je suis toujours en bagarre contre Select/Selection :lol: )
 
Vous devez vous inscrire ou vous connecter pour répondre ici.
Derniers messages publiés
Statistiques globales
Discussions
730 132
Messages
6 718 011
Membres
1 586 388
Dernier membre
mery2005
Partager cette page
Haut