Supprimer une ligne si la somme de deux cellule = 0

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 !

vince_dub

XLDnaute Nouveau
Bonjour à tous,

Je débute dans les macros excel et après avoir récupéré les valeurs que je voulais d'une base de données, j'aimerais pouvoir supprimer les lignes dont mes cellules H et I sont égales à 0.
Si H est 0 et I est > 0 ou l'inverse, je ne veux pas les supprimer.
Comment puis-je faire cela dans une macro?
Merci d'avance pour votre aide

Vincent
 
Re

Finalement on peut aussi utiliser le Filtre avancé
Voir l'exemple ci-dessous (à tester sur une feuille vierge)
VB:
Sub TestOk()
Dim pf As Range: Cells.Clear
'macro pour créer les données de test
datas
'à supprimer par la suite
MsgBox "Supprimer les lignes =0 en colonne H et I?", vbQuestion
Range("O2").FormulaR1C1 = "=AND(RC[-7]=0,RC[-6]=0)"
Intersect(Columns("H:I"), ActiveSheet.UsedRange.EntireRow).AdvancedFilter Action:=xlFilterInPlace, CriteriaRange:=Range("O1:O2"), Unique:=False
Set pf = [_FilterDataBase]
If WorksheetFunction.Subtotal(3, pf.Offset(1).Resize(pf.Rows.Count - 1, 1)) > 0 Then
    pf.Offset(1).Resize(pf.Rows.Count - 1).EntireRow.Delete
End If
ActiveSheet.ShowAllData: Range("O1:O2") = ""
End Sub
Private Sub datas()
Application.ScreenUpdating = False
[A1] = "ITEM1": [A1].AutoFill Range("A1:N1"), 0: Range("A2:N1000") = "=mod(row(),2)"
ActiveSheet.UsedRange.Value = ActiveSheet.UsedRange.Value
Application.ScreenUpdating = True
End Sub
 
- 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
3
Affichages
773
Retour