OVH Cloud OVH Cloud

Récupérer la valeur dans liste filtrée

7 réponses
Avatar
jpm
Hello everybody,

Je voudrais savoir comment r=E9cup=E9rer la valeur de la=20
premi=E8re cellule d'une colonne filtr=E9e.
Exemple : Colonne A contient des noms et lorsque je filtre=20
sur les noms, je veux pouvoir r=E9cup=E9rer le nom de cette=20
personne, dans une autre cellule pour l'utiliser comme=20
crit=E8re dans une fonction Recherchev.
Je n'y arrive pas.... !!!!!
A chaque fois, il tient toujours compte des cellules=20
masqu=E9es.
J'ai m=EAme essay=E9 avec sous total, mais comment lui dire de=20
r=E9cup=E9rer une valeur ????

D'avance merci pour votre aide, je craque !!!!

7 réponses

Avatar
michdenis
Bonjour JPM,

En supposant que tu utilises le filtre élaboré, tu peux utiliser la formule suivante :

Auteur : Daniel Maher

zz : représente ta plage nommée sans la ligne d'étiquettes.

=SI(SOUS.TOTAL(3;zz)=NBVAL(zz);"";INDEX(zz;EQUIV(1;
SOUS.TOTAL(3;DECALER(zz;LIGNE(zz)-MIN(LIGNE(zz));;1));0)))

Validation Matricielle : Maj + Ctrl + Enter


Salutations!


"jpm" a écrit dans le message de news:d9b401c43aa8$21b67960$
Hello everybody,

Je voudrais savoir comment récupérer la valeur de la
première cellule d'une colonne filtrée.
Exemple : Colonne A contient des noms et lorsque je filtre
sur les noms, je veux pouvoir récupérer le nom de cette
personne, dans une autre cellule pour l'utiliser comme
critère dans une fonction Recherchev.
Je n'y arrive pas.... !!!!!
A chaque fois, il tient toujours compte des cellules
masquées.
J'ai même essayé avec sous total, mais comment lui dire de
récupérer une valeur ????

D'avance merci pour votre aide, je craque !!!!
Avatar
FxM
Bonsoir,

Si j'ai compris la question (pas évident) :
Alt-F11 | insertion | module
Copies-y ce qui est entre les ==== :
=== Public Function cherchez(inp)
Application.Volatile
With ActiveSheet
For Each cel In Range(inp)
If Not (IsEmpty(cel)) And cel.RowHeight <> 0 Then
cherchez = cel.Value: Exit Function
End If
Next cel
End With
End Function
=== Usage :
La liste est en A2:A25 et est filtrée (titre en A2).
Dans une cellule autre :
=cherchez("A3:A25")
La fonction renvoit la valeur de la première cellule de l'argument dont
la hauteur de ligne n'est pas 0.

@+
FxM (qui a tourné autour de specialscells sans trouver)





jpm wrote:
Hello everybody,

Je voudrais savoir comment récupérer la valeur de la
première cellule d'une colonne filtrée.
Exemple : Colonne A contient des noms et lorsque je filtre
sur les noms, je veux pouvoir récupérer le nom de cette
personne, dans une autre cellule pour l'utiliser comme
critère dans une fonction Recherchev.
Je n'y arrive pas.... !!!!!
A chaque fois, il tient toujours compte des cellules
masquées.
J'ai même essayé avec sous total, mais comment lui dire de
récupérer une valeur ????

D'avance merci pour votre aide, je craque !!!!


Avatar
docm
Bonsoir.

Sub Chercher()
a = PremiereCelluleVisible(ActiveSheet.Range("zz"))
End Sub

Function PremiereCelluleVisible(r As Range)
PremiereCelluleVisible = r.SpecialCells(xlCellTypeVisible).Cells(1, 1)
End Function

Sous toutes réserves.


"FxM" wrote in message
news:#
Bonsoir,

Si j'ai compris la question (pas évident) :
Alt-F11 | insertion | module
Copies-y ce qui est entre les ==== :
=== > Public Function cherchez(inp)
Application.Volatile
With ActiveSheet
For Each cel In Range(inp)
If Not (IsEmpty(cel)) And cel.RowHeight <> 0 Then
cherchez = cel.Value: Exit Function
End If
Next cel
End With
End Function
=== > Usage :
La liste est en A2:A25 et est filtrée (titre en A2).
Dans une cellule autre :
=cherchez("A3:A25")
La fonction renvoit la valeur de la première cellule de l'argument dont
la hauteur de ligne n'est pas 0.

@+
FxM (qui a tourné autour de specialscells sans trouver)





jpm wrote:
Hello everybody,

Je voudrais savoir comment récupérer la valeur de la
première cellule d'une colonne filtrée.
Exemple : Colonne A contient des noms et lorsque je filtre
sur les noms, je veux pouvoir récupérer le nom de cette
personne, dans une autre cellule pour l'utiliser comme
critère dans une fonction Recherchev.
Je n'y arrive pas.... !!!!!
A chaque fois, il tient toujours compte des cellules
masquées.
J'ai même essayé avec sous total, mais comment lui dire de
récupérer une valeur ????

D'avance merci pour votre aide, je craque !!!!




Avatar
AV
=INDEX(zz;EQUIV(1;SOUS.TOTAL(3;DECALER(zz;LIGNE(zz)-MIN(LIGNE(zz));;1));0))
Validation Matricielle : Maj + Ctrl + Enter

AV
Avatar
jpm
MERCI MERCI !!!!! C'est trop cool...


-----Message d'origine-----
Bonsoir.

Sub Chercher()
a = PremiereCelluleVisible(ActiveSheet.Range("zz"))
End Sub

Function PremiereCelluleVisible(r As Range)
PremiereCelluleVisible = r.SpecialCells
(xlCellTypeVisible).Cells(1, 1)

End Function

Sous toutes réserves.


"FxM" wrote in message
news:#
Bonsoir,

Si j'ai compris la question (pas évident) :
Alt-F11 | insertion | module
Copies-y ce qui est entre les ==== :
====
Public Function cherchez(inp)
Application.Volatile
With ActiveSheet
For Each cel In Range(inp)
If Not (IsEmpty(cel)) And cel.RowHeight <> 0 Then
cherchez = cel.Value: Exit Function
End If
Next cel
End With
End Function
====
Usage :
La liste est en A2:A25 et est filtrée (titre en A2).
Dans une cellule autre :
=cherchez("A3:A25")
La fonction renvoit la valeur de la première cellule
de l'argument dont


la hauteur de ligne n'est pas 0.

@+
FxM (qui a tourné autour de specialscells sans trouver)





jpm wrote:
Hello everybody,

Je voudrais savoir comment récupérer la valeur de la
première cellule d'une colonne filtrée.
Exemple : Colonne A contient des noms et lorsque je
filtre



sur les noms, je veux pouvoir récupérer le nom de
cette



personne, dans une autre cellule pour l'utiliser
comme



critère dans une fonction Recherchev.
Je n'y arrive pas.... !!!!!
A chaque fois, il tient toujours compte des cellules
masquées.
J'ai même essayé avec sous total, mais comment lui
dire de



récupérer une valeur ????

D'avance merci pour votre aide, je craque !!!!




.





Avatar
C'est tout simplment Génial !!!!

MERCI !!!!



-----Message d'origine-----
=INDEX(zz;EQUIV(1;SOUS.TOTAL(3;DECALER(zz;LIGNE(zz)-MIN
(LIGNE(zz));;1));0))

Validation Matricielle : Maj + Ctrl + Enter

AV


.



Avatar
jpm
C'est tout simplment Génial !!!!

MERCI !!!!


-----Message d'origine-----
Bonjour JPM,

En supposant que tu utilises le filtre élaboré, tu peux
utiliser la formule suivante :


Auteur : Daniel Maher

zz : représente ta plage nommée sans la ligne
d'étiquettes.


=SI(SOUS.TOTAL(3;zz)=NBVAL(zz);"";INDEX(zz;EQUIV(1;
SOUS.TOTAL(3;DECALER(zz;LIGNE(zz)-MIN(LIGNE
(zz));;1));0)))


Validation Matricielle : Maj + Ctrl + Enter


Salutations!


"jpm" a écrit dans
le message de news:d9b401c43aa8$21b67960

$
Hello everybody,

Je voudrais savoir comment récupérer la valeur de la
première cellule d'une colonne filtrée.
Exemple : Colonne A contient des noms et lorsque je
filtre

sur les noms, je veux pouvoir récupérer le nom de cette
personne, dans une autre cellule pour l'utiliser comme
critère dans une fonction Recherchev.
Je n'y arrive pas.... !!!!!
A chaque fois, il tient toujours compte des cellules
masquées.
J'ai même essayé avec sous total, mais comment lui dire
de

récupérer une valeur ????

D'avance merci pour votre aide, je craque !!!!


.