[VBA] Sélectionner une ligne après un filtre
Résolu
Schtroumpf_Wiki
-
Schtroumpf_Wiki -
Schtroumpf_Wiki -
Bonjour,
Je fais actuellement une appli excel qui traite des données dans un tableau de plusieurs milliers de lignes. Je dois souvent filtrer pour extraire telle ou telle ligne.
Le problème c'est qu'après un filtre, le code "Cells(3,1).Value" va me donner la valeur de la cellule A3 et non de la première cellule de la troisième ligne visible à l'écran après le filtre.
Je le faisais jusqu'à présent en bidouillant un max mais mon appli rame pas mal. Du coup je me suis dit qu'il devait y avoir un code pour directecment prendre la valeur dont j'ai besoin.
Merci pour votre aide !
Je fais actuellement une appli excel qui traite des données dans un tableau de plusieurs milliers de lignes. Je dois souvent filtrer pour extraire telle ou telle ligne.
Le problème c'est qu'après un filtre, le code "Cells(3,1).Value" va me donner la valeur de la cellule A3 et non de la première cellule de la troisième ligne visible à l'écran après le filtre.
Je le faisais jusqu'à présent en bidouillant un max mais mon appli rame pas mal. Du coup je me suis dit qu'il devait y avoir un code pour directecment prendre la valeur dont j'ai besoin.
Merci pour votre aide !
A voir également:
- [VBA] Sélectionner une ligne après un filtre
- Photo filtre 7 gratuit - Télécharger - Retouche d'image
- Partager photos en ligne - Guide
- Mètre en ligne - Guide
- Aller à la ligne excel - Guide
- Filtre whatsapp - Accueil - Messagerie instantanée
2 réponses
Bonjour,
ma question est la suivante : Pourquoi veux tu récupérer la valeur de la cellule 3ème ligne visible, et surtout comment sais tu que cette valeur est contenue dans cette cellule?
ma question est la suivante : Pourquoi veux tu récupérer la valeur de la cellule 3ème ligne visible, et surtout comment sais tu que cette valeur est contenue dans cette cellule?
pijaku
Messages postés
12263
Date d'inscription
Statut
Modérateur
Dernière intervention
2 762
Un petit exemple de code qui te donne le numéro de la première ligne "visible" après filtre :
Pour faire simple, c'est une base de données de bobinnes de film. Je filtre la base avec un type de film précis, puis je trie les différentes bobinnes avec ce type de film par longueur. Je veux alors sélectionner les deux lignes contenant les infos sur les bobinnes ayant les deux plus petites longueurs.
C'est-à-dire sélectionner des infos sur les deux première lignes visibles à l'écran. La référence de la bobinne étant sur la première colonne, Si je tape Cells(2,1).Value va me donner la ref de la première bobinne de la base de données mais pas de celle qui est visible. Ce que je cherche, je ne sais pas si ça existe, c'est un code du genre :
CellsVisible(2, 1).Value (bon celui là ne marche pas ^^)
Voilà, j'espère avoir été assez clair
Merci !
C'est-à-dire sélectionner des infos sur les deux première lignes visibles à l'écran. La référence de la bobinne étant sur la première colonne, Si je tape Cells(2,1).Value va me donner la ref de la première bobinne de la base de données mais pas de celle qui est visible. Ce que je cherche, je ne sais pas si ça existe, c'est un code du genre :
CellsVisible(2, 1).Value (bon celui là ne marche pas ^^)
Voilà, j'espère avoir été assez clair
Merci !
As tu essayé mon code ci-dessus?
Après pour ta cellule suffit de l'appeler comme ceci :
Cells(Lig, 1)
Tu dis...
Sub test() Dim DrLig As Long, Lig As Long DrLig = Sheets("Feuil1").Columns(1).Find("*", , , , xlByColumns, xlPrevious).Row For Lig = 2 To DrLig If Rows(Lig).Hidden = False Then MsgBox "première ligne visible = " & Lig Exit For End If Next End Sub
Après pour ta cellule suffit de l'appeler comme ceci :
Cells(Lig, 1)
Tu dis...