XL 2019 VBA supprimer des lignes en fonction d'une condition

Céline49

XLDnaute Junior
Bonjour,
Je sollicite votre aide. Je recherche à supprimer toutes les lignes dont le continu de la colonne A contient "Facture".
Je me suis inspirée de la proposition de https://olivier-bureautique.blogspot.com/2009/04/excel-2007-vba-supprimer-des-lignes-en.html
mais cela ne fonctionne pas.
Voici comment j'ai rédigé mon code sachant que je n'ai pas besoin de l'appliquer à tous les onglets:

Option Explicit
Dim DerLgn As Integer
Dim Lgn As Integer
Sub test()

For DerLgn = .Cells(Rows.Count, 1).End(xlUp).Row 'on détermine la dernière ligne non vide de la Colonne A
For Lgn = DerLgn To 2 Step -1 'pour chaque ligne en partant du Bas
If .Cells(Lgn, 1) Like "Facture*" Then 'Si la Cellule commence pas par "Facture" on ne fait rien
Else 'Si la Cellule de la Colonne 1 ,ne commence pas par "Facture"
.Cells(Lgn, 1).EntireRow.Delete 'on supprime la Ligne
End If

End Sub

Merci de votre aide
 

Céline49

XLDnaute Junior
Merci James007, De nouveaux ajustements semblent nécessaires sur 2 problématiques différentes:

Voici le 1er qui me pose problème:
Dans le cas, la 2ème ligne ne sert à rien. Je ne sais même pas pourquoi elle existe, est-ce possible de dire si colonne A est vide, alors ligne à ignorer


Et le 2ème
Celle-ci, je ne comprends pas en quoi elle diffère des autres lignes, hormis qu'il s'agit de sommes négatives (car un avoir sur facture) mais normalement on a pas fait de critère sur ce point
ci joint l'extrait du fichier d'origine


Bien à toi
Merci
 

Pièces jointes

  • Matrice écriture vente V07-02-2020.xlsm
    83 KB · Affichages: 4

James007

XLDnaute Barbatruc
Bonjour Céline,

Merci pour le fichier.

Concernant tes deux nouveaux problèmes :

Avant de faire des modifications, j'ai l'impression que tu devrais creuser la logique de cette base de données ...

Car pour la facture FAC11875 il semble que tu aies trois lignes dont les champs sont visiblement ' décalés ' ...

Et pour l' Avoir qui s'applique à la facture FAC11738, on dirait que tu as également tes champs décalés ...

J'espère qu'il ne s'agit pas d'un problème récurrent qui serait structurel ... par exemple à la saisie avec un scanner ' fatigué ' .... ;)
 

Discussions similaires

Réponses
2
Affichages
329
Réponses
6
Affichages
613

Statistiques des forums

Discussions
315 092
Messages
2 116 119
Membres
112 666
dernier inscrit
Coco0505