Dernière ligne

jephté the best -  
thev Messages postés 2005 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour, j'apprends la programmation avec VBA _Excel, j'ai besoin d'une commande pour me renvoyer sur la dernière ligne non vide pour enregistrer la valeur suivante.
je suis tombé sur ce qui suit : i = .Cells(.Rows.Count, "F").End(xlUp).Row + 1

je n'ai aucune idée de son fonctionnement,
pouvez - vous m'aider à le comprendre ou me donner un plus facile que celui - ci?
merci

2 réponses

  1. Utilisateur anonyme
     
    Bonsoir jephté the best,

    Voici un exemple plus simple pour retourner la dernière ligne
    non vide d'un tableau, selon la colonne B :

    
    Dim dlig As Long ' dernière ligne
    dlig = Range("B" & Rows.Count).End(xlUp).Row
    
    

    Rows.Count retourne le nombre de lignes : 65 535 avec Excel 2003,
    1 048 576 lignes avec Excel 2007 ; donc avec Excel 2007,
    Range("B" & Rows.Count) correspond à la cellule B1048576 ; ensuite,
    le .End(xlUp) équivaut à < Ctrl >< ↑ > qui s'arrête sur la 1ère cellule
    non vide rencontrée ; enfin, le .Row retourne la ligne de cette cellule.

    Si ton problème est réglé, merci d'aller en haut de page
    pour cliquer sur « Marquer comme résolu ».

    Cordialement.  😊
     
    0
  2. thev Messages postés 2005 Date d'inscription   Statut Membre Dernière intervention   721
     
    Bonjour,

    Pour trouver la dernière ligne utilisée, plusieurs solutions :

    A- si la dernière ligne utilisée n'est pas propre à une colonne, mais simplement à la feuille active, le plus simple est :

    With ActiveSheet.UsedRange
    dernière_ligne_utilisée = .Rows.Count
    End with

    UsedRange correspond à la plage utilisée

    B- sinon pour obtenir la dernière ligne utilisée sur la colonne A par exemple, 2 solutions possibles :


    With ActiveSheet
    dernière_ligne_utilisée = .Range("A:A").Find("*", SearchOrder:=xlRows, SearchDirection:=xlPrevious).Row
    End with

    .Find cherche la première cellule non vide dans la colonne A en remontant depuis la dernière
    .Row donne le numéro de ligne de cette cellule

    ou


    With ActiveSheet
    dernière_ligne_utilisée = .Cells(.Rows.Count,"A").End(xlUp).Row
    End with

    .Cells(.Rows.Count,"A") est la dernière cellule de la colonne A
    .End(xlUp) donne la première cellule non vide en remontant à partir de la dernière cellule de la colonne A
    .Row donne le numéro de ligne de cette cellule
    0