Supprimer des lignes précises

Résolu
jlg44 Messages postés 4 Statut Membre -  
jlg44 Messages postés 4 Statut Membre -
Bonjour,

je suis novice en utilisation de macro.

je souhaite supprimer des lignes précises, par exemples les lignes 2,3,5,6,8,9 .... à 81,82

merci de m'aider

4 réponses

  1. pijaku Messages postés 13513 Date d'inscription   Statut Modérateur Dernière intervention   2 773
     
    Bonjour,

    Un exemple :
    Sub SupprLignes()
    Dim Ligne, Lignes()
    Lignes() = Array(82, 81, 75, 60, 10, 9, 8, 6, 5, 3, 2) 'A ADAPTER
    With Sheets("Feuil1") 'A ADAPTER
        For Each Ligne In Lignes()
            .Rows(Ligne).Delete
        Next Ligne
    End With
    End Sub 


    ATTENTION!!!
    1- Bien indiquer la feuille ou doivent être supprimées les lignes
    2- Les lignes doivent être placées, dans l'Array, dans l'ordre décroissant...
    0
  2. jlg44 Messages postés 4 Statut Membre
     
    merci !

    si je veux utiliser la macro sur toutes mes feuilles , que faut il indiquer ?
    0
    1. pijaku Messages postés 13513 Date d'inscription   Statut Modérateur Dernière intervention   2 773
       
      Deux choix :
      1- tu veux pouvoir la lancer depuis n'importe qu'elle feuille :
      Sub SupprLignes()
      Dim Ligne, Lignes()
      Lignes() = Array(82, 81, 75, 60, 10, 9, 8, 6, 5, 3, 2) 'A ADAPTER
      With ActiveSheet 'DEPUIS LA FEUILLE ACTIVE
          For Each Ligne In Lignes()
              .Rows(Ligne).Delete
          Next Ligne
      End With
      End Sub

      2- Tu veux que la macro boucle systématiquement sur toutes les feuilles et supprime les lignes choisies dans TOUT ton classeur SAUF dans la feuille Feuil3 :
      Sub SupprLignes()
      Dim Ligne, Lignes(), Feuille As Worksheet
      Lignes() = Array(82, 81, 75, 60, 10, 9, 8, 6, 5, 3, 2) 'A ADAPTER
      For Each Feuille In ThisWorkbook.Worksheets 'pour toutes les feuilles du classeur
          If Feuille.Name <> "Feuil3" 'si le nom de la feuille est différent de Feuil3
              With Feuille 'alors, dans cette feuille
                  For Each Ligne In Lignes() 'pour toutes les lignes dont le n° figure ci-dessus
                      .Rows(Ligne).Delete 'on supprime
                  Next Ligne
              End With
          End If
      Next Feuille
      End Sub
      0
    2. pijaku Messages postés 13513 Date d'inscription   Statut Modérateur Dernière intervention   2 773
       
      Deux choix :
      1- tu veux pouvoir la lancer depuis n'importe qu'elle feuille :
      Sub SupprLignes()
      Dim Ligne, Lignes()
      Lignes() = Array(82, 81, 75, 60, 10, 9, 8, 6, 5, 3, 2) 'A ADAPTER
      With ActiveSheet 'DEPUIS LA FEUILLE ACTIVE
          For Each Ligne In Lignes()
              .Rows(Ligne).Delete
          Next Ligne
      End With
      End Sub

      2- Tu veux que la macro boucle systématiquement sur toutes les feuilles et supprime les lignes choisies dans TOUT ton classeur SAUF dans la feuille Feuil3 :
      Sub SupprLignes()
      Dim Ligne, Lignes(), Feuille As Worksheet
      Lignes() = Array(82, 81, 75, 60, 10, 9, 8, 6, 5, 3, 2) 'A ADAPTER
      For Each Feuille In ThisWorkbook.Worksheets 'pour toutes les feuilles du classeur
          If Feuille.Name <> "Feuil3" 'si le nom de la feuille est différent de Feuil3
              With Feuille 'alors, dans cette feuille
                  For Each Ligne In Lignes() 'pour toutes les lignes dont le n° figure ci-dessus
                      .Rows(Ligne).Delete 'on supprime
                  Next Ligne
              End With
          End If
      Next Feuille
      End Sub
      0
  3. jlg44 Messages postés 4 Statut Membre
     
    fonctionnement parfait ! merci
    0
    1. pijaku Messages postés 13513 Date d'inscription   Statut Modérateur Dernière intervention   2 773
       
      mais de rien.
      A+
      0
  4. jlg44 Messages postés 4 Statut Membre
     
    désormais je cherche a supprimer des lignes contenant un mot précis

    et ceci pour 2 mots dans la feuille

    en 1 seule macro , supprimer les lignes contenant soit le mot "A" ou le mot "B" de la colonne d
    0