Fonction VBA : last_used_row

La fonction VBA last_used_row renvoie le numéro de la dernière ligne utilisée de la feuille passée en argument.

Utilisation :

last_used_row(feuille)


Exemple d'utilisation (fonction proche de SOMME)

Addition de tous les chiffres dans sélection de l'utilisateur (en ignorant les lignes hors de la zone utilisée) :

Sub exemple()
   
    Dim cellule As Range
   
    somme = 0
    derniere_ligne_utilisee = last_used_row(ActiveSheet)
   
    'Parcours des cellules de la sélection
    For Each cellule In Selection
       
        'Test de la ligne (si hors de la zone utilisée, inutile de continuer)
        If cellule.Row > derniere_ligne_utilisee Then Exit For
   
        'Addition
        If IsNumeric(cellule) Then somme = somme + cellule
    Next
   
    'Résultat
    MsgBox somme

End Sub

En ajoutant le test de la ligne dans la boucle, les lignes non utilisées de la feuille sont ignorées.

Ce type de test peut faire une différence très importante en terme de performances notamment lorsque des colonnes entières sont sélectionnées (sans ce test, il aurait fallu parcourir 1'048'576 lignes au lieu de 8) :

excel-last-used-row-fonction - last-used-row

Remarque : cette fonction nécessite l'installation du pack de fonctions XLP (un add-in gratuit pour Excel qui ajoute 81 nouvelles fonctions).