Bonjour ici !
Pour un besoin de reporting tout bête, je planche sur un vba basé sur un exemple du forum.
Mon besoin : Récupérer le contenu des cellules C2/D2/E2/F2 des feuilles "portables" et "fixes" depuis une 100ène de fichier XLSX.
Et coller le tout dans un fichier "recap" vers les cellules A1/B1/C1/D1 de la feuille "SN".
J'ai essayé quelque le code ci-dessous, mais il ne ce passe rien...
Si vous avez une idée ? Ne serais-ce qu'une petite piste
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
25
26
27
28
29
30
31
32
33
34
35
36
37 Sub Transferer() Dim dossier As Object, Fichier As Object, Chemin As String, Lg As Integer Application.ScreenUpdating = False Application.DisplayAlerts = True Chemin = ThisWorkbook.Path FName = Dir(Chemin & "\" & "*.xlsx") Set dossier = CreateObject("Scripting.FileSystemObject").GetFolder(Chemin) Lg = 10 For Each Fichier In dossier.Files NomFichier = Fichier.Name If Not Fichier.Name = "RECUP.XLSM" Then Workbooks.Open Filename:=Chemin & "/" & NomFichier On Error Resume Next With Workbooks(NomFichier) .Sheets("portables").Range("C2").Copy ThisWorkbook.Sheets("SN").Range("A" & Lg) .Sheets("portables").Range("D2").Copy ThisWorkbook.Sheets("SN").Range("B" & Lg) .Sheets("portables").Range("E2").Copy ThisWorkbook.Sheets("SN").Range("C" & Lg) .Sheets("portables").Range("F2").Copy ThisWorkbook.Sheets("SN").Range("C" & Lg) .Sheets("fixes").Range("C2").Copy ThisWorkbook.Sheets("SN").Range("A" & Lg) .Sheets("fixes").Range("D2").Copy ThisWorkbook.Sheets("SN").Range("B" & Lg) .Sheets("fixes").Range("E2").Copy ThisWorkbook.Sheets("SN").Range("C" & Lg) .Sheets("fixes").Range("F2").Copy ThisWorkbook.Sheets("SN").Range("C" & Lg) .Close Lg = Lg + 1 End With End If Next End Sub
Un grand merci !!!
Partager