XL 2016 Supprimer des lignes sous condition

HelloDy

XLDnaute Junior
Bonjour le forum,

Une macro (que vous m'avez aidée à concevoir, merci encore ;)) met en forme des données qui crée le tableau ci-joint.
J'aimerais ajouter un bout de macro à la fin qui supprime les lignes dont la cellule J = 1,2*H (par exemple les lignes 8 à 12)

Quelqu'un peut m'aider ?

Merci beaucoup :)


Elo
 

Pièces jointes

  • Exemple.xlsx
    30.3 KB · Affichages: 11

job75

XLDnaute Barbatruc
Bonjour HelloDy,

Si comme sur l'exemple il y a peu de lignes à supprimer on peut utiliser cette macro très simple :
VB:
Sub SupprimerLignes()
Dim i&
Application.ScreenUpdating = False
With [A7].CurrentRegion
    For i = .Rows.Count - 1 To 3 Step -1 '2 lignes de titres
        If Format(.Cells(i, 10), "0.00") = Format(.Cells(i, 8) * 1.2, "0.00") Then .Rows(i).Delete
    Next
End With
End Sub
Vous avez dit que la ligne 11 devait être supprimée mais elle ne l'est pas car J11= 6,00 et 1,2*H11 = 5,976 arrondi à 5,98.

A+
 

job75

XLDnaute Barbatruc
Bonjour HelloDy, le forum,

Il peut exister des problèmes d'arrondi, voyez ce fil :

https://www.excel-downloads.com/threads/probleme-darrondi.20036978/

Pour les éviter utilisez plutôt cette macro :
VB:
Sub SupprimerLignes()
Dim i&
Application.ScreenUpdating = False
With [A7].CurrentRegion
    For i = .Rows.Count - 1 To 3 Step -1 '2 lignes de titres
        If Abs(1.2 * .Cells(i, 8) - .Cells(i, 10)) < 0.1 Then .Rows(i).Delete xlUp
    Next
End With
End Sub
Bonne journée.
 
Dernière édition:

Discussions similaires

Réponses
22
Affichages
742

Statistiques des forums

Discussions
312 094
Messages
2 085 237
Membres
102 829
dernier inscrit
cdupire