supprimer les lignes dont 2 valeurs sont de signes opposés à certaines conditions

WIsh_

XLDnaute Occasionnel
Bonjour à tous,

Voir mon fichier test ci-joint.

Je cherche une macro pour :
- supprimer les lignes qui ont la valeur 903 ou 103 en colonne D ;
- supprimer les lignes 101 et 102 qui ont la même valeur en colonne U, en colonne A et dont la somme des valeurs en colonne N est égale à 0.

et je cale.

Merci d'avance pour votre aide !
 

Pièces jointes

  • Test1.XLSX
    12.9 KB · Affichages: 5
Solution
Si l'on veut aller vite il ne faut surtout pas travailler sur les cellules mais sur des tableaux VBA comme je l'ai montré.

Donc pour ajouter les critères "103" et "903" de la colonne D c'est bien simple, voyez ce fichier (3) avec :
VB:
Private Sub Worksheet_Activate()
Dim ncol%, tablo, d As Object, i&, resu(), x$, n&, j%
With Sheets("Source").[A1].CurrentRegion
    ncol = .Columns.Count
    If ncol < 21 Then ncol = 21
    tablo = .Resize(, ncol) 'matrice, plus rapide
End With
'---liste des éléments concaténés---
Set d = CreateObject("Scripting.Dictionary")
For i = 2 To UBound(tablo)
    If IsNumeric(CStr(tablo(i, 14))) Then d(tablo(i, 1) & Chr(1) & -tablo(i, 14) & Chr(1) & tablo(i, 21)) = ""
Next i
'---tableau des résultats---...

WIsh_

XLDnaute Occasionnel
Re JOb,

Au fait j'ai essayé dans mon fichier original. Dans la colonne D, outre les valeurs "", "101" ou "102", il y a aussi des lignes avec la valeur 103, 903, etc.
Parmi ces lignes, il y en a parfois qui s'annulent. Les lignes avec la valeur "103" sont égales à "0" et peuvent avoir des données en colonne A et U identiques...

Par conséquent, il faudrait une condition qui dit chercher uniquement les lignes avec la valeur "102" en colonne D et ne supprimer que la ligne valeur "101" en colonne D qui correspond (dont les valeurs en colonne N s'annulent, et qui ont les mêmes valeurs en colonne A, et qui on les mêmes valeurs en colonne U).

Désolé je n'étais pas clair depuis le début c'est ma faute.
 

Discussions similaires

Réponses
6
Affichages
142

Statistiques des forums

Discussions
312 309
Messages
2 087 107
Membres
103 470
dernier inscrit
ali2020