Supprimer une ligne sous condition

NWijfjes

XLDnaute Nouveau
Bonjour,

C'est mon premier message sur le forum et je souhaiterais connaitre la méthode pour supprimer complètement une ligne de mon listing sous certaines conditions.

Pour le moment, j'arrive à éffacer le contenu des lignes que je ne souhaite pas.
Mais la ligne reste et mon fichier se retrouve trouer avec plein de lignes blanches.

Voici mon code :
Code:
i = 2
    Do While Worksheets(3).Cells(i, 1) <> ""
        Worksheets(4).Cells(i, 1).Value = Worksheets(3).Cells(i, 2).Value       'Occurrence ref
        Worksheets(4).Cells(i, 2).Value = Worksheets(3).Cells(i, 3).Value       'Chrono ref
        Worksheets(4).Cells(i, 3).Value = Worksheets(3).Cells(i, 4).Value       'RO Title
        Worksheets(4).Cells(i, 4).Value = Worksheets(3).Cells(i, 5).Value       'Classification
        Worksheets(4).Cells(i, 5).Value = Worksheets(3).Cells(i, 6).Value       'Status
        Worksheets(4).Cells(i, 6).Value = Worksheets(3).Cells(i, 7).Value       'Operator
        Worksheets(4).Cells(i, 7).Value = Worksheets(3).Cells(i, 8).Value       'MSN
        Worksheets(4).Cells(i, 8).Value = Worksheets(3).Cells(i, 9).Value       'A/C Model
        Worksheets(4).Cells(i, 9).Value = Worksheets(3).Cells(i, 10).Value      'ATA
        Worksheets(4).Cells(i, 10).Value = Worksheets(3).Cells(i, 11).Value     'Airbus Site involved
        Worksheets(4).Cells(i, 11).Value = Worksheets(3).Cells(i, 12).Value     'Screening classification date
        Worksheets(4).Cells(i, 12).Value = Worksheets(3).Cells(i, 13).Value     'Level 2 closure target
        Worksheets(4).Cells(i, 13).Value = Worksheets(3).Cells(i, 14).Value     'Target date exceeded
        Worksheets(4).Cells(i, 14).Value = Worksheets(3).Cells(i, 15).Value     'Justification of target change
        'On efface les Yellow / Open
        If Worksheets(4).Cells(i, 4).Value = "Yellow" And Worksheets(4).Cells(i, 5).Value = "Open" Then
            Worksheets(4).Rows(i).Delete Shift:=xlUp
        End If
        i = i + 1
    Loop

Je ne suis pas un grand expert d'Excel... je fonctionne surtout avec l'outil qui permet d'enregistrer les actions, mais là j'ai un souci car pour supprimer completement une ligne il faut utiliser cette commande :
Code:
    Rows("8:8").Select
    Selection.Delete Shift:=xlUp

et Rows("i:i").Select, ça ne marche pas :confused:

Pouvez vous m'aider s'il vous plait ?

Merci
 

JNP

XLDnaute Barbatruc
Re : Supprimer une ligne sous condition

Bonjour NWijfjes et bienvenue :),
Le problème ne se situe pas là :p.
Tu supprimes bien ta ligne, mais tu continue à copier en dessous :D.
Code:
i = 2
[COLOR=red]j = 2[/COLOR]
    Do While Worksheets(3).Cells(i, 1) <> ""
        Worksheets(4).Cells([COLOR=red]j[/COLOR], 1).Value = Worksheets(3).Cells(i, 2).Value       'Occurrence ref
        Worksheets(4).Cells([COLOR=red]j[/COLOR], 2).Value = Worksheets(3).Cells(i, 3).Value       'Chrono ref
        Worksheets(4).Cells([COLOR=red]j[/COLOR], 3).Value = Worksheets(3).Cells(i, 4).Value       'RO Title
        Worksheets(4).Cells([COLOR=red]j[/COLOR], 4).Value = Worksheets(3).Cells(i, 5).Value       'Classification
        Worksheets(4).Cells([COLOR=red]j[/COLOR], 5).Value = Worksheets(3).Cells(i, 6).Value       'Status
        Worksheets(4).Cells([COLOR=red]j[/COLOR], 6).Value = Worksheets(3).Cells(i, 7).Value       'Operator
        Worksheets(4).Cells([COLOR=red]j[/COLOR], 7).Value = Worksheets(3).Cells(i, 8).Value       'MSN
        Worksheets(4).Cells([COLOR=red]j[/COLOR], 8).Value = Worksheets(3).Cells(i, 9).Value       'A/C Model
        Worksheets(4).Cells([COLOR=red]j[/COLOR], 9).Value = Worksheets(3).Cells(i, 10).Value      'ATA
        Worksheets(4).Cells([COLOR=red]j[/COLOR], 10).Value = Worksheets(3).Cells(i, 11).Value     'Airbus Site involved
        Worksheets(4).Cells([COLOR=red]j[/COLOR], 11).Value = Worksheets(3).Cells(i, 12).Value     'Screening classification date
        Worksheets(4).Cells([COLOR=red]j[/COLOR], 12).Value = Worksheets(3).Cells(i, 13).Value     'Level 2 closure target
        Worksheets(4).Cells([COLOR=red]j[/COLOR], 13).Value = Worksheets(3).Cells(i, 14).Value     'Target date exceeded
        Worksheets(4).Cells([COLOR=red]j[/COLOR], 14).Value = Worksheets(3).Cells(i, 15).Value     'Justification of target change
        'On efface les Yellow / Open
        If Worksheets(4).Cells([COLOR=red]j[/COLOR], 4).Value = "Yellow" And Worksheets(4).Cells([COLOR=red]j[/COLOR], 5).Value = "Open" Then
            Worksheets(4).Rows([COLOR=red]j[/COLOR]).Delete Shift:=xlUp
            [COLOR=red]j = j - 1[/COLOR]
        End If
        i = i + 1
        [COLOR=red]j = j + 1[/COLOR]
    Loop
devrait fonctionner ;)
Bon courage :cool:
 

NWijfjes

XLDnaute Nouveau
Re : Supprimer une ligne sous condition

merci !

ça fonctionne parfaitement :)

Je vais prendre le temps de comprendre d'ou vient l'erreur car j'avoue ne pas encore comprendre le coup du j = j-1.

merci

EDIT : ça y est j'ai compris !!!!
le i c'est la feuille source et le j pour la feuille destination :)

merci encore
 
Dernière édition:

Discussions similaires

Réponses
3
Affichages
288
Réponses
3
Affichages
550

Statistiques des forums

Discussions
311 725
Messages
2 081 943
Membres
101 849
dernier inscrit
florentMIG