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
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 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
Enfin voila mon code censé faire la copie
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
ce code donne une erreur9 "indice en dehors de la plage"
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")
J'avais aussi testé cela :
ce code ne fait juste rien :/
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
j'ai aussi testé :
mais la j'ai une erreur 1004 la méthode pastespecial de la classe Range a échouée.
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
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.
Partager