Private Sub CommandButton1_Click()
On Error GoTo erreur
Application.ScreenUpdating = False
Dim tableauClasseurs, i As Integer, curCell As Range, tmpWbk As Workbook
' récupérer les classeurs concernés
tableauClasseurs = Application.GetOpenFilename(filefilter:="Fichiers Excel, *.xls; *.xlsx", MultiSelect:=True)
' boucler sur chaque classeur
For i = LBound(tableauClasseurs) To UBound(tableauClasseurs)
' ouvrir le classeur
Set tmpWbk = Application.Workbooks.Open(tableauClasseurs(i))
With ThisWorkbook.Sheets("STATISTIQUES")
' boucler sur chaques cellules du classeur
For Each curCell In tmpWbk.Sheets("STATISTIQUES").UsedRange
' si c'est une cellule "numérique"
If IsNumeric(curCell.Value) And curCell.Value <> vbNullString Then
'on ajoute la valeur à ce classeur
.Range(curCell.Address).Value = .Range(curCell.Address).Value + curCell.Value
End If
Next curCell
End With
' fermer le classeur sans le sauver
tmpWbk.Close False
Next i
GoTo fin
erreur:
MsgBox "erreur dans la macro"
fin:
Application.ScreenUpdating = True
End Sub