Private Sub Workbook_Activate()
Dim s As Boolean, chemin, fichier$, feuille$, f$, h&
s = Me.Saved 'mémorise l'état
chemin = ThisWorkbook.Path & "\" 'à adapter
fichier = "Liste Eleves.xlsx" 'à adapter
feuille = "Liste Ecole" 'à adapter
f = "'" & chemin & "[" & fichier & "]" & feuille & "'!"
h = Val(CStr(ExecuteExcel4Macro("MATCH(""zzz""," & f & "C1)"))) - 1
If h < 0 Then h = 0
Application.ScreenUpdating = False
With Feuil1
If .FilterMode Then .ShowAllData 'si la feuille est filtrée
With .[A2] '1ère cellule de destination, à adapter éventuellement
If h Then
With .Resize(h, 2)
.Columns(1) = "=TRIM(" & f & "A2&"" ""&" & f & "B2)"
.Columns(2) = "=" & f & "C2"
.Value = .Value 'supprime les formules
.Columns(2).Replace 0, "", xlWhole 'supprime les zéros (en cas de cellules vides)
.Borders.Weight = xlThin 'bordures
End With
End If
.Offset(h).Resize(.Parent.Rows.Count - h - .Row + 1, 2).Delete xlUp 'RAZ en dessous
End With
.Columns.AutoFit 'ajustement largeurs
With .UsedRange: End With 'ajuste la barre de défilement verticale
End With
If s Then Me.Saved = True 'évite l'invite à la fermeture si aucune modification
End Sub