Sub GAUCHE_SI_VIDE()
Dim r As Range, t, ncol%, resu(), i&, n%, j%
ActiveCell.Activate 'si un objet est sélectionné
Set r = Intersect(Selection, ActiveSheet.UsedRange)
If r Is Nothing Then Exit Sub
t = r.Resize(r.Rows.Count + 1) 'matrice, plus rapide, au moins 2 éléments
ncol = UBound(t, 2)
ReDim resu(1 To UBound(t) - 1, 1 To ncol)
For i = 1 To UBound(resu)
n = 0
For j = 1 To ncol
If t(i, j) <> "" Then n = n + 1: resu(i, n) = t(i, j)
Next j, i
With Feuil2 'CodeName de la feuille Résultat
If .FilterMode Then .ShowAllData 'si la feuille est filtrée
.UsedRange = "" 'RAZ
.[A1].Resize(i - 1, ncol) = resu 'restitution
.Columns.AutoFit 'ajustement largeur
With .UsedRange: End With 'actualise les barres de défilement
.Activate 'facultatif
End With
End Sub