Comment sélectionner chaque troisième ligne dans Excel (ou sélectionner chaque Nème ligne)

Il y a quelques jours, l’un de mes étudiants en cours VBA m’a demandé s’il existait un moyen de sélectionner une ligne sur trois dans un ensemble de données dans Excel.

Bien qu’il n’y ait aucun moyen de le faire en utilisant des fonctionnalités intégrées dans Excel, cela peut facilement être fait en utilisant VBA.

Quelque chose comme indiqué ci-dessous :

Sélectionnez chaque troisième ligne dans Excel - Démo

Dans ce tutoriel, je vais vous donner le code VBA et vous montrer les étapes exactes pour le faire dans Excel.

Cliquez ici pour télécharger le fichier d’exemple et suivez.

Permettez-moi d’abord de vous donner le code VBA qui sélectionnera une ligne sur trois dans l’ensemble de données que vous avez sélectionné.

Notez que j’ai pris chaque troisième ligne comme exemple et que vous pouvez modifier le code pour sélectionner chaque seconde, quatrième, cinquième ou nième ligne (ou même colonnes) dans l’ensemble de données.

Code VBA pour sélectionner chaque troisième ligne d’un ensemble de données dans Excel

Vous trouverez ci-dessous le code qui sélectionnera une ligne sur trois dans l’ensemble de données que vous avez sélectionné.

Sub SelectEveryThirdRow()
'Created by Sumit Bansal at https://trumpexcel.com/
Dim MyRange As Range
Dim RowSelect As Range
Dim i As Integer
Set MyRange = Selection
Set RowSelect = MyRange.Rows(3)
For i = 3 To MyRange.Rows.Count Step 3
Set RowSelect = Union(RowSelect, MyRange.Rows(i))
Next i
Application.Goto RowSelect
End Sub

Notez que ce code ne fonctionnera que lorsque vous sélectionnez un ensemble de données. Dès que vous exécutez ce code, il sélectionnera une ligne sur trois dans l’ensemble de données sélectionné.

À quoi sert le Code ?

Le code utilise deux variables d’objet – MyRange et RowSelect.

  • La plage sélectionnée est affectée à la variable ‘MyRange’. Cela signifie que dès que vous sélectionnez une plage de cellules et exécutez ce code, la première chose qu’il fait est d’affecter cette plage de cellules sélectionnée à cette variable « MyRange ». La ligne de code suivante fait cela :
Set MyRange = Selection
  • La deuxième étape consiste à affecter la troisième ligne de l’ensemble de données à une autre variable d’objet « RowSelect ». La ligne suivante dans le code fait ceci :
Set RowSelect = MyRange.Rows(3)
  • Lorsque les deux étapes ci-dessus sont terminées, le code exécute une boucle For Next. Il commence à partir de la troisième ligne et s’exécute jusqu’à ce que la variable « i » atteigne le nombre égal au nombre total de lignes dans l’ensemble de données. Le nombre total de lignes est donné par MyRange.Rows.Count. Notez également que j’ai utilisé l’étape 3 ici, ce qui signifie que la valeur de la variable « i » dans la boucle changera par étapes de 3 (par exemple 3, puis 6, puis 9, et ainsi de suite). La ligne de code suivante fait tout cela :
For i = 3 To MyRange.Rows.Count Step 3
  • Dans la boucle, nous combinons simplement chaque troisième ligne de l’ensemble de données à l’aide de la méthode UNION dans VBA. Toutes ces lignes (c’est-à-dire toutes les trois lignes de l’ensemble de données) sont affectées à la variable objet ‘RowSelect’. La ligne de code suivante fait cela :
Set RowSelect = Union(RowSelect, MyRange.Rows(i))
  • Enfin, lorsque la boucle est terminée, nous demandons à l’application Excel d’aller sélectionner toutes les lignes stockées dans l’objet ‘RowSelect’. La ligne de code suivante fait cela :
Application.Goto RowSelect

Voyons maintenant où vous devez copier et coller ce code dans Excel.

Télécharger le fichier exemple
1638519760 643 Download File

Où copier et coller ce code VBA

Voici les étapes à suivre pour copier ce code dans l’éditeur VB à partir duquel il peut être exécuté :

  • Copiez le code mentionné ci-dessus.
  • Accédez à l’onglet Développeur (cliquez ici si vous ne voyez pas l’onglet Développeur dans le ruban).Sélectionnez chaque troisième ligne dans Excel - Onglet Développeur dans le ruban
  • Cliquez sur Visual Basic (ou utilisez le raccourci clavier – ALT + F11).Sélection de Visual Basic dans l'onglet Développeur
  • Dans l’éditeur VB, cliquez avec le bouton droit sur l’un des objets du classeur (si vous ne pouvez pas voir l’explorateur de projet, utilisez le raccourci clavier – Ctrl + R).
  • Allez dans l’option ‘Insérer’ et cliquez sur ‘Module’.insérer un module dans l'éditeur VB
  • Double-cliquez sur l’objet Module qui est inséré.
  • Collez le code dans la fenêtre Code du module.Copiez le code pour sélectionner une ligne sur trois dans Excel dans le module
  • Fermez l’éditeur VB.

Une fois que vous avez copié le code dans l’éditeur VB, vous pouvez maintenant l’utiliser dans le classeur.

Cliquez ici pour découvrir différentes manières d’exécuter une macro dans Excel.

Notez que puisque le classeur contiendrait un code de macro, vous devez l’enregistrer dans l’extension .xlsm ou .xls.

Variations du code (exemples)

Le code ci-dessus sélectionnerait une ligne sur trois dans l’ensemble de données sélectionné.

Cela peut être utile si vous souhaitez supprimer une ligne sur trois ou les copier et les coller dans une nouvelle feuille de calcul.

Mais que se passe-t-il si vous souhaitez sélectionner chaque deuxième ligne, ou chaque quatrième ligne, ou chaque deuxième colonne (ou n’importe quelle Nième ligne/colonne d’ailleurs).

Dans ces cas, vous pouvez facilement modifier le code VBA.

Voici quelques exemples de codes.

Exemple 1 – Sélectionnez une ligne sur quatre dans un ensemble de données

Vous trouverez ci-dessous le code qui sélectionnera une ligne sur quatre dans l’ensemble de données sélectionné :

Sub SelectEveryFourthRow()
'Created by Sumit Bansal at https://trumpexcel.com/
Dim MyRange As Range
Dim RowSelect As Range
Dim i As Integer
Set MyRange = Selection
Set RowSelect = MyRange.Rows(4)
For i = 4 To MyRange.Rows.Count Step 4
Set RowSelect = Union(RowSelect, MyRange.Rows(i))
Next i
Application.Goto RowSelect
End Sub

Notez que le seul changement que j’ai fait ici est le numéro dans le code (de 3 à 4).

Exemple 2 – Sélectionnez une colonne sur deux dans un ensemble de données

Vous trouverez ci-dessous le code qui sélectionnera une colonne sur deux dans l’ensemble de données sélectionné :

Sub SelectEverySecondColumn()
'Created by Sumit Bansal at https://trumpexcel.com/
Dim MyRange As Range
Dim ColumnSelect As Range
Dim i As Integer
Set MyRange = Selection
Set ColumnSelect = MyRange.Columns(2)
For i = 2 To MyRange.Columns.Count Step 2
Set ColumnSelect = Union(ColumnSelect, MyRange.Columns(i))
Next i
Application.Goto ColumnSelect
End Sub

Exemple 3 – Sélection d’une ligne sur trois dans un tableau Excel

Si vous travaillez régulièrement avec des données, vous utilisez peut-être des tableaux Excel (vous devez le faire si vous ne l’êtes pas déjà).

Lorsque vous utilisez un tableau Excel, vous pouvez modifier le code afin de ne pas avoir à sélectionner l’ensemble de données. Le code ira automatiquement au tableau Excel et sélectionnera une ligne sur trois (ou le nombre de lignes/colonnes que vous avez spécifié dans le code).

Donc, si j’ai créé un tableau Excel (nommé Table1), je peux utiliser le code ci-dessous pour sélectionner une ligne sur trois.

Sub SelectEveryThirdRow()
'Created by Sumit Bansal at https://trumpexcel.com/
Dim MyRange As Range
Dim RowSelect As Range
Dim i As Integer
Set MyRange = Range("Table1")
Set RowSelect = MyRange.Rows(3)
For i = 3 To MyRange.Rows.Count Step 3
Set RowSelect = Union(RowSelect, MyRange.Rows(i))
Next i
Application.Goto RowSelect
End Sub

Le seul changement que j’ai fait ici est qu’au lieu d’utiliser

Set MyRange = Selection

j’ai utilisé

Set MyRange = Range("Table1")

Comment ajouter cette macro à la barre d’outils d’accès rapide

Si la sélection d’une ligne sur trois est une tâche que vous devez effectuer souvent, c’est une bonne idée d’enregistrer cette macro dans votre classeur de macros personnel. Voici un guide détaillé sur la façon d’enregistrer une macro dans le classeur de macros personnelles.

Une fois que vous avez enregistré la macro dans le classeur de macros personnelles, vous pouvez l’ajouter à la barre d’outils d’accès rapide (QAT). De cette façon, vous aurez accès à cette macro dans tous les classeurs et vous pourrez l’exécuter directement depuis le QAT.

Voici les étapes pour enregistrer une macro dans le QAT :

Cela ajoutera cette macro dans le QAT, comme indiqué ci-dessous.

Macro lorsqu'elle est ajoutée au QAT

Maintenant, vous pouvez simplement sélectionner l’ensemble de données (dans lequel vous souhaitez sélectionner chaque troisième/nième ligne) et cliquer sur l’icône de macro dans le QAT.

Télécharger le fichier exemple
1638519760 643 Download File

Vous aimerez peut-être aussi les didacticiels Excel suivants :

Lis  Comment utiliser la fonction Excel SUM (exemples + vidéo)

Pour protéger votre fils, votre mari ou votre espion, vous pouvez télécharger cette application

X
0 Shares
Tweet
Share
Share
Pin
blank