copier coller

M

modus57

Guest
Bonsoir le forum
Je souhaiterais copier les cellules A1:E2 depuis la cellule active du classeur actif puis ouvrir le classeur TEST et coller dans la dernière cellule non vide de la colonne C + 1 ligne et décaler 2 colonnes vers la droite

La procédure ci-dessous ne fonctione pas elle se bloque sur ActiveSheet.Paste

Pouquoi !!!!!

Sub copiercoller()
Application.ScreenUpdating = False
ActiveCell.Range('A1:E2').Select
Selection.Copy
Workbooks.Open Filename:= 'C:\\Documents and Settings\\AllUsers\\Documents\\TEST.XLS'
Range('C65536').End(xlUp).Offset(1, -2).Select
ActiveSheet.Paste
ActiveWorkbook.Save
ActiveWorkbook.Close
Application.ScreenUpdating = True
End Sub

Qui pourrait m'aider, merci d'avance à +
 

justine

XLDnaute Occasionnel
bonsoir le forum , modus57

Sub copiercoller()
Application.ScreenUpdating = False
Activesheet.Range('A1:E2').Select
Selection.Copy
Workbooks.Open Filename:= 'C:\\Documents and SettingsAllUsersDocuments\\TEST.XLS'
Range('C65536').End(xlUp).Offset(1, 2).Select
Activecell.Paste
ActiveWorkbook.Save
ActiveWorkbook.Close
Application.ScreenUpdating = True
End Sub

mais je ne l'ai pas tester
 

Jacques87

XLDnaute Accro
Bonsoir
De nouveau bonsoir Justine

Il me semble, Justine, que ton code est encore sujet à une erreur
Je propose quant à moi :

Sub copiercoller()
Application.ScreenUpdating = False
ActiveCell.Range('A1:E2').Select
Selection.Copy
Workbooks.Open Filename:='C:\\Documents and Settings\\Test.xls'
ActiveSheet.Range('C65536').End(xlUp).Offset(1, -2).Select
ActiveSheet.Paste Destination:=Worksheets('Feuil1').Range('D1')
ActiveWorkbook.Save
ActiveWorkbook.Close
Application.ScreenUpdating = True
End Sub

en souhaitant apporter une solution au problème, bonne soirée
 
M

modus57

Guest
Bonsoir justine

En effet j'ai oublié les barres ci-dessous la procédure corrigée

Sub copiercoller()
Application.ScreenUpdating = False
Activesheet.Range('A1:E2').Select
Selection.Copy
Workbooks.Open Filename:= 'C:Documents and Settings\\AllUsers\\Documents\\TEST.XLS'
Range('C65536').End(xlUp).Offset(1, 2).Select
Activecell.Paste
ActiveWorkbook.Save
ActiveWorkbook.Close
Application.ScreenUpdating = True
End Sub

Je l'ai testée ça bloque sur Activecell.Paste

A tu une autre idée
 

Jacques87

XLDnaute Accro
Je ne comprends pas
Je l'ai testée chez moi sans problème

P.S. :
Ton problème me turlupinait
J'ai regardé de nouveau et mon nouvel essai est concluant (sans erreur)
Alors je me demande si le fichier que tu ouvres (TEST.Xls) ne serait pas protégé par hasard

Message édité par: Jacques87, à: 28/01/2006 23:43
 

michel_m

XLDnaute Accro
bonsoir Modus, justine, Jacques

Ci dessous proposition:

Sub copier_coller()
Dim tablo As Range
Set tablo = Range('A1:E2')
Workbooks.Open Filename:='source.xls'
tablo.Copy Sheets(1).Cells(Range('C65536').End(xlUp).Row + 1, 5)
End Sub

Remplace 'source.xls' par ton nom de fichier de même pour l'onglet 'sheets(1)

Au dodo
A+
Michel_M
 
M

modus57

Guest
Bonjour Justine, Jacques, Michel, Temjeh

Bravo Michel ta proposition fonctionne avec un petit correctif pour copier à partir de la cellule active du classeur actif et coller dans la première cellule vide de la colonne A du classeur 'source.xls' :

Sub copier_coller()
Dim tablo As Range
Set tablo = Acticecell.Range('A1:E2')
Workbooks.Open Filename:='source.xls'
tablo.Copy Sheets(1).Cells(Range('C65536').End(xlUp).Row + 1, 1)
End Sub

Par contre pour répondre à Jacques, dans ta solution la copie dans le classeur et la feuille de destination se fait en D1 cela ne correspond pas à mon besoin

Merci à tous et plus particulièrement à Michel, grâce à vous je peut progresser dans ma petite application

A +
 

Discussions similaires

Statistiques des forums

Discussions
312 452
Messages
2 088 543
Membres
103 880
dernier inscrit
rafaelredsc