Option Explicit
Sub Consolider()
Dim Chemin$, Fichier$, feuille$, ncol%, lig&, form$, h&
Chemin = ThisWorkbook.Path & "\" 'dossier à adapter
Fichier = Dir(Chemin & "isitelImmobRdv*.xlsm") '1er fichier du dossier
feuille = "RendezVous" 'nom des feuilles à copier, à adapter
ncol = 26 'nombre de colonnes, à adapter
lig = 3 '1ère ligne de restitution, à adapter
Application.ScreenUpdating = False
If FilterMode Then ShowAllData 'si la feuille est filtrée
Rows("3:" & Rows.Count).ClearContents 'efface
While Fichier <> ""
form = "'" & Chemin & "[" & Fichier & "]" & feuille & "'!"
h = 0
On Error Resume Next
h = ExecuteExcel4Macro("MATCH(9^9," & form & "C12)") 'en colonne L
On Error GoTo 0
If h > 3 Then
With Cells(lig, 1).Resize(h - 3, ncol - 9)
.FormulaArray = "=" & form & "R4C10:R" & h & "C" & ncol 'formule de liaison matricielle
.Value = .Value 'supprime la formule
.Replace 0, "", xlWhole 'supprime les zéros
End With
lig = lig + h - 3
End If
Fichier = Dir 'fichier suivant
Wend
'Columns.AutoFit 'ajuste les largeurs
With UsedRange: End With 'actualise la barre de défilement verticale
[a2] = "vide"
[A3].Select
End Sub