2009-11-11 22:10:59 +0000 2009-11-11 22:10:59 +0000
15
15
Advertisement

Sélectionnez chaque nième ligne dans Excel

Advertisement

J'ai une feuille de calcul Excel avec des milliers de lignes. Je veux sélectionner toutes les 7 lignes de cette feuille de calcul. (Par “sélectionner”, je veux dire 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 Nombres

Advertisement

Réponses (5)

19
19
19
2009-11-11 22:27:52 +0000
  1. Insérer une colonne
  2. Dans la première ligne, insérez la formule =MOD(ROW(),7)
  3. Copier vers le bas
  4. Copier/coller spécial/valeurs
  5. Données/Filtrez celles que vous voulez (0 ou 6, probablement)
  6. Supprimer le reste des lignes Supprimer le filtre Supprimer la colonne
3
3
3
2012-11-08 12:23:18 +0000
  1. Insérez une colonne.
  2. Dans la première ligne, insérez 1.
  3. Copiez jusqu'à la ligne 7 avec la touche Ctrl enfoncée.
  4. Attrapez ce bloc et faites la même chose jusqu'à la fin.
  5. Données/Filtrez celles que vous ne voulez pas et effacez-les.
  6. Supprimez la colonne insérée.
3
Advertisement
3
3
2009-11-12 00:42:01 +0000

Il vient juste de terminer l'idée que Randolph Potter a lancée….

Pour information, je ne pense pas que vous puissiez jamais arriver à ce résultat en enregistrant. L'enregistrement de macros est un bon moyen de se familiariser avec le modèle 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
1
1
2017-07-17 05:16:57 +0000

pour sélectionner chaque 7ème ligne, il y a une MODE DE FACILITATION : dans les 7 premières lignes de votre colonne, sauf une (la première), vous écrivez quelque chose à l'intérieur. Ensuite, vous sélectionnez ces 7 lignes et vous les copiez sur toute la colonne. Maintenant, il vous suffit d'aller dans SELECT->GO TO SPECIAL->select BLANKS->OK Vous avez une sélection pour chaque 7 lignes. Vous pouvez maintenant faire ce que vous voulez. Profitez-en !

0
Advertisement
0
0
2018-10-25 16:21:05 +0000

pour chaque 7ème ligne,

  1. Insérer une colonne
  2. Dans la ligne 1 à la ligne 6, mettez un “X”
  3. dans la ligne 7, mettez 1,
  4. remplissez automatiquement votre colonne avec ce bloc
  5. Utilisez “Supprimer les doublons” dans cette colonne
  6. Supprimez la première ligne (avec le premier “X”).
  7. Supprimer la colonne ajoutée
Advertisement
Advertisement