Salut,
Le problème dans ton code vient du faite que :
- tu ne précises pas la feuille de la cellule
- dans chaque feuilles tu as un tableau, avec la méthode " Ln = F.Range("B2").End(xlDown).Row " même s'il n'y a rien dans la colonne "B" ta dernière ligne va être la dernière ligne du tableau qui est vide dans ton cas. En suite ta condition " If F.Cells(Ln, "B").Value <> "" Then " ne laisse pas passer.
C'es pourquoi toutes tes feuilles ne sont pas copiées.
Je te propose de supprimer les tableaux.
il faut aussi préciser la feuilles des cellules ainsi :
Sub Compilerr()
set g=thisworkbook.sheets("Global")
g.Cells(2, "B").CurrentRegion.Offset(2, 0).Clear '
'...
End Sub
Je te laisse corriger ton code.
Reposte si le problème persiste.
A+