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...
Une idée ?
Merki!
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...
Code:
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
Une idée ?
Merki!
Dernière édition: