Suppression de lignes

Fermé
Cabrina Messages postés 248 Date d'inscription samedi 5 avril 2008 Statut Membre Dernière intervention 13 mars 2024 - 6 juin 2017 à 16:11
GermPeru Messages postés 172 Date d'inscription mercredi 7 décembre 2016 Statut Membre Dernière intervention 27 mars 2018 - 31 juil. 2017 à 15:48
Bonjour,

J’ai une macro pour supprimer certaines lignes de mon tableau il y a deux « codes » 1 ou FAUX si c’est FAUX je veux faire supprimer mes lignes pour se faire j’ai la macro ci-après mais j’ai une erreur que je n’arrive pas à solutionner…
J’ai donc besoin d’aide…

Sub TriSurX()
'
' TriSurX Macro
'

'
ActiveWorkbook.Worksheets("Fiche réquisition").ListObjects("Tableau1").Sort. _
SortFields.Clear
ActiveWorkbook.Worksheets("Fiche réquisition").ListObjects("Tableau1").Sort. _
SortFields.Add Key:=Range("Tableau1[#All,[X]]"), SortOn:=xlSortOnValues, _
Order:=xlDescending, DataOption:=xlSortTextAsNumbers
With ActiveWorkbook.Worksheets("Fiche réquisition").ListObjects("Tableau1"). _
Sort
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
ActiveSheet.ListObjects("Tableau1").Range.AutoFilter Field:=24, Criteria1:= _
"FAUX"
Range("Tableau1").Select
Rows(Selection.Row).Delete shift:=xlUp
ActiveSheet.ListObjects("Tableau1").Range.AutoFilter Field:=24
ActiveWindow.SmallScroll Down:=-30
Range("A1").Select
Selection.NumberFormat = "General"
ActiveCell.FormulaR1C1 = "=R[4]C"
Range("A5").Select
End Sub


Merci d'avance

1 réponse

GermPeru Messages postés 172 Date d'inscription mercredi 7 décembre 2016 Statut Membre Dernière intervention 27 mars 2018
31 juil. 2017 à 15:48
Bonjour Cabrina,

J´espere que tu as trouvé ré ponse a ton probleme depuis le temps mais au cas ou, je donne une piste.

Je ne suis pas un expert mais je procéderais de la maniere suivante:

Option Explicit

Sub SupLigne()
Dim nbli As Integer, i As Integer
With Sheets("NomDeTaFeuilleContenantTonTableau")
nbli = Application.WorksheetFunction.CountA(.Range("A:A")) 'te permet de compter le nbde ligne dans ton tableau et en admettant qu´il n´y est pas de cellules vide dans la colone A
    For i = 1 To nbli ' tu boucles sur toutes tes lignes et si en colone 24 c´est faux bah tu la supprime
        If .Cells(i, 24) = "FAUX" Then .Cells(i, 24).EntireRow.Delet
    Next
End With
End Sub


L´enregistreur de maccro c´est bien mais ca ne fait pas tout ;)
0