Sélection d'une plage filtré avec variables

Bonjour, j'aurais besoin de votre aide, je ne sais plus quoi faire pour y arriver.

J'ai une feuille sur laquelle j'applique un filtre et j'aimerais sélectionné les 10 premières lignes du filtre.

Voici mon code je pense qu'il manque pas grand chose, mais je bute dessus.

Sub test()

Set Plage = [_filterdatabase].Offset(1).Resize(, 1)
Set Plage = Plage.Resize(Plage.Count - 1).SpecialCells(xlCellTypeVisible)
Plage(Plage.Count).Select 
derligne = Plage.SpecialCells(xlCellTypeLastCell).Row 'Trouve la dernière ligne du filtre
premligne = Plage.Row 'Première ligne

nbr = 10 'Nbr de ligne à sélectionné

Range("A" & premligne, "A" & premligne + nbr).SpecialCells(xlCellTypeVisible).Select

End Sub

En faisant une boucle je trouve le numéro de la 10 ligne filtrés

Mais c'est très long si je dois faire plus de 1000 fois la boucle

Y aurais pa un moyen d'avoir automatiquement le numéro de la 10eme ligne filtré sans avoir a faire de boucle?

nbr = 10 'Nbr de ligne à sélectionné

Ligne = Range("A" & premligne, "A" & derligne).SpecialCells(xlCellTypeVisible).Row

For J = 1 To 10 - 1
Ligne = Range("A" & Ligne + 1, "A" & derligne).SpecialCells(xlCellTypeVisible).Row
 Next J
MsgBox Ligne

Bonjour,

Un essai

Sub test()
Dim Plage As Range
Dim DerLigne As Long, PremLigne As Long
Dim Ad, T
    On Error GoTo Gestion_Erreur
    Set Plage = [_filterdatabase].Offset(1).Resize(, 1)
    Set Plage = Plage.Resize(Plage.Count - 1).SpecialCells(xlCellTypeVisible)
    Ad = Plage.Address
    T = Split(Ad, ",")
    If UBound(T, 1) >= 9 Then
        PremLigne = Range(T(0)).Row
        DerLigne = Range(T(9)).Row
        Range(Range("A" & PremLigne), Range("A" & DerLigne)).SpecialCells(xlCellTypeVisible).Select
    Else
        MsgBox "Nombre de lignes filtrées inférieur à 10", vbCritical
    End If
    Exit Sub
Gestion_Erreur:
    MsgBox "Erreur " & Err.Number & vbLf & Err.Description
End Sub

Cordialement.

Merci beaucoup gyrus de t'être pencher sur mon problème.

Je me suis peut être mal exprimé il est beaucoup plus simple je pense.

J'ai juste besoin apres avoir mis un filtre de connaître le numéro de la ligne de la 10 ème cellules visible (10 étant une variable)

J'ai réussi de mon coté à trouvé une solution

Beaucoup de lignes, pour pas grand chose

Mes compétences ne me permettent pas de faire plus court

Sub test()
Set Plage = [_filterdatabase].Offset(1).Resize(, 1)
Set Plage = Plage.Resize(Plage.Count - 1).SpecialCells(xlCellTypeVisible)
premligne = Plage.Row 'Premiere ligne
nbr = 10 'Nbr de ligne à sélectionné
Application.ScreenUpdating = False

For i = 1 To nbr

While Rows(premligne).Hidden = True
 ActiveCell.Offset(1, 0).Select
 premligne = premligne + 1
Wend

premligne = premligne + 1
Next i

Range("A" & Plage.Row, "A" & premligne - 1).SpecialCells(xlCellTypeVisible).EntireRow.Select

Application.ScreenUpdating = True

End Sub
Rechercher des sujets similaires à "selection plage filtre variables"