Resolu
OK, ça fonctionne comme ceci :
Sub Synthese()
Dim Chemin$, cl$
Dim Fichiers As Object, Classeur As Object, N As Integer
Dim ListeClasseurs As New Collection
Dim C As Range
Dim Wbk As Workbook, Ws As Worksheet
Dim x As Integer, NbFichiers As Integer, y As Integer, fl As Integer
Dim Feuill As String
Dim Valeur As Double
Dim tableau() As String
Dim cellul As String
Application.ScreenUpdating = False
Chemin = ThisWorkbook.Path
cl = Dir(ThisWorkbook.Path & "\*.xls")
FichO = ActiveWorkbook.Name
Application.Goto Reference:="RAZ"
Selection.ClearContents ' on vide les données avant l'agrégation
'Recherche des Classeurs à agréger
Set Fichiers = CreateObject("Scripting.FileSystemObject").getfolder(Chemin).Files
For Each Classeur In Fichiers
If Right(Classeur.Name, 3) = "xls" Then
If Classeur.Name <> ThisWorkbook.Name Then
ListeClasseurs.Add Classeur.Name
NbFichiers = NbFichiers + 1
ReDim Preserve tableau(1 To NbFichiers)
tableau(NbFichiers) = cl
cl = Dir()
End If
End If
Next
'Agrégation sans déplacement de cellules
For x = 1 To NbFichiers 'boucles sur les classeurs
Chemin = ThisWorkbook.Path
fichier = Chemin & "\" & ListeClasseurs(x)
Workbooks.Open fichier
fic = ActiveWorkbook.Name
Windows(FichO).Activate
Application.Goto Reference:="COMPTAGE"
Selection.Copy
Windows(fic).Activate
Range("F15").Select
ActiveSheet.Paste
Windows(FichO).Activate
'Agrégation sans déplacement de cellules
Application.Goto Reference:="Formules"
For Each C In Selection
cellul = Workbooks(fic).Worksheets(1).Range(C.Address).Value
Range(C.Address) = Range(C.Address) + cellul
Next C
Application.Goto Reference:="CROIX"
For Each C In Selection
cellul = Workbooks(fic).Worksheets(1).Range(C.Address).Value
If cellul = "X" Or cellul = "x" Or cellul = "oui" Then
Range(C.Address) = Range(C.Address) + 1
End If
Next C
Workbooks(fic).Close SaveChanges:=False
Next x
Application.ScreenUpdating = True
End Sub
Merci à vous pour l'aide que vous m'avez apportée.
Bises
C@thy