Il peut parfois arriver que vous deviez insérer une nouvelle ligne dans le jeu de données. Bien que les lignes vides soient généralement lourdes, dans certaines situations, elles s’avèrent utiles, par exemple lorsque vous devez identifier des données spécifiques dans la version finale du rapport. La macro décrite ci-dessous insère une ligne vide dans la plage de cellules.
Comment ca marche?
La macro suivante effectue une boucle dans le sens opposé dans la plage de cellules sélectionnée. Elle commence l’action à partir de la dernière ligne de la plage et insère deux lignes vides, puis passe à la ligne précédente de la plage. L’insertion de lignes sera effectuée à chaque itération et la valeur du compteur sera modifiée à chaque fois.
Sub InsertionLigneVide () 'Étape 1: Déclaration des variables Dim MaPlage As Range Dim iCompteur As Long 'Étape 2: Définir la plage de cellules Set MaPlage = Range("A3:F20") 'Étape 3: Lancez une boucle avec un compte à rebours dans la plage For iCompteur = MaPlage.Rows.Count To 2 Step -1 'Étape 4: insérez deux lignes vides MaPlage.Rows(iCompteur).EntireRow.Insert MaPlage.Rows(iCompteur).EntireRow.Insert 'Étape 5: Diminuer la valeur du compteur Next iCompteur End Sub
1. Tout d’abord, deux variables sont déclarées. La première variable est une variable d’objet appelée MaPlage. Il définit la plage de cellules cibles. La seconde est la variable de contrôle et de compteur.
2. À l’étape deux, la macro passe la plage de cellules cible à la variable MaPlage. Dans cet exemple, nous avons utilisé Range (“A3: F20”).
3. A l’étape 3, la macro définit les paramètres du compte à rebours, de sorte qu’il commence à partir de la plage la plus grande (MaPlage.Rows.Count) et terminé à la valeur 2 (deuxième rangée de la plage indiquée). Dans ce cas, la propriété Step -1 a été utilisée. Parce que le code contient la clé Step -1, Excel sait que, dans chaque itération, la valeur du compteur doit être diminuée d’une valeur. Dans la troisième étape, il est demandé à Excel de lancer l’action à partir de la dernière ligne de la plage indiquée, puis de passer aux lignes précédentes jusqu’à atteindre la deuxième ligne (en commençant par le début).
4. Lorsque vous travaillez avec des plages, vous pouvez tracer avec précision une ligne spécifique en transmettant son numéro d’index à la collection Rows. Et ainsi, la plage (“A3: F20”). Les lignes (5) indiquent la cinquième ligne dans la plage de A3: F20. Dans la quatrième étape, la variable iCompter est utilisée comme numéro d’index de ligne dans la collection Rows de la variable MaPlage. Cela aide à déterminer exactement quelle ligne est traitée dans la boucle d’itération donnée. Dans la macro, la méthode EntireRow.Insert est utilisée pour insérer une nouvelle ligne vide.
5. A la cinquième étape, la macro commence l’itération suivante en réduisant la valeur du compteur d’une position.
Comment utiliser la macro?
Pour implémenter cette macro, vous pouvez copier et coller son code en mode standard.
À cette fin:
1. Utilisez les touches Alt + F11 pour activer Visual Basic Editor.
2. Dans la fenêtre Projet, cliquez avec le bouton droit sur le nom du projet ou de la feuille de calcul.
3. Sélectionnez Insérer / Module dans le menu.
4. Tapez ou collez le code.