Supprimer une ligne sous condition

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

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 😕

Pouvez vous m'aider s'il vous plait ?

Merci
 
Re : Supprimer une ligne sous condition

Bonjour NWijfjes et bienvenue 🙂,
Le problème ne se situe pas là 😛.
Tu supprimes bien ta ligne, mais tu continue à copier en dessous 😀.
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 😎
 
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:
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
5
Affichages
241
Réponses
3
Affichages
582
Réponses
9
Affichages
894
Retour