Sélection de la 1ère ligne du résultat d'un filtrage Excel

Résolu
Signaler
Messages postés
377
Date d'inscription
lundi 3 avril 2006
Statut
Membre
Dernière intervention
22 août 2018
-
Messages postés
377
Date d'inscription
lundi 3 avril 2006
Statut
Membre
Dernière intervention
22 août 2018
-
Bonjour à tous,

Dans un tableau Excel, j'utilise l'action d'un filtrage (sélection dans la liste du filtre de colonne)
Les indices des lignes (Rows) obtenues passent en bleu et je voudrais pouvoir lancer la macro (VB6.3): 
Activer une feuille qui a pour nom la valeur de la cellule A(x) ; (x) étant la valeur en colonne A de la première ligne filtrée.
Aucun problème si l'on sélectionne d'abord la cellule A(x) en question ... 
   Private Sub Extraire_Click()
   x = ActiveCell.Value
   Worksheets(Sheets(x).Name).Activate
   End Sub
Mais comment le faire SANS la sélectionner d'abord ?
Quelle syntaxe utiliser pour que la macro "aille chercher" la valeur en colonne A de la première ligne obtenu au filtrage ?
Ou encore, dans mon cas, la valeur en colonne A de la troisème ligne "affichée" et non pas  "row=3" ?

Mes recherches sur le forum étant restée vaines,
Merci pour toute aide !

 

2 réponses

Messages postés
3877
Date d'inscription
mardi 19 mars 2002
Statut
Membre
Dernière intervention
23 août 2018
19
C'est quoi la macro VB6.3  ???

De toutes façons, tu peux regarder si la ligne est masquée (hidden)
Disons que tu as des entêtes sur la 1ere ligne et que tes données commencent sur la 2e
Ce code va filtrer la colonne A sur la valeur 4 et cherchera la 1ere ligne non masquée

    Dim I As Long, Ligne As Long
   
    Rows(1).AutoFilter Field:=1, Criteria1:="4"
   
    For I = 2 To Cells(Rows.Count, 1).End(xlUp).Row
        If Rows(I).Hidden = False Then  'donc la ligne est visible
            Ligne = I
            Exit For
        End If
    Next

MPi
Messages postés
377
Date d'inscription
lundi 3 avril 2006
Statut
Membre
Dernière intervention
22 août 2018

Merci à toi MPI , tu me tires bien d'affaire : c'est tout bon !
Quant à "la macro (VB6.3)" , je voulais simplement préciser que je tournais sur le version 6.3 de Visual Basic.
Si je peux me permettre, je mets un nouveau topic " Renommer un feuille par la valeur d'une de ses cellules ? "...
Là aussi je cherche sur le forum et je n'ai pas encore trouvé ...
Je manque vraiment de pratique !
Merci encore