J'ai une feuille de calcul Excel avec des milliers de lignes. Je veux sélectionner chaque 7ème ligne de cette feuille de calcul. (Par "select", j'entends supprimer toutes les autres lignes ou copier les lignes sélectionnées dans une nouvelle feuille de calcul.)
Quelle est la façon la plus simple de faire cela dans Excel 2003?
Voir aussi: Sélectionnez chaque nième ligne dans Numbers
Personnellement, j’enregistrais une macro pour faire les trois ou quatre premières lignes (par incréments de 7 lignes, bien sûr) et les copiais sur une nouvelle feuille. Ensuite, je modifie la macro pour utiliser une boucle qui compte pour le nombre de lignes remplies dans la feuille, avec un pas de 7.
Exemple de pseudo-code:
Dim i as Integer
For i = 1 To 1000 Step 7
'Add current row to selection
...
Next i
'Copy the selected rows to new sheet
...
Vraiment en train de finir l’idée de Randolph Potter ....
Pour mémoire, je ne pense pas que vous puissiez jamais arriver à cela en enregistrant. L'enregistrement de macro est un bon moyen de vous familiariser avec le modèle d'objet Excel, mais pas un très bon moyen d'écrire des fonctions réutilisables.
Option Explicit
'A simple test that copies every 7th row from the active sheet to a new sheet.
Sub SimpleTest()
Dim r As Range
Dim ws As Worksheet
Set r = GetEveryNthRow(7)
If Not r Is Nothing Then
Set ws = Worksheets.Add(Before:=Sheets(1))
r.Copy ws.Range("A1")
Else
MsgBox "Nothing came back from GetEveryNthRow"
End If
Set ws = Nothing
Set r = Nothing
End Sub
'
Function GetEveryNthRow(ByVal NthRow As Long) As Range
Dim keepRows As Range
Dim r As Range
If NthRow > 0 Then
Set keepRows = Rows(1)
For Each r In ActiveSheet.UsedRange.Rows
If (r.Row Mod NthRow) = 0 Then
Set keepRows = Union(keepRows, Rows(r.Row))
End If
Next r
Set GetEveryNthRow = keepRows
Else
MsgBox "The row multiple provided must be greater than 0"
End If
Set keepRows = Nothing
End Function
1
.pour sélectionner toutes les 7 lignes, il existe un moyen plus simple: dans les 7 premières lignes de votre colonne, mais une (la première), vous écrivez quelque chose à l'intérieur. Ensuite, vous sélectionnez ces 7 lignes et les copiez sur toute la colonne. Maintenant, ce dont vous avez besoin, c'est simplement de sélectionner SELECT-> GO TO SPECIAL-> select BLANKS-> OK. Vous avez chacun une sélection de 7 lignes. Maintenant tu peux faire ce que tu veux. Prendre plaisir!
pour chaque 7ème rangée,