Filtrer sur un terme tout en gardant les N lignes du dessus
Didier
-
cs_Le Pivert Messages postés 8437 Statut Contributeur -
cs_Le Pivert Messages postés 8437 Statut Contributeur -
Bonjour,
Sur une feuille de calcul je cherche à trier de la façon suivante :
Filtrer sur les lignes contenant le terme rechercher tout en gardant les n lignes (3 en l’occurrence) du dessus à chaque fois.
Exemple :
Je cherche le terme "arbre" qui se trouve en A4, j'ai besoin dans le même temps de conserver les lignes 3, 2 et 1.
Comment est-ce possible ?
Merci
Sur une feuille de calcul je cherche à trier de la façon suivante :
Filtrer sur les lignes contenant le terme rechercher tout en gardant les n lignes (3 en l’occurrence) du dessus à chaque fois.
Exemple :
Je cherche le terme "arbre" qui se trouve en A4, j'ai besoin dans le même temps de conserver les lignes 3, 2 et 1.
Comment est-ce possible ?
Merci
A voir également:
- Filtrer sur un terme tout en gardant les N lignes du dessus
- Excel trier par ordre alphabétique en gardant les lignes - Guide
- Partager photos en ligne - Guide
- Fusionner deux cellules excel en gardant le contenu - Guide
- Mètre en ligne - Guide
- Afficher toutes les lignes masquées excel ✓ - Forum Excel
2 réponses
Bonjour,
en vba on fait une boucle pour rechercher "arbre"et on copie les cellules dans la colonne B:
Ensuite il te suffit de supprimer la colonne A
en vba on fait une boucle pour rechercher "arbre"et on copie les cellules dans la colonne B:
Sub For_X_to_Next_Ligne()
Dim FL1 As Worksheet, NoCol As Integer
Dim NoLig As Long, Var As Variant
Dim DerniereLigne As Long
Set FL1 = Worksheets("Feuil1") 'a adpater nom de la Feuille
NoCol = 1 'lecture de la colonne A
For NoLig = 1 To Split(FL1.UsedRange.Address, "$")(4)
Var = FL1.Cells(NoLig, NoCol)
If Var = "arbre" Then 'a adapter le nom recherché
Range("A" & NoLig - 3 & ":A" & NoLig).Copy
Range("B" & NoLig - 3).Select
ActiveSheet.Paste
End If
Next
DerniereLigne = Range("B" & Rows.Count).End(xlUp).Row
Range("B1:B" & DerniereLigne).SpecialCells(xlCellTypeBlanks).EntireRow.Delete 'supprime les lignes vides
End Sub
Ensuite il te suffit de supprimer la colonne A
J'ai 14000 lignes à traiter...
tu peux aussi essayer d'insérer une ligne vide après la ligne 3, pour obtenir 2 tableaux distincts.