Je d=E9sire connaitre la ligne visible haute et la ligne visible basse
apr=E9s application d'un filtre.
Les lignes visibles sont souvent sur plusieurs "areas".
Plus pr=E9cis=E9ment apr=E9s le filtre je veux porter dans une seule colonn=
e
de ces lignes visibles une formule.
Et cela coince !
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
DanielCo
Bonjour, la macro suivante affiche l'adresse de chaque plage :
Sub test() Set plage = ActiveSheet.AutoFilter.Range.Offset(1) Set plage = plage.Resize(plage.Rows.Count - 1) Set plage = plage.SpecialCells(xlCellTypeVisible) For i = 1 To plage.Areas.Count MsgBox plage.Areas(i).Address Next End Sub
Cordialement. Daniel
le Nordiste a écrit
Bonjour,
Je désire connaitre la ligne visible haute et la ligne visible basse aprés application d'un filtre. Les lignes visibles sont souvent sur plusieurs "areas".
Plus précisément aprés le filtre je veux porter dans une seule colonne de ces lignes visibles une formule. Et cela coince !
Merci d evotre aide.
Bonjour, la macro suivante affiche l'adresse de chaque plage :
Sub test()
Set plage = ActiveSheet.AutoFilter.Range.Offset(1)
Set plage = plage.Resize(plage.Rows.Count - 1)
Set plage = plage.SpecialCells(xlCellTypeVisible)
For i = 1 To plage.Areas.Count
MsgBox plage.Areas(i).Address
Next
End Sub
Cordialement.
Daniel
le Nordiste a écrit
Bonjour,
Je désire connaitre la ligne visible haute et la ligne visible basse
aprés application d'un filtre.
Les lignes visibles sont souvent sur plusieurs "areas".
Plus précisément aprés le filtre je veux porter dans une seule colonne
de ces lignes visibles une formule.
Et cela coince !
Bonjour, la macro suivante affiche l'adresse de chaque plage :
Sub test() Set plage = ActiveSheet.AutoFilter.Range.Offset(1) Set plage = plage.Resize(plage.Rows.Count - 1) Set plage = plage.SpecialCells(xlCellTypeVisible) For i = 1 To plage.Areas.Count MsgBox plage.Areas(i).Address Next End Sub
Cordialement. Daniel
le Nordiste a écrit
Bonjour,
Je désire connaitre la ligne visible haute et la ligne visible basse aprés application d'un filtre. Les lignes visibles sont souvent sur plusieurs "areas".
Plus précisément aprés le filtre je veux porter dans une seule colonne de ces lignes visibles une formule. Et cela coince !
Merci d evotre aide.
le Nordiste
MERCI ça marche, reste plus qu'à extraire le numéro de la ligne haute et basse de chaque "area"
MERCI ça marche,
reste plus qu'à extraire le numéro de la ligne haute et basse de
chaque "area"
MERCI ça marche, reste plus qu'à extraire le numéro de la ligne haute et basse de chaque "area"
Et je n'y arrive pas facilement :
une aide serait bienvenu.
DanielCo
Sub test() Set plage = ActiveSheet.AutoFilter.Range.Offset(1) Set plage = plage.Resize(plage.Rows.Count - 1) Set plage = plage.SpecialCells(xlCellTypeVisible) For i = 1 To plage.Areas.Count Haut = plage.Row Bas = plage.Row + plage.Rows.Count - 1 MsgBox Haut MsgBox Bas Next End Sub
On 31 mar, 09:52, le Nordiste wrote:
MERCI ça marche, reste plus qu'à extraire le numéro de la ligne haute et basse de chaque "area"
Et je n'y arrive pas facilement :
une aide serait bienvenu.
Sub test()
Set plage = ActiveSheet.AutoFilter.Range.Offset(1)
Set plage = plage.Resize(plage.Rows.Count - 1)
Set plage = plage.SpecialCells(xlCellTypeVisible)
For i = 1 To plage.Areas.Count
Haut = plage.Row
Bas = plage.Row + plage.Rows.Count - 1
MsgBox Haut
MsgBox Bas
Next
End Sub
On 31 mar, 09:52, le Nordiste <jean-paul.batai...@sfr.com> wrote:
MERCI ça marche,
reste plus qu'à extraire le numéro de la ligne haute et basse de
chaque "area"
Sub test() Set plage = ActiveSheet.AutoFilter.Range.Offset(1) Set plage = plage.Resize(plage.Rows.Count - 1) Set plage = plage.SpecialCells(xlCellTypeVisible) For i = 1 To plage.Areas.Count Haut = plage.Row Bas = plage.Row + plage.Rows.Count - 1 MsgBox Haut MsgBox Bas Next End Sub
On 31 mar, 09:52, le Nordiste wrote:
MERCI ça marche, reste plus qu'à extraire le numéro de la ligne haute et basse de chaque "area"
Et je n'y arrive pas facilement :
une aide serait bienvenu.
isabelle
bonjour le Nordiste,
Sub Filtre_PremiereEtDerniere() Dim plg As Range, x As Variant, pr As String, dr As String Set plg = ActiveSheet.Range("_filterdatabase").SpecialCells(xlCellTypeVisible) x = Split(plg.Address, ",") If Range(x(0)).Count > 1 Then pr = Range(Split(x(0), ":")(1)).Row ' premiere ligne filtrer dr = Range(x(UBound(x))).Row ' derniere ligne filtrer Else pr = Range(x(1)).Row ' premiere ligne filtrer dr = Range(x(UBound(x))).Row ' derniere ligne filtrer End If End Sub
MERCI ça marche, reste plus qu'à extraire le numéro de la ligne haute et basse de chaque "area"
Et je n'y arrive pas facilement :
une aide serait bienvenu.
bonjour le Nordiste,
Sub Filtre_PremiereEtDerniere()
Dim plg As Range, x As Variant, pr As String, dr As String
Set plg =
ActiveSheet.Range("_filterdatabase").SpecialCells(xlCellTypeVisible)
x = Split(plg.Address, ",")
If Range(x(0)).Count > 1 Then
pr = Range(Split(x(0), ":")(1)).Row ' premiere ligne filtrer
dr = Range(x(UBound(x))).Row ' derniere ligne filtrer
Else
pr = Range(x(1)).Row ' premiere ligne filtrer
dr = Range(x(UBound(x))).Row ' derniere ligne filtrer
End If
End Sub
Sub Filtre_PremiereEtDerniere() Dim plg As Range, x As Variant, pr As String, dr As String Set plg = ActiveSheet.Range("_filterdatabase").SpecialCells(xlCellTypeVisible) x = Split(plg.Address, ",") If Range(x(0)).Count > 1 Then pr = Range(Split(x(0), ":")(1)).Row ' premiere ligne filtrer dr = Range(x(UBound(x))).Row ' derniere ligne filtrer Else pr = Range(x(1)).Row ' premiere ligne filtrer dr = Range(x(UBound(x))).Row ' derniere ligne filtrer End If End Sub
MERCI ça marche, reste plus qu'à extraire le numéro de la ligne haute et basse de chaque "area"
Et je n'y arrive pas facilement :
une aide serait bienvenu.
MichD
Bonjour,
En supposant que le filtre a été exécuté en Feuil1...
'---------------------------------- Sub test() Dim Rg As Range Dim PremièreLigne As Long Dim DernièreLigne As Long
With Worksheets("Feuil1") Set Rg = .Range("_FilterDatabase") End With Set Rg = Rg.Offset(1).Resize(Rg.Rows.Count - 1) _ .SpecialCells(xlCellTypeVisible)
With Rg.Areas PremièreLigne = Range(.Item(1).Address). _ Cells(1, 1).Row DernièreLigne = Range(.Item(.Count).Address). _ Cells(.Item(.Count).Rows.Count, 1).Row End With End Sub '----------------------------------
MichD -------------------------------------------- "le Nordiste" a écrit dans le message de groupe de discussion :
Bonjour,
Je désire connaitre la ligne visible haute et la ligne visible basse aprés application d'un filtre. Les lignes visibles sont souvent sur plusieurs "areas".
Plus précisément aprés le filtre je veux porter dans une seule colonne de ces lignes visibles une formule. Et cela coince !
Merci d evotre aide.
Bonjour,
En supposant que le filtre a été exécuté en Feuil1...
'----------------------------------
Sub test()
Dim Rg As Range
Dim PremièreLigne As Long
Dim DernièreLigne As Long
With Worksheets("Feuil1")
Set Rg = .Range("_FilterDatabase")
End With
Set Rg = Rg.Offset(1).Resize(Rg.Rows.Count - 1) _
.SpecialCells(xlCellTypeVisible)
With Rg.Areas
PremièreLigne = Range(.Item(1).Address). _
Cells(1, 1).Row
DernièreLigne = Range(.Item(.Count).Address). _
Cells(.Item(.Count).Rows.Count, 1).Row
End With
End Sub
'----------------------------------
MichD
--------------------------------------------
"le Nordiste" a écrit dans le message de groupe de discussion :
a6aa381b-4117-40b2-93f1-9cea038fb069@l18g2000yqm.googlegroups.com...
Bonjour,
Je désire connaitre la ligne visible haute et la ligne visible basse
aprés application d'un filtre.
Les lignes visibles sont souvent sur plusieurs "areas".
Plus précisément aprés le filtre je veux porter dans une seule colonne
de ces lignes visibles une formule.
Et cela coince !
En supposant que le filtre a été exécuté en Feuil1...
'---------------------------------- Sub test() Dim Rg As Range Dim PremièreLigne As Long Dim DernièreLigne As Long
With Worksheets("Feuil1") Set Rg = .Range("_FilterDatabase") End With Set Rg = Rg.Offset(1).Resize(Rg.Rows.Count - 1) _ .SpecialCells(xlCellTypeVisible)
With Rg.Areas PremièreLigne = Range(.Item(1).Address). _ Cells(1, 1).Row DernièreLigne = Range(.Item(.Count).Address). _ Cells(.Item(.Count).Rows.Count, 1).Row End With End Sub '----------------------------------
MichD -------------------------------------------- "le Nordiste" a écrit dans le message de groupe de discussion :
Bonjour,
Je désire connaitre la ligne visible haute et la ligne visible basse aprés application d'un filtre. Les lignes visibles sont souvent sur plusieurs "areas".
Plus précisément aprés le filtre je veux porter dans une seule colonne de ces lignes visibles une formule. Et cela coince !
Merci d evotre aide.
isabelle
correction,
Sub Filtre_PremiereEtDerniere() Dim plg As Range, x As Variant, pr As String, dr As String Set plg = ActiveSheet.Range("_filterdatabase").SpecialCells(xlCellTypeVisible) x = Split(plg.Address, ",") If Range(x(0)).Rows.Count > 1 Then pr = "2" ' premiere ligne filtrer dr = Range(x(UBound(x))).Row ' derniere ligne filtrer Else pr = Range(x(1)).Row ' premiere ligne filtrer dr = Range(x(UBound(x))).Row ' derniere ligne filtrer End If End Sub
Sub Filtre_PremiereEtDerniere() Dim plg As Range, x As Variant, pr As String, dr As String Set plg = ActiveSheet.Range("_filterdatabase").SpecialCells(xlCellTypeVisible) x = Split(plg.Address, ",") If Range(x(0)).Count > 1 Then pr = Range(Split(x(0), ":")(1)).Row ' premiere ligne filtrer dr = Range(x(UBound(x))).Row ' derniere ligne filtrer Else pr = Range(x(1)).Row ' premiere ligne filtrer dr = Range(x(UBound(x))).Row ' derniere ligne filtrer End If End Sub
MERCI ça marche, reste plus qu'à extraire le numéro de la ligne haute et basse de chaque "area"
Et je n'y arrive pas facilement :
une aide serait bienvenu.
correction,
Sub Filtre_PremiereEtDerniere()
Dim plg As Range, x As Variant, pr As String, dr As String
Set plg =
ActiveSheet.Range("_filterdatabase").SpecialCells(xlCellTypeVisible)
x = Split(plg.Address, ",")
If Range(x(0)).Rows.Count > 1 Then
pr = "2" ' premiere ligne filtrer
dr = Range(x(UBound(x))).Row ' derniere ligne filtrer
Else
pr = Range(x(1)).Row ' premiere ligne filtrer
dr = Range(x(UBound(x))).Row ' derniere ligne filtrer
End If
End Sub
Sub Filtre_PremiereEtDerniere()
Dim plg As Range, x As Variant, pr As String, dr As String
Set plg =
ActiveSheet.Range("_filterdatabase").SpecialCells(xlCellTypeVisible)
x = Split(plg.Address, ",")
If Range(x(0)).Count > 1 Then
pr = Range(Split(x(0), ":")(1)).Row ' premiere ligne filtrer
dr = Range(x(UBound(x))).Row ' derniere ligne filtrer
Else
pr = Range(x(1)).Row ' premiere ligne filtrer
dr = Range(x(UBound(x))).Row ' derniere ligne filtrer
End If
End Sub
Sub Filtre_PremiereEtDerniere() Dim plg As Range, x As Variant, pr As String, dr As String Set plg = ActiveSheet.Range("_filterdatabase").SpecialCells(xlCellTypeVisible) x = Split(plg.Address, ",") If Range(x(0)).Rows.Count > 1 Then pr = "2" ' premiere ligne filtrer dr = Range(x(UBound(x))).Row ' derniere ligne filtrer Else pr = Range(x(1)).Row ' premiere ligne filtrer dr = Range(x(UBound(x))).Row ' derniere ligne filtrer End If End Sub
Sub Filtre_PremiereEtDerniere() Dim plg As Range, x As Variant, pr As String, dr As String Set plg = ActiveSheet.Range("_filterdatabase").SpecialCells(xlCellTypeVisible) x = Split(plg.Address, ",") If Range(x(0)).Count > 1 Then pr = Range(Split(x(0), ":")(1)).Row ' premiere ligne filtrer dr = Range(x(UBound(x))).Row ' derniere ligne filtrer Else pr = Range(x(1)).Row ' premiere ligne filtrer dr = Range(x(UBound(x))).Row ' derniere ligne filtrer End If End Sub