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.
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(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
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:
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
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
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
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.
3. Sélectionnez Insérer / Module dans le menu.
4. Tapez ou collez le code.