Supprimer des lignes si une cellule ne contient rien

Phatted Messages postés 64 Statut Membre -  
Phatted Messages postés 64 Statut Membre -
Bonjour,


J'ai mis une image pour illustrer ma question
Dans la colonne A j'ai un nombre parfois plusieurs fois le même
Dans la colonne B j'ai soit une suite de nombre soit rien

Mon but est de supprimer la ligne entière si au moins une des cellules en colonne B se trouvant en face du même numéro (en colonne A) est vide.

Dans mon exemple les lignes 2, 3, 4, 5 et 8 doivent être supprimées

Merci de votre aide.

1 réponse

  1. titeufdu89 Messages postés 387 Statut Membre 38
     
    Bonjour Phatted,

    Je comprends pas trop, tu dis que dans ton exemple "les lignes 2, 3, 4, 5 et 8 doivent être supprimées"
    Es-tu bien sûr de ces chiffres? Car j'arrive pas à comprendre la logique de suppression...

    Jc
    0
    1. Phatted Messages postés 64 Statut Membre 17
       
      Bonjour Titeuf,
      Dans mon exemple en face du nombre 1112 dans la colonne B la ligne 3 et 5 sont vides donc toutes les lignes commençant par 1112 doivent être supprimées.
      Autrement dit pour qu'une ligne ne soit pas supprimée il faut que toutes les occurrences identiques en colonne A se retrouve en face d'une cellule non vide en colonne B.
      0
    2. titeufdu89 Messages postés 387 Statut Membre 38
       
      Regardes ton exemple, tu as 4 fois 1112 en colonne A (de la ligne 2 à la ligne 5), 2 fois avec un nombre en B (lignes 2 et 4) et 2 fois avec B vide (3 et 5), or dans ton exemple tu supprimes toutes les lignes 1112 il n'en reste plus une seule...
      0
    3. Phatted Messages postés 64 Statut Membre 17
       
      Oui cest le but. Pour qu'une ligne ne soit pas supprimée il faut que toutes les occurrences identiques en colonne A se retrouve en face d'une cellule non vide en colonne B.
      0
    4. titeufdu89 Messages postés 387 Statut Membre 38
       
      Ok d'accord... désolé tu as dû me prendre pour imbécile mais je n'arrivais pas à comprendre ta demande mais cette fois je pense que c'est bon! Voici un code qui devrait fonctionner :

      Sub suppr()
      Dim i, j, nbr As Long
      For i = Range("A65536").End(xlUp).Row To 1 Step -1
      If Range("B" & i) = "" Then
      nbr = Range("A" & i).Value
          For j = Range("A66536").End(xlUp).Row To 1 Step -1
          If Range("A" & j).Value = nbr Then
          Rows(j).EntireRow.Delete
          End If
          Next j
      End If
      Next i
      End Sub
      


      Colle ce code dans l'interface VBA de la feuille en question et ça devrait faire l'affaire

      Jc
      0
    5. Phatted Messages postés 64 Statut Membre 17
       
      Merci pour ton aide Titeuf ça a l'air de fonctionner
      0