Sélectionner une Ligne sur Deux (ou chaque nième Ligne) – Excel et Google Sheets
Ce tutoriel montre comment obtenir une valeur d’une ligne sur deux (ou sur n) dans Excel et Google Sheets.
Identifier une Ligne sur Deux
Pour identifier une ligne sur deux, nous pouvons utiliser la fonction MOD qui nous permet de savoir si chaque numéro de ligne est divisible par un certain nombre. Ici, nous allons utiliser 2 pour identifier une ligne sur deux (impaire / paire).
=MOD(LIGNE(B3);2)
Nous allons examiner cette formule ci-dessous.
Fonction LIGNE – Retourner le Numéro de Ligne
Tout d’abord, nous allons utiliser la fonction LIGNE pour nous indiquer dans quelle rangée nous nous trouvons :
=LIGNE(B3)
Dans la section suivante, nous allons utiliser la fonction MOD pour savoir si le numéro de la ligne est divisible par un certain nombre, dans ce cas : 2.
Fonction MOD – Montre si la Ligne est Divisible par 2
La fonction MOD va nous indiquer si la ligne dans laquelle nous nous trouvons est divisible par 2.
=MOD(C3;2)
En combinant ces fonctions, on obtient la formule originale.
=MOD(LIGNE(B3);2)
Sélectionner Chaque Nième Ligne
Pour obtenir une ligne sur trois (n), nous changeons le nombre à diviser par 3 (n).
=MOD(C3;3)
Nous pouvons activer la fonction filtre pour filtrer selon le résultat de la formule MOD requis et afficher des lignes spécifiques.
Obtenir la Valeur de Chaque Nième Ligne
Pour obtenir la valeur d’une ligne sur deux ou d’une Nième ligne, nous pouvons utiliser les fonctions DECALER et LIGNE.
=DECALER($B$3;(LIGNE(D1)*2)-1;0)
Nous allons détailler cette procédure ci-dessous.
Retourner la Nième Rangée
Tout d’abord, nous allons utiliser la fonction LIGNE pour récupérer la première rangée. En copiant cette formule vers le bas, cela signifie que le numéro de la rangée prélevée changera dynamiquement en fonction de la formule.
=LIGNE(D1)
Dans la section suivante, nous utiliserons la fonction DECALER pour obtenir la valeur de la rangée multipliée par la valeur par laquelle vous souhaitez décaler la rangée.
=DECALER($B$3;(D3*2)-1;0)
En combinant ces fonctions, on obtient la formule originale.
=DECALER($B$3;(LIGNE(E1)*2)-1; 0)
Écrire du Code VBA
Nous pouvons utiliser une procédure VBA pour parcourir en boucle une plage de cellules et renvoyer la valeur de chaque deuxième ou nième cellule.
La procédure suivante va parcourir la plage de cellules et remplir chaque deuxième ligne de la colonne C avec le nombre correspondant de la colonne B.
Sub SelectAltRows()
Dim rng1 As Range
Dim rng2 As Range
Dim x As Integer
Dim NoRws As Integer
'sélectionnez la plage
Set rng1 = Range("B1:B10")
'comptez les lignes
NoRws = rng1.Rows.Count
'boucle sur chaque deuxième cellule de la plage
For x = 1 To NoRws Step 2
'mettre la valeur de la colonne B dans la colonne C
rng1.Cells(x, 1).Offset(0, 1) = rng1.Cells(x, 1)
Next
End Sub
Le résultat de l’exécution de cette procédure serait le suivant
Sélectionner une Ligne sur Deux (ou sur n) dans Google Sheets
Ces formules fonctionnent exactement de la même manière dans Google Sheets et dans Excel.