Bonjour, j'essaye de copier des colonnes (mais partiellement, cad des plages de ces colonnes), ceci d'une manière automatique pour plusieurs fichiers.
Je suis dans la première étape de copier coller pour un seul fichier excel vers un autre.
Je réussie à copier une cellule à la fois mais pas plusieurs cellules à la fois pour un seul fichier.
j'ai ce code pour copier une cellule qui fonctionne:
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
20
21
22
23
24 Sub foo5() Dim y As Workbook Dim sourcePath As String, sourceFile As String, destFullPath As String sourcePath = "Z:\VBA\" sourceFile = "PARA__Casa_Idron_64__19102016.xlsx" '<--| specify your source file name only, with its extension destFullPath = "Z:\VBA\copyColumns.xlsx" '<--| specify your destination file FULL path If Dir(destFullPath) = "" Then '<--| check is such a file actually exists MsgBox "File " & vbCrLf & vbCrLf & destFullPath & vbCrLf & vbCrLf & "is not there!" & vbCrLf & vbCrLf & vbCrLf & "The macro stops!", vbCritical Else Set y = Workbooks.Open(destFullPath) With y.Sheets("Feuil1").Range("B1") .Formula = "='" & sourcePath & "[" & sourceFile & "]Para RF'!C33" .Value = .Value End With 'y.Close SaveChanges:=True End If End Sub
alors que lorsque je généralise pour plusieurs cellules, mais toujours dans la même colonne, comme dans ce code:
Sachant que ce que je copie contients des formules, moi je veux copier le résultats final et pas la formule.
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
20
21
22 Sub foo4() Dim y As Workbook Dim sourcePath As String, sourceFile As String, destFullPath As String, i As Integer '<--| not necessary, but useful not to clutter statements sourcePath = "Z:\VBA\" '<--| specify your source file path down to the last backslash and with no source file name sourceFile = "PARA__Casino_Idron_64__19102016.xlsx" '<--| specify your source file name only, with its extension destFullPath = "Z:\VBA\copyColumns.xlsx" '<--| specify your destination file FULL path If Dir(destFullPath) = "" Then '<--| check is such a file actually exists MsgBox "File " & vbCrLf & vbCrLf & destFullPath & vbCrLf & vbCrLf & "is not there!" & vbCrLf & vbCrLf & vbCrLf & "The macro stops!", vbCritical Else Set y = Workbooks.Open(destFullPath) For i = 23 to 33 With y.Sheets("Feuil1").Range("B" & i - 10) .Formula = "='" & sourcePath & "[" & sourceFile & "]Para RF'!C&i" .Value = .Value End With 'y.Close SaveChanges:=True End If End Sub
Merci d'avance pour vos aides et vos propositions!!
Cheers!
Partager