Suppression de ligne macro vba

Bonjour,

J ai un tableau qui est une extraction de donnees d un Si.

Le nombre de ligne vari a chaque extraction.

Je souhaiterai realiser une macro qui supprime les lignes en trop.
Par exemple ma colonne A s arrete a A1600.
Ma colonne M a M4000

J ai 2400 donned qui apparaissent en plus ds la colonne M que je souhaite supprimer. Ces donnees en trop apparaissent toujours a la fin de la colonne M.

Comment puis-je les supprimer avec une macro?

A votre dispo pr tte question.

Merci d avance

7 réponses

  • Votes
  • Date
  • Date décroissante
  1. Bonjour,

    A mettre dans ThisWorkbook

    Sub Suppression_Ligne()
    Dim Prem_Cel_Vide_A As Integer
    Dim Prem_Cel_Vide_M As Integer

    With Sheets("nom de votre feuille")
    Prem_Cel_Vide_A = .Columns("A").Find("*", , , , , xlPrevious).Row + 1
    Prem_Cel_Vide_M = .Columns("M").Find("*", , , , , xlPrevious).Row + 1
    .Range("M" & Prem_Cel_Vide_A & ":M" & Prem_Cel_Vide_M).ClearContents
    End With
    End Sub

    Bonne suite
    1. La macro bloque a :" with sheets(nom du fichier)
  2. bonjour

    pas sur d'avoir bien compris
    tu veux supprimer toutes les données situées en dessous de la dernière cellule non vide de la colonne A, et ceci dans toutes les colonnes du classeur?

    bonne suite
    1. Oui exactement.

      Sachant que je n ai jms le meme nombre de lignes...
      1. Re,

        Ce n'est pas ce que vous avez ecrit au depart de votre demande.

        "Ces donnees en trop apparaissent toujours a la fin de la colonne M."
      2. Disobs que je veuille supprimer les lignes qui se trouve en dessous de ma derniere info dans la colonne a.

        J ai oublié de preciser. 2 lignes apres ds la colonne a j ai une cellule qui m indique le nombre de ligne ds mon tb. Je souhaite pas garder ca.

        Ci cela gene, supprimer toutes lignes en dessous de la colonne d reviendrai au meme
    2. Re,

      Sub Suppression_Ligne()
      Dim Prem_Cel_Vide_A As Integer
      Dim Prem_Cel_Vide_M As Integer

      With Sheets("Feuil1")
      Prem_Cel_Vide_A = .Columns("A").Find("*", , , , , xlPrevious).Row + 1
      Prem_Cel_Vide_M = .Columns("M").Find("*", , , , , xlPrevious).Row + 1

      .Rows(Prem_Cel_Vide_A & ":" & Prem_Cel_Vide_M).ClearContents

      End With
      End Sub

      Bonne suite
      1. Merci a ts pour votre aide.

        La macro supprime bien ce qu il y a en dessous de a et m. Cpdt j aurai voulu rajouter la colonne w mais je n y parvient pas...

        Re metci d avance!!
    3. re

      une proposition

      Public Sub suppfin()
      Dim derlico1 As Long, li As Long, derli As Long
      With ActiveSheet
        derlico1 = .Cells(Rows.Count, 1).End(xlUp).Row
        derli = .Cells.Find("*", , , , xlByRows, xlPrevious).Row
        If derli > derlico1 Then
          .Range(.Cells(derlico1 + 1, 1), .Cells(derli, 1)).EntireRow.Delete
        End If
      End With
      End Sub


      bonne suite
      1. re

        pour la colonne W, si tu veux supprimer ce qu'il y a après la dernière ligne de la colonne A, ma proposition du post 7 convient
        si tu veux supprimer TOUTE la colonne W, tu ajoutes ceci avant end with
        .Columns(23).Delete

        bonne suite