OVH Cloud OVH Cloud

Calcul du nb de lignes dans une feuille

2 réponses
Avatar
Sophie
Bonjour,=20

Dans une macro j'ai la ligne suivante :=20

Range("A1:Z500").AdvancedFilter Action:=3DxlFilterInPlace,=20
CriteriaRange:=3D _
Sheets("Filtre").Range("B5:B7"), Unique:=3DFalse

Ca marche tr=E8s bien car le tableau sur lequel j'applique=20
le filtre va de A1 =E0 Z500.=20

Le jour o=F9 mon tableau comportera plus de 500 lignes, la=20
macro donnera un r=E9sultat faux. Comment faire pour=20
compter le nb de lignes du tableau et l'inclure dans=20
le "Range" qui va bien.=20

J'ai essay=E9 NbLigne =3D Selection.Rows.Count, mais apr=E8s=20
comment mettre l'info dans la ligne Range, je ne sais pas=20
faire ...

Merci pour votre aide

Sophie

2 réponses

Avatar
michdenis
Bonjour Sophie,

Essaie ceci en adaptant le nom de la feuille.

'----------------------------
Sub FiltreAuto()

Dim DerLig As Long
With Worksheets("Feuil1")
DerLig = .Range("A65356").End(xlUp).Row
.Range("A1:Z" & DerLig).AdvancedFilter _
Action:=xlFilterInPlace, _
CriteriaRange:=.Range("B5:B7"), Unique:úlse
End With
End Sub
'----------------------------

Salutations!


"Sophie" a écrit dans le message de news:ffb101c3f3c8$6ef9a890$
Bonjour,

Dans une macro j'ai la ligne suivante :

Range("A1:Z500").AdvancedFilter Action:=xlFilterInPlace,
CriteriaRange:= _
Sheets("Filtre").Range("B5:B7"), Unique:úlse

Ca marche très bien car le tableau sur lequel j'applique
le filtre va de A1 à Z500.

Le jour où mon tableau comportera plus de 500 lignes, la
macro donnera un résultat faux. Comment faire pour
compter le nb de lignes du tableau et l'inclure dans
le "Range" qui va bien.

J'ai essayé NbLigne = Selection.Rows.Count, mais après
comment mettre l'info dans la ligne Range, je ne sais pas
faire ...

Merci pour votre aide

Sophie
Avatar
Sophie
Merci ça a marché, en supprimant néanmoins le "." devant
Range ("A1:Z" & DerLig)

Bye - Sophie

-----Message d'origine-----
Bonjour Sophie,

Essaie ceci en adaptant le nom de la feuille.

'----------------------------
Sub FiltreAuto()

Dim DerLig As Long
With Worksheets("Feuil1")
DerLig = .Range("A65356").End(xlUp).Row
.Range("A1:Z" & DerLig).AdvancedFilter _
Action:=xlFilterInPlace, _
CriteriaRange:=.Range("B5:B7"), Unique:úlse
End With
End Sub
'----------------------------

Salutations!


"Sophie" a écrit
dans le message de news:ffb101c3f3c8$6ef9a890

$
Bonjour,

Dans une macro j'ai la ligne suivante :

Range("A1:Z500").AdvancedFilter Action:=xlFilterInPlace,
CriteriaRange:= _
Sheets("Filtre").Range("B5:B7"), Unique:úlse

Ca marche très bien car le tableau sur lequel j'applique
le filtre va de A1 à Z500.

Le jour où mon tableau comportera plus de 500 lignes, la
macro donnera un résultat faux. Comment faire pour
compter le nb de lignes du tableau et l'inclure dans
le "Range" qui va bien.

J'ai essayé NbLigne = Selection.Rows.Count, mais après
comment mettre l'info dans la ligne Range, je ne sais pas
faire ...

Merci pour votre aide

Sophie


.