Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Microsoft 365 Déplacer la ligne visible après le filtre

iliess

XLDnaute Occasionnel
Bonjour
SVP je souhaite déplacer la ligne visible après un filtre vers la fin du tableau Excel en vba
voici mon code
VB:
Sub Garder()
Dim ws As Worksheet
Dim LastRow As Long
Set ws = Worksheets("Rapp")
LastRow = ws.Cells(ws.Rows.Count, 1).End(xlUp).Row
FirstOfRowFilter = Range("TblData").Resize(Range("TblData").Rows.Count - 1).Offset(1).SpecialCells(xlCellTypeVisible).Row
Range("A" & FirstOfRowFilter & ":J" & FirstOfRowFilter).Cut
Range("A" & LastRow + 1 & ":J" & LastRow + 1).Insert Shift:=xlDown
End Sub

après l'exécution du code voici le message d'erreur dans la dernière ligne du code


svp qu'elle est la solution de ce problème
merci
 

Pièces jointes

  • Déplacer la ligne visible après le filtre.xlsm
    17.8 KB · Affichages: 2

Phil69970

XLDnaute Barbatruc
Bonjour @iliess
Edit Bonjour @ChTi160

Essaye ceci

VB:
Sub Garder()
Dim ws As Worksheet
Dim LastRow As Long
Set ws = Worksheets("Feuil1")
LastRow = ws.Cells(ws.Rows.Count, 1).End(xlUp).Row
FirstOfRowFilter = Range("TblData").Resize(Range("TblData").Rows.Count - 1).Offset(1).SpecialCells(xlCellTypeVisible).Row
Range("A" & FirstOfRowFilter & ":F" & FirstOfRowFilter).Cut

Range("TblData").AutoFilter ' Suppression des filtres

Range("A" & LastRow + 1 & ":F" & LastRow + 1).Insert Shift:=xlDown
'Run "filtre"
End Sub

Cela supprime le filtre

Mais que veux tu faire ?
 

iliess

XLDnaute Occasionnel
Bonjour @ChTi160
Bonjour @Phil69970

merci pour vos réponses

j'ai ajouter cette ligne dans le code et ca marche très bien
VB:
Range("A" & FirstOfRowFilter & ":F" & FirstOfRowFilter).Cut Destination:=Range("A" & LastRow + 1 & ":F" & LastRow + 1)
Rows(FirstOfRowFilter & ":" & FirstOfRowFilter).Delete Shift:=xlUp

voici le nouveau code

Code:
Sub Garder()
Dim ws As Worksheet
Dim LastRow As Long
Set ws = Worksheets("Feuil1")
LastRow = ws.Cells(ws.Rows.Count, 1).End(xlUp).Row
FirstOfRowFilter = Range("TblData").Resize(Range("TblData").Rows.Count - 1).Offset(1).SpecialCells(xlCellTypeVisible).Row
Range("A" & FirstOfRowFilter & ":F" & FirstOfRowFilter).Cut Destination:=Range("A" & LastRow + 1 & ":F" & LastRow + 1)
Rows(FirstOfRowFilter & ":" & FirstOfRowFilter).Delete Shift:=xlUp
Range("TblData").AutoFilter
End Sub
 

Discussions similaires

Réponses
3
Affichages
405
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…