Bonjour à tous,

je me résous à créer mon propre poste après avoir écumer les forums et les aides.

J'ai en fait deux tableaux Excel. ( Enfin un csv et un excel mais le temps de tester je le laisse en xls et regarderait après comment le convertir ). Le premier tableau est une extraction de données réalisée toute les semaines. Dans ce tableau un certain nombre de données sont stockée, en gros de A1 à I600 sur une seule feuille.
Il faut ensuite copier ces données dans la première feuille du second classeur qui les traite ensuite dans les feuilles suivantes.
Mon Pb vient de la copie entre les classeurs.

J'ouvre les deux classeurs via des boutons dont le code suis :

pour le fichier de destination
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
 
Private Sub previous_btn_Click()
 
cheminpr = ""
'utilisation comondialog afin d'ouvrir le fichier
CommonDialog1.ShowOpen
cheminpr = CommonDialog1.FileName
nompr = CommonDialog1.FileTitle
 
If cheminpr = "" Then MsgBox "vous n'avez rien sélectionné": Exit Sub
 
Set appExcel = CreateObject("Excel.Application")
Set wbprevious = appExcel.Workbooks.Open(cheminpr)
source_btn.Visible = True
 
End Sub
pour le fichier source

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
 
Private Sub source_btn_Click()
 
cheminsr = ""
CommonDialog1.ShowOpen
cheminsr = CommonDialog1.FileName
nomsr = CommonDialog1.FileTitle
 
If cheminsr = "" Then MsgBox "vous n'avez rien sélectionné": Exit Sub
 
'Ouverture de l'application
Set appExcel = CreateObject("Excel.Application")
'Ouverture d'un fichier Excel
Set wbsource = appExcel.Workbooks.Open(cheminsr)
 
 
 
Ope.Visible = True
End Sub
Enfin voila mon code censé faire la copie
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
Workbooks("wbprevious").Worksheets(1).Range("A1:i600").Copy _
      Destination:=Workbooks("wbsource").Worksheets(1).Range("A1:i600")
ce code donne une erreur9 "indice en dehors de la plage"

J'avais aussi testé cela :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
 Workbooks("wbprevious").Worksheets(1).Range("A1:i600").Value = Workbooks("wbsource").Worksheets(1).Range("A1:i600").Value
ce code ne fait juste rien :/

j'ai aussi testé :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
wbsource.Sheets(1).Range("I1:I35").Copy
    wbprevious.Sheets("Top Manager CAP").Range("J1").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Application.CutCopyMode = False
mais la j'ai une erreur 1004 la méthode pastespecial de la classe Range a échouée.

Je suis donc bloqué à cet endroit.
Si quelqu'un avait la gentillesse de jeter un oeil pour me filer un coup de main ce serait super chouette.

D'avance merci à tous et bonne continuation.