Sommer une même colonne dans des classeurs differents portant une partie de nom identique
par
, 14/07/2015 à 10h14 (341 Affichages)
Ici ce qui est important c'est l'utilisation de la "reference microsoft runtime" pour faire fonctionner l'objet Scripting.FileSystemObject qui permet de parcourrir un folder et ses fichiers , ensuite on l'ouvre si il correspond a notre condition et finalement on fait ce que l'on veut ( ici on somme la premiere colonne , mais on peut tout à fait faire autre choses).
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 Sub SommeColumns() Dim MyPath As String Dim MySum As Double Dim AllRange As Range Dim MyFile As File Dim xlsheet As Worksheet Dim Folder As New Scripting.FileSystemObject For Each MyFile In Folder.GetFolder("E:\VBAProject\Projet3\test").Files If MyFile.Name Like "Somme*" Then i = i + 1 Set xlsheet = Application.Workbooks.Open(MyFile.Path).Worksheets(1) With xlsheet If i = 1 Then MySum = Application.WorksheetFunction.Sum(.Columns(1)) Else: MySum = MySum + Application.WorksheetFunction.Sum(.Columns(1)) End If End With End If Next MyFile End Sub