Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

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
 

James007

XLDnaute Barbatruc
Ravi que cela puisse t'aider

Si, à la transposition dans ton fichier réel ... tu devais rencontrer une difficulté ... il ne faudra pas hésiter à revenir sur le Forum ...

P.S. Merci de m'avoir permis de revoir un peu de compta ...
 

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é ' ....
 

Céline49

XLDnaute Junior
J'ai bien vu ton message. Le fichier provient directement d'un logiciel, sans scan. Cela ne peut donc pas provenir de cela. par contre, cela pourrait peut-être venir de la manière de "faire" les factures. Je vais essayé d'obtenir la réponse.
 

Céline49

XLDnaute Junior
James007, Suite au rajout de la macro pour supprimer les lignes avec des "gratuits", cela me créé un autre problème. Voici le fichier pour que tu visualises.
Merci par avance
 

Pièces jointes

  • test 02-03-2020.xlsm
    85.9 KB · Affichages: 3
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…