image

Trouver la ligne suivante signifie trouver la dernière ligne utilisée +1. Trouver la dernière ligne ou colonne utilisée est l’une des tâches de base et importantes de toute automatisation dans Excel à l’aide de VBA. Pour compiler des feuilles, des classeurs et organiser automatiquement les données, vous devez trouver la limite des données sur les feuilles.

Cet article explique toutes les méthodes pour trouver la dernière ligne et colonne dans Excel de la manière la plus simple.

1. Trouvez la dernière ligne non vide dans une colonne en utilisant Range.End Voyons d’abord le code. Je vais expliquer la lettre.
Sub getLastUsedRow()

Dim last_row As Integer

last_row = Cells(Rows.Count, 1).End(xlUp).Row ‘This line gets the last row

Debug.Print last_row

End Sub

Le sous-dessus ci-dessus trouve la dernière ligne de la colonne 1.

image

Comment ça marche?

C’est comme aller à la dernière ligne d’une feuille, puis appuyer sur le raccourci CTRL + UP.

Cellules (Rows.Count, 1): Cette partie sélectionne la cellule de la colonne A. Rows.Count donne 1048576, qui est généralement la dernière ligne de la feuille Excel.

Cells (1048576, 1) .End (xlUp): End est une méthode de classe de plage qui est utilisée pour naviguer dans les feuilles jusqu’aux extrémités. xlUp est la variable qui indique la direction. Ensemble, cette commande sélectionne la dernière ligne contenant des données.

Cells (Rows.Count, 1) .End (xlUp) .Row: .row renvoie le numéro de ligne de la cellule sélectionnée. Par conséquent, nous obtenons le numéro de ligne de la dernière cellule avec des données dans la colonne A. dans notre exemple, il est 8.

Voyez comme il est facile de trouver les dernières lignes avec des données. Cette méthode sélectionne la dernière ligne des données, indépendamment des cellules vides qui la précèdent. Vous pouvez voir que dans l’image que seule la cellule A8 contient des données. Toutes les cellules précédentes sont vides sauf A4.

Sélectionnez la dernière cellule avec des données dans une colonne Si vous souhaitez sélectionner la dernière cellule dans une colonne, supprimez simplement « .row » à la fin et écrivez .select.
Sub getLastUsedRow()

Cells(Rows.Count, 1).End(xlUp).Select ‘This line selects the last cell in a column

End Sub

La commande «.Select» sélectionne la cellule active.

Obtenir la colonne d’adresse de la dernière cellule Si vous voulez obtenir l’adresse de la dernière cellule dans la colonne A, supprimez simplement « .row » à la fin et écrivez .address.
Sub getLastUsedRow()

add=Cells(Rows.Count, 1).End(xlUp).address ‘This line selects the last cell in a column

Debug.print add

End Sub

La fonction Range.Address renvoie l’adresse de la cellule active.

Rechercher la dernière colonne non vide dans une ligne C’est presque la même chose que de trouver la dernière cellule non vide dans une colonne.

Ici, nous obtenons le numéro de colonne de la dernière cellule avec les données de la ligne 4.

Sub getLastUsedCol()

Dim last_col As Integer

last_col = Cells(4,Columns.Count).End(xlToLeft).Column ‘This line gets the last column

Debug.Print last_col

End Sub

image

Vous pouvez voir dans l’image qu’il renvoie le numéro de colonne de la dernière cellule non vide de la ligne 4. Qui est 4.

Comment ça marche?

Eh bien, les mécanismes sont les mêmes que pour trouver la dernière cellule avec des données dans une colonne. Nous venons d’utiliser des mots clés liés aux colonnes.

Sélectionnez l’ensemble de données dans Excel en utilisant VBA Nous savons maintenant comment obtenir la dernière ligne et la dernière colonne d’Excel en utilisant VBA.

Grâce à cela, nous pouvons sélectionner facilement une table ou un ensemble de données. Après avoir sélectionné un ensemble de données ou une table, nous pouvons effectuer plusieurs opérations dessus, comme le copier-coller, le formatage, la suppression, etc.

Ici, nous avons un ensemble de données. Ces données peuvent s’étendre vers le bas. Seule la cellule de départ est fixe, qui est B4. La dernière ligne et colonne n’est pas fixe. Nous devons sélectionner la table entière de manière dynamique en utilisant vba.

image

Code VBA pour sélectionner une table avec des cellules vides

Sub select_table()

Dim last_row, last_col As Long

'Get last row

last_row = Cells(Rows.Count, 2).End(xlUp).Row

'Get last column

last_col = Cells(4, Columns.Count).End(xlToLeft).Column

'Select entire table

Range(Cells(4, 2), Cells(last_row, last_col)).Select

End Sub

Lorsque vous exécutez cela, la table entière sera sélectionnée en une fraction de seconde. Vous pouvez ajouter de nouvelles lignes et colonnes. Il sélectionnera toujours toutes les données.

image

Avantages de cette méthode:

  1. C’est facile. Nous n’avons littéralement écrit qu’une seule ligne pour obtenir la dernière ligne avec des données. Cela facilite les choses.

  2. Vite. Moins de lignes de code, moins de temps.

  3. Facile à comprendre.

  4. Fonctionne parfaitement si vous avez une table de données maladroite avec des points de départ fixes.

Inconvénients de la méthode Range.End:

  1. Le point de départ doit être connu.

  2. Vous ne pouvez obtenir que la dernière cellule non vide d’une ligne ou d’une colonne connue.

Lorsque votre point de départ n’est pas fixé, il sera inutile. Ce qui est très peu probable.

2. Rechercher la dernière ligne avec la fonction Find () Voyons d’abord le code.
Sub last_row()

lastRow = ActiveSheet.Cells.Find("*", searchorder:=xlByRows, searchdirection:=xlPrevious).Row



Debug.Print lastRow

End Sub

image

Comme vous pouvez le voir dans l’image, ce code renvoie la dernière ligne avec précision.

Comment ça marche? Ici, nous utilisons la fonction find pour trouver toute cellule contenant quelque chose en utilisant l’opérateur générique « * ». L’astérisque est utilisé pour trouver n’importe quoi, texte ou nombre.

Nous définissons l’ordre de recherche par lignes (searchorder: = xlByRows). Nous indiquons également à excel vba la direction de la recherche sous la forme xlPrevious (searchdirection: = xlPrevious).

Il crée une fonction de recherche pour rechercher à partir de la fin de la feuille, par ligne.

Une fois qu’il trouve une cellule qui contient quelque chose, il s’arrête. Nous utilisons la méthode Range.Row pour récupérer la dernière ligne de la cellule active.

Avantages de la fonction Find pour obtenir la dernière cellule avec des données:

  1. Vous n’avez pas besoin de connaître le point de départ. Cela vous donne juste la dernière rangée.

  2. Il peut être générique et peut être utilisé pour trouver la dernière cellule avec des données dans n’importe quelle feuille sans aucune modification.

  3. Peut être utilisé pour trouver toute dernière instance de texte ou de numéro spécifique sur la feuille.

Inconvénients de la fonction Find ():

  1. C’est moche. Trop d’arguments.

  2. C’est lent.

  3. Impossible d’accéder à la dernière colonne non vide. Techniquement, vous pouvez. Mais ça devient trop lent.

3. Utilisation de la fonction SpecialCells pour obtenir la dernière ligne La fonction SpecialCells avec l’argument xlCellTypeLastCell renvoie la dernière cellule utilisée. Voyons d’abord le code

Sub spl_last_row_()

lastRow = ActiveSheet.Cells.SpecialCells(xlCellTypeLastCell).Row

Debug.Print lastRow

End Sub

image

Si vous exécutez le code ci-dessus, vous obtiendrez le numéro de ligne de la dernière cellule utilisée.

Comment ça marche?

C’est l’équivalent vba du raccourci CTRL + Fin dans Excel. Il sélectionne la dernière cellule utilisée. Si vous enregistrez la macro tout en appuyant sur CTRL + Fin, vous obtiendrez ce code.

Sub Macro1()

'

' Macro1 Macro

'

'

ActiveCell.SpecialCells(xlLastCell).Select

End Sub

Nous l’avons simplement utilisé pour obtenir le numéro de ligne de la dernière cellule utilisée.

Remarque: comme je l’ai dit ci-dessus, cette méthode retournera la dernière cellule utilisée et non la dernière cellule avec des données. Si vous supprimez les données de la dernière cellule, le code vba ci-dessus renverra toujours la même référence de cellule, car il s’agissait de la «dernière cellule utilisée». Vous devez d’abord enregistrer le document pour obtenir la dernière cellule contenant des données à l’aide de cette méthode.

J’espère que cet article sur Comment trouver la ligne suivante dans VBA Microsoft Excel 2010 est explicatif. Trouvez plus d’articles sur les formules de condition IF ici.

Si vous avez aimé nos blogs, partagez-les avec vos premiers sur Facebook. Et vous pouvez également nous suivre sur Twitter et Facebook. Nous serions ravis de vous entendre, faites-nous savoir comment nous pouvons améliorer, compléter ou innover notre travail et le rendre meilleur pour vous. Écrivez-nous à [email protected].

Articles liés:

lien: / applications-word-outlook-in-vba-getting-started-with-excel-vba-userforms [Premiers pas avec Excel VBA UserForms]: Je vais expliquer comment créer un formulaire dans Excel, comment utiliser VBA boîte à outils, comment gérer les entrées utilisateur et enfin comment stocker les entrées utilisateur. Nous allons parcourir ces sujets en utilisant un exemple et un guide étape par étape.

lien: / general-topics-in-vba-vba-variables-in-excel [Variables VBA dans Excel]: VBA signifie Visual Basic pour Applications.

C’est un langage de programmation de Microsoft. Il est utilisé avec les applications Microsoft Office telles que MSExcel, MS-Word et MS-Access, tandis que les variables VBA sont des mots-clés spécifiques.

lien: / general-topics-in-vba-excel-vba-variable-scope [Excel VBA Variable Scope]: Dans tous les langages de programmation, nous avons des spécificateurs d’accès aux variables qui définissent d’où une variable définie peut être accédée. Excel VBA n’est pas une exception. VBA a également des spécificateurs de portée.

link: / cells-ranges-rows-and-columns-in-vba-what-is-the-difference-between-byref-and-byval-arguments-vba-interview-question [ByRef and ByVal Arguments]: Quand un argument est passé en tant qu’argument ByRef à un sous ou une fonction différente, la référence de la variable réelle est envoyée. Toutes les modifications apportées à la copie de la variable seront reflétées dans l’argument d’origine.

Articles populaires:

link: / tips-if-condition-in-excel [Comment utiliser la fonction IF dans Excel]: L’instruction IF dans Excel vérifie la condition et renvoie une valeur spécifique si la condition est TRUE ou renvoie une autre valeur spécifique si FALSE .

link: / formulas-and-functions-introduction-of-vlookup-function [Comment utiliser la fonction RECHERCHEV dans Excel]: C’est l’une des fonctions les plus utilisées et les plus populaires d’Excel qui est utilisée pour rechercher des valeurs dans différentes plages et feuilles.

lien: / excel-formule-et-fonction-excel-sumif-function [Comment utiliser la fonction SUMIF dans Excel]: Ceci est une autre fonction essentielle du tableau de bord. Cela vous aide à résumer les valeurs sur des conditions spécifiques.

link: / tips-countif-in-microsoft-excel [Comment utiliser la fonction COUNTIF dans Excel]: Comptez les valeurs avec des conditions en utilisant cette fonction étonnante. Vous n’avez pas besoin de filtrer vos données pour compter des valeurs spécifiques. La fonction Countif est indispensable pour préparer votre tableau de bord.