Rechercher et sélectionner la première ligne vide (ou colonne) avec Excel VBA

Il arrive souvent que des lignes ou des colonnes doivent être insérées dans le jeu de données existant. Pour ajouter des lignes, il est nécessaire de trouver la dernière ligne utilisée, puis de passer à la cellule vide suivante. Il en va de même si nous voulons insérer de nouvelles colonnes. En outre, il est nécessaire de rechercher la dernière colonne utilisée, puis d’accéder à la cellule vide suivante. La macro illustrée ci-dessous recherche et active automatiquement et dynamiquement la dernière ligne ou colonne vide. Le code peut être utilisé en conjonction avec d’autres macros.

Comment ca marche?
La macro utilise les propriétés Cells et Offset comme outils de base pour la navigation.
Cells est la propriété de l’objet Range. Il offre un moyen extrêmement pratique de sélectionner la portée du code. Il suffit de spécifier les positions des lignes et des colonnes en tant que paramètres.

Cells(5, 4) désignent la cinquième ligne, la quatrième colonne (ou la cellule D5).

Cells(16, 4) désignent à leur tour la seizième ligne, la quatrième colonne (ou cellule D16).
Cells(Rows.Count, 1) fonctionne de la même manière que la sélection de la dernière ligne et de la première colonne de la feuille de calcul. Cet enregistrement dans Excel 2010 ressemblera à ceci: A1048576.
L’expression Cells (1, Columns.Count) a le même effet que la sélection par l’utilisateur de la première ligne et de la dernière colonne de la feuille.
La combinaison de l’instruction Cells avec la propriété End vous permet d’accéder à la dernière ligne ou colonne utilisée. Cette instruction équivaut à aller à la cellule A1048576 ou à appuyer sur Ctrl + Maj + flèche vers le haut. Ensuite, Excel passe automatiquement à la dernière ligne utilisée dans la colonne A.

Cells(Rows.Count, 1).End(xlUp).Select
Exécuter cette instruction revient à aller dans une cellule XFDI ou à appuyer sur Ctrl + Maj + flèche gauche. En conséquence, Excel ira automatiquement à la dernière colonne utilisée dans la première ligne.
Cells(1, Columns.Count).End(xlToLeft).Select

Après avoir accédé à la dernière ligne (ou colonne) utilisée, vous pouvez utiliser la propriété Offset pour descendre ou passer à la ligne (ou colonne) vide suivante.

La propriété Offset utilise l’index de colonne ou de ligne pour déterminer la modification par rapport au point de référence. Par exemple, l’instruction suivante active la cellule A2 car le décalage déplacera la sélection d’une ligne:

Range(“A1”).Offset(1, 0).Select
L’instruction suivante active la cellule C4, car les index de ligne et de colonne seront modifiés de la cellule active par trois lignes et deux colonnes:
Range(“A1”).Offset(3, 2).Select

En composant tous ces mécanismes ensemble, nous pouvons créer une macro marquant la première ligne vierge (ou colonne).
La macro suivante sélectionne la première ligne vide:

Sub RechercherSelectionnerLigneVide()
'Étape 1: Déclaration de la variable
Dim DerniereLigne As Long
'Étape 2: Téléchargez le dernier numéro de ligne utilisé
DerniereLigne = Cells(Rows.Count, 1).End(xlUp).Row
'Étape 3: Sélectionnez la ligne suivante ci-dessous
Cells(DerniereLigne, 1).Offset(1, 0).Select
End Sub
Commentaires
1. À la première étape, une variable nommée 
DerniereLigne est déclarée. Elle contient le numéro de la dernière ligne utilisée.
2. Dans la deuxième étape, le numéro de cette ligne est récupéré: la recherche commence à la dernière ligne de la feuille, puis à l’aide des propriétés End, la première cellule contenant les données.
3. Dans la troisième étape, la propriété Offset est utilisée, ce qui ramène une ligne à la première cellule vide de la colonne A.

Sub RechercherSelectionnerColonneVide()
'Étape 1: Déclaration de la variable
Dim DerniereColonne As Long
'Étape 2: Téléchargez le numéro de la dernière colonne utilisée
DerniereColonne = Cells(5, Columns.Count).End(xlToLeft).Column
'Étape 3: Sélectionnez la colonne suivante
Cells(5, DerniereColonne ).Offset(0, 1).Select
End Sub
1. Vous devez d’abord déclarer une variable appelée DerniereColonne qui stockera des informations sur la dernière colonne utilisée.
2. Dans la deuxième étape, le numéro de cette colonne est récupéré: la recherche commence par la dernière colonne de la feuille, puis à l’aide des propriétés End, la première colonne contenant des données (équivaut à passer à la cellule XFD5 ou à la combinaison de touches Ctrl + Maj + flèche gauche).
3. Dans la troisième étape, la propriété Offset est utilisée, par laquelle une colonne passe à la première colonne vide de la ligne 5.


Comment utiliser la macro?
Entrez cette macro en copiant et collant son code dans un module standard. À cette fin:
1. Utilisez les touches Alt + F11 pour activer Visual Basic Editor.
2. Dans la fenêtre Projet, cliquez sur les droits.
avec le nom du projet ou de la feuille.
3. Sélectionnez Insérer / Module dans le menu.
4. Tapez ou collez le code.
S’abonner
Notifier de
0 Commentaires
Inline Feedbacks
Voir tous les commentaires

Initiation à Excel

Fonctions Excel

Excel VBA

Macros VBA Utiles

Plus d'outils

Sur Facebook

Sur YouTube

0
Nous aimerions avoir votre avis, veuillez laisser un commentaire.x