XL 2010 Code VBA filtrage

solide84

XLDnaute Nouveau
Bonjour

Je recherche un code VBA permettant de supprimer tout les ticket Résolue

Si Statut N°Semaine = N° Semaine fermé ne pas supprimer.

Merci d'avance pour votre aide
 

Pièces jointes

  • excel.xlsx
    71.8 KB · Affichages: 49

vgendron

XLDnaute Barbatruc
Hello
avec l'enregistreur de macro, ca donne ceci
VB:
Sub Macro1()
'
' Macro1 Macro

    ActiveSheet.ListObjects("Bdd_Extraction_redmine_29").Range.AutoFilter Field:=3, Criteria1:="Résolu"
    fin = ActiveSheet.ListObjects("Bdd_Extraction_redmine_29").Range.Rows.Count
    Rows("2:" & fin).Select
    Selection.Delete Shift:=xlUp
   
    ActiveSheet.ListObjects("Bdd_Extraction_redmine_29").Range.AutoFilter Field:=3
End Sub

Cette condition que je ne comprend pas, n'est pas prise en compte
Si Statut N°Semaine = N° Semaine fermé ne pas supprimer.
 

solide84

XLDnaute Nouveau
bonjour hello

je te joins le résultat en manuel .

Effectivement je me suis sans doute mal exprimer . Je garde les tickets résolue de la même semaine.

Si N°Semaine = N° Semaine fermé on supprime pas.
 

Pièces jointes

  • Copie de excel.xlsx
    27.8 KB · Affichages: 34

Lone-wolf

XLDnaute Barbatruc
Bonjour solide, vgendron :)

A mettre dans le module de la feuille.

VB:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Dim derlig&, i&

derlig = Cells(Rows.Count, 1).End(xlUp).Row

For i = derlig To 2 Step -1
If Cells(i, 3).Value = "Résolu" And Cells(i, 7).Value <> Cells(i, 2) Then Rows(i).Delete
Next i
Cancel = True
End Sub
 

vgendron

XLDnaute Barbatruc
Autre essai avec ceci.. surement plus long
VB:
Sub Macro1()

Application.ScreenUpdating = False
fin = ActiveSheet.UsedRange.Rows.Count
For i = fin To 2 Step -1
    If (Range("B" & i) <> Range("G" & i)) And Range("C" & i) = "Résolu" Then Rows(i).Delete Shift:=xlUp
Next i
   
Application.ScreenUpdating = True

End Sub
 

vgendron

XLDnaute Barbatruc
Hello

j'ai copié ton code au même endroit que vgendron

c'est la le problème
Mon code est une macro à mettre dans un module standard. Cette macro est appelée par un bouton
Le code de LoneWolf est une macro évènementielle.. qui se déclenche au double clic sur la feuille..(pas besoin de bouton), pour peu que tu mettes le code directement dans la feuille (et pas dans un module standard
Alt+F11 pour ouvrir l'éditeur
à gauche, double clic sur la feuille concernée, et à droite copier le code
 

Discussions similaires

Réponses
3
Affichages
508
Réponses
2
Affichages
128

Statistiques des forums

Discussions
312 370
Messages
2 087 689
Membres
103 639
dernier inscrit
NIEMASAFI