Suppression de ligne avec une macro

ninajams -  
 ninajams -
Bonjour,

Désolé de vous embêter mais j'ai pas réussis a me débrouillé avec ce que j'ai trouver donc je pose ma petite question :

Sur une feuille j'ai recopier une formule dans la colonne H a partir le l'étiquette de colonne soit H2=SI(ET(F2>0;G2<(MAINTENANT()+'mode d''emploi'!$D$20));"CONTROLER";"")

Donc valeur vrai = contrôler et faux= vide.

Je souhaite supprimer toute les lignes Dont la case H est vide.
Concrètement je souhaite juste garder les lignes à contrôler.

Je pense devoir utiliser If then mais comme je l'ai jamais utiliser.....

Si vous pouviez me donnée des codes ca m'arrangerait et si en plus vous aviez la gentillesse de le commenter ca me ferais progresser

cordialement

Mickael
Configuration: Windows XP
Firefox 3.0.3

3 réponses

  1. Pawn
     
    Salut,

    Essaye :

    Sub SupprLine()

    Sheets("Feuil1").Activate

    Range("H1").Select

    For i = 1 To 10

    If Range("H" & i) = Empty Then

    Range(Cells(i, 8), Cells(i, 256)).Select
    Selection.Delete Shift:=xlUp
    End If
    Next i

    End Sub
    0
  2. Pawn
     
    Pour info,

    For I = Ligne de début to Ligne de Fin

    La dernière ligne en H peut-elle variée ?
    0
  3. Pawn
     
    Petite correction (manque d'attention de ma part),

    Range(Cells(i, 1), Cells(i, 256)).Select
    au lieu de Range(Cells(i, 8), Cells(i, 256)).Select
    0
    1. ninajams@msn.com
       
      Salut,

      Merci d'avoir répondu !!!!

      Effectivement le nombre de ligne est variable. (au alentour de 4000)
      Par contre le code me supprime pas toute les lignes puisque quand une ligne est supprimé celle du dessous prend sa place et la macro vas a la ligne suivante donc ça rate presque 1 ligne sur 2.

      J'ai essayer de bidouillé ton code pour l'adapter mais j'ai pas réussi. sniff

      cordialement
      0
    2. ninajams
       
      salut,

      Dim i As Integer
      For i = Range("a65536").End(xlUp).Row To 2 Step -1
      If Cells(i, 8) = "" Then
      Rows(i).Delete
      End If
      Next i

      Voila le code que j'utilise et il fonctionne juste un peu long mais sa fonctionne très bien.

      Cordialement
      mickael
      0