Suppression de ligne jusqu'a 1

Résolu
Artkloup Messages postés 6 Statut Membre -  
Artkloup Messages postés 6 Statut Membre -
Auriez vous un programme pour supprimer des lignes vides jusqu'au chiffre 1 ?
Merci
Pascal

3 réponses

  1. jordane45 Messages postés 30426 Date d'inscription   Statut Modérateur Dernière intervention   4 830
     
    Bonjour ( si si ... on commence par ça !!!! )

    jusqu'au chiffre 1

    C'est à dire ???
    - La ligne 1 ?
    - La cellule d'une colonne (on ne sait pas laquelle...) contient le chiffre 1 ??
    - Je compte dans ma tête jusqu'au chiffre 1 ? :-)

    Pour ce qui est de la macro de suppression de lignes ... il te suffit de faire une boucle (en partant du bas de ton tableau et en remontant (avec step -1 ) .. de regarder le contenu de tes cellules... et si elle sont vides .. de faire un DELETE sur la ligne.)

    Quoi qu'il en soit.. sans avoir plus d'informations sur la structure de ton fichier... ni savoir sur quelle(s) cellule(s) tu veux vérifier si elle est vide ou non pour la suppression.. impossible de t'en dire plus.

    Et à la limite.. tu peux même uploader un fichier excel sur le site www.cijoint.com pour illustrer ta demande.

    => https://www.commentcamarche.net/faq/29493-utiliser-cjoint-pour-heberger-des-fichiers

    0
    1. Artkloup Messages postés 6 Statut Membre
       
      Excuse pour ce manque d'info.
      A la fin de la colonne A, il ce trouve le chiffre 1.
      Une sorte de repère. Tu vois ce que veux dire.
      0
    2. Artkloup Messages postés 6 Statut Membre
       
      - La cellule d'une colonne (A) contient le chiffre 1
      0
  2. Artkloup Messages postés 6 Statut Membre
     
    Sub ligneide()
    '
    ' ligneide Macro
    '
    Sub EnleverLignesVides()
    Dim p As Range, i As Long
    Set p = Application.InputBox(Prompt:="Sélectionnez une plage", _
    Title:=" Supprimer lignes vides", Type:=8)
    With p
    For i = .Rows.Count To 1 Step -1
    If Application.CountA(.Rows(i)) = 0 Then _
    .Rows(i).EntireRow.Delete 'ICI
    Next i
    End With
    End Sub


    j'ai trouve cette formule mais elle me demande une choisir une plage de cellule delete.
    y a t'il possible d'enserrer de ce repérer a la colonne A jusqu'à trouver 1

    Je te remercie de ton aide.
    Pascal
    0
  3. michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 320
     
    Bonjour aussi

    pas besoin de boucle !

    Sub virerligvide()
    Dim Derlig As Long

    Derlig = Columns("A").Find(1, , , , , xlPrevious).Row
    If Application.CountIf(Range("A1:A" & Derlig), "") > 0 Then
    Range("A1:A" & Derlig).SpecialCells(xlCellTypeBlanks).EntireRow.Delete
    End If
    End Sub

    On considère qu'il n'y a qu'un seul "1"; S'il y en a >1, on prend le dernier
    Autrement, fais signe
    0
    1. Artkloup Messages postés 6 Statut Membre
       
      Bien le bonjour,
      j'ai fait des essais.
      ça marche.
      Merci bcp, super.
      Pascal
      0