Microsoft 365 utiliser la ligne +1 des lignes filtrées

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Usine à gaz

XLDnaute Barbatruc
Supporter XLD
Bonjour à toutes et à tous,
Je vous souhaite un beau dimanche 🙂

Je coince encore sur un code que je n'arrive pas à faire :
dans l'exemple fichier joint
exemple : filtre appliqué sur col B chiffre 1
je voudrais que si la cellule NON VISIBLE "B17" - soit lignes filtrées + 1
Si "B17" (NON VISIBLE = "OK" écrire "OK" en "F9"

Malgré mes recherches et tentatives, je n'ai pas réussi 😡
Auriez-vous la solution ?
Avec mes remerciements,
Amicalement,
lionel,
 

Pièces jointes

Bonjour usine à gaz
VB:
Sub FindingLastRow()
    Dim Plage As Range
    Set Plage = Range("b1:B" & Range("b65536").End(xlUp).Row).SpecialCells(xlVisible)
    x = Split(Plage.Address, "$")
    derlinvisible = x(UBound(x))
    If Range("B" & derlinvisible + 1) = "OK" Then Range("F9") = "OK"
End Sub
 
Re encore 🙂

Après re-test ça semble bon 🙂
VB:
Sub FindingLastRow_PierreJean()
    Dim Plage As Range
    Set Plage = Range("b1:B" & Range("b65536").End(xlUp).Row).SpecialCells(xlVisible)
    x = Split(Plage.Address, "$")
    derlinvisible = x(UBound(x))
    If Range("B" & derlinvisible + 1) = [f4] Then Range("F9") = [f4]
End Sub
Merci à toi 🙂
Je vais voir comment l'intégrer dans mon fichier de travail,
lionel,
 
Dernière édition:
Bonjour Lionel, Pierre,

Voyez dans le fichier joint cette fonction VBA (volatile) :
VB:
Function FindingLastRow$(colonne As Range)
Application.Volatile
If colonne(colonne.Count).End(xlUp)(2) = "OK" Then FindingLastRow = "OK"
End Function
Le code doit être impérativement dans un module standard.

Formule en F9 =FindingLastRow(B:B)

A+
 

Pièces jointes

Bonjour PierreJean, Bonjour Gérard, le Forum,
Je reviens sur ce fil car j'avais mal formulé mon besoin (une fois de plus) 😡

Mon besoin revu est le suivant :
si je filtre sur 1 la ligne 16 devient visible
si je filtre sur 2 la ligne 24 devient visible
si je filtre sur 3 la ligne 32 devient visible
si je filtre sur 4 la ligne 39 devient visible

Pour l'exemple j'ai écrit : "OK - c'est bon - Pourquoi ? - Parce que"
mais dans mon classeur de travail elle sont vides
j'ai juste besoin qu'elles deviennent visibles.


J'ai continué à chercher mais je n'ai pas trouvé jusqu'à maintenant !
Auriez-vous la solution ?
Je joins le fichier test,
Avec mes remerciements,
Je vous souhaite un beau dimanche,
lionel,
 

Pièces jointes

Bonjour Lionel,

Fichier (3) avec cette macro dans le code de la feuille :
VB:
Private Sub Worksheet_Calculate()
Application.EnableEvents = False
Rows(16).Hidden = Rows(15).Hidden
Rows(24).Hidden = Rows(23).Hidden
Rows(32).Hidden = Rows(31).Hidden
Rows(39).Hidden = Rows(38).Hidden
Application.EnableEvents = True
End Sub
La formule volatile en F2 est indispensable pour que le filtrage crée l'évènement Calculate.

A+
 

Pièces jointes

- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
13
Affichages
786
Retour