Raccourcir un code

Résolu
mmxa1995 Messages postés 30 Statut Membre -  
Patrice33740 Messages postés 8400 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

je cherche à supprimer des lignes, pourriez vous m'aider à raccourcir ce code svp

Sheets("Calcul").Select
Rows("11813").Delete
Rows("11811").Delete
Rows("11760:11770").Delete
Rows("11726").Delete
Rows("11724").Delete
Rows("11673:11683").Delete
Rows("11665:11666").Delete
Rows("11639").Delete
Rows("11637").Delete
Rows("11586:11596").Delete
Rows("11578:11579").Delete
Rows("11552").Delete
Rows("11550").Delete
Rows("11499:11509").Delete
Rows("11491:11492").Delete
Rows("11465").Delete
Rows("11463").Delete
Rows("11412:11422").Delete
Rows("11404:11405").Delete
Rows("11378").Delete
Rows("11376").Delete
Rows("11325:11335").Delete
Rows("11317:11318").Delete
Rows("11291").Delete
Rows("11289").Delete
Rows("11238:11248").Delete
Rows("11230:11231").Delete

3 réponses

  1. ccm81 Messages postés 11033 Statut Membre 2 434
     
    Bonjour

    Pas si long que ça ton code

    Si tu veux à tout pris faire plus bref, un exemple à adapter

    ' lignes à supprimer
    Const lias = "3,5:8,11,15:17"

    Public Sub OK()
    Dim tl, k As Long
    Application.ScreenUpdating = False
    tl = Split(lias, ",")
    For k = UBound(tl) To 0 Step -1
    Rows(tl(k)).Delete
    Next k
    Application.ScreenUpdating = True
    End Sub

    Cdlmnt
    0
  2. Patrice33740 Messages postés 8400 Date d'inscription   Statut Membre Dernière intervention   1 784
     
    Bonjour,

    N'as-tu pas oublié d'effacer les lignes 11752:11753 ?
    0
    1. mmxa1995 Messages postés 30 Statut Membre
       
      oui
      Bien vu Patrice, en plus je suis cet ordre pour arriver en haut de ma colonne
      0
  3. Patrice33740 Messages postés 8400 Date d'inscription   Statut Membre Dernière intervention   1 784
     
    Re,

    Alors, tu pourrais écrire :
    Option Explicit
    Sub test()
    Dim n°L As Long
      With Worksheets("Calcul")
        For n°L = 11752 To 11230 Step -87
          .Rows(n°L + 61).Delete
          .Rows(n°L + 59).Delete
          .Rows(n°L + 8).Resize(11).Delete
          .Rows(n°L).Resize(2).Delete
        Next
      End With
    End Sub
    0
    1. mmxa1995 Messages postés 30 Statut Membre
       
      Merci Patrice
      peux tu m'expliquer stp,
      je ne comprends pas le For n°L = 11752 To 11230 Step -87
      alors que je commence les suppressions depuis la ligne Rows("11813").Delete
      0
    2. mmxa1995 Messages postés 30 Statut Membre
       
      ahhhh ca marche j'ai effectué la modif For n°L = 11752 To 7
      tu sauves ma soirée.
      Merci bcp
      0
    3. Patrice33740 Messages postés 8400 Date d'inscription   Statut Membre Dernière intervention   1 784
       
      11752+61=11813
      0