Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

ADRESSE d'une valeur Max

20 réponses
Avatar
Stéphan DuQuébec
Bonjour à toutes & à tous,
Je bêche encore......
J'aimerais bien réussir à monter une fonction imbriquée pour tirer l'adresse
d'une cellule qui contienne la valeur MAX d'une plage donnée (ou même nommée).
Admettons la plage B5:P15 ou encore la plage nommée ZoneCible
Je tourne alentour de :
=ADRESSE(1;EQUIV(MAX(ZoneCible);5:15;0))

Mais bien évidemment, je n'ai aucun succès. Quelqu'un pourrait une nouvelle
fois me dépanner ?

Merci !

10 réponses

1 2
Avatar
LSteph
Bonjour,

Function aMax(laplage As Range) As String
Application.Volatile
Dim c As Range
For Each c In laplage
If c = WorksheetFunction.Max(laplage) Then
aMax = c.Address: Exit For
End If
Next
End Function

'lSteph


Stéphan DuQuébec a écrit :
Bonjour à toutes & à tous,
Je bêche encore......
J'aimerais bien réussir à monter une fonction imbriquée pour tirer l'adresse
d'une cellule qui contienne la valeur MAX d'une plage donnée (ou même nommée).
Admettons la plage B5:P15 ou encore la plage nommée ZoneCible
Je tourne alentour de :
­RESSE(1;EQUIV(MAX(ZoneCible);5:15;0))

Mais bien évidemment, je n'ai aucun succès. Quelqu'un pourrait une nouvelle
fois me dépanner ?

Merci !



Avatar
Fredo P.
­RESSE(SOMME((ZoneCible=MAX(ZoneCible))*LIGNE(ZoneCible));SOMME((ZoneCible
=MAX(ZoneCible
))*COLONNE(ZoneCible));1;1;"feuil1")
à valider avec Ctrl+Maj+Entrée (feuil1 à adapter)
"Stéphan DuQuébec" a écrit dans le
message de news:
Bonjour à toutes & à tous,
Je bêche encore......
J'aimerais bien réussir à monter une fonction imbriquée pour tirer


l'adresse
d'une cellule qui contienne la valeur MAX d'une plage donnée (ou même


nommée).
Admettons la plage B5:P15 ou encore la plage nommée ZoneCible
Je tourne alentour de :
­RESSE(1;EQUIV(MAX(ZoneCible);5:15;0))

Mais bien évidemment, je n'ai aucun succès. Quelqu'un pourrait une


nouvelle
fois me dépanner ?

Merci !



Avatar
Fredo P.
Attention, cette formule est valable que pour une valeur max en un seul
exemplaire cad sans doublon.
"Fredo P." <ponsinet.frederic363(oterça)orange.fr> a écrit dans le message
de news:



­RESSE(SOMME((ZoneCible=MAX(ZoneCible))*LIGNE(ZoneCible));SOMME((ZoneCible
=MAX(ZoneCible
))*COLONNE(ZoneCible));1;1;"feuil1")
à valider avec Ctrl+Maj+Entrée (feuil1 à adapter)
"Stéphan DuQuébec" a écrit dans


le
message de news:
> Bonjour à toutes & à tous,
> Je bêche encore......
> J'aimerais bien réussir à monter une fonction imbriquée pour tirer
l'adresse
> d'une cellule qui contienne la valeur MAX d'une plage donnée (ou même
nommée).
> Admettons la plage B5:P15 ou encore la plage nommée ZoneCible
> Je tourne alentour de :
> ­RESSE(1;EQUIV(MAX(ZoneCible);5:15;0))
>
> Mais bien évidemment, je n'ai aucun succès. Quelqu'un pourrait une
nouvelle
> fois me dépanner ?
>
> Merci !
>




Avatar
garnote
Salut Stéphan,

Je crois qu'il est plus simple d'utiliser une fonction personnalisée.
Celle-ci ne considère pas qu'une cellule vide vaut 0 et si toutes
les cellules sont vides, la fonction te renverra "La plage est vide."

Function admax(p As Range) As String
Dim c As Range, x As Boolean
For Each c In p
If c <> "" And c = Application.Max(p) Then
x = True
ad = c.Address
Exit For
End If
Next c
If x = True Then admax = ad Else admax = "La plage est vide."
End Function


Serge




"Stéphan DuQuébec" a écrit dans le message de news:

Bonjour à toutes & à tous,
Je bêche encore......
J'aimerais bien réussir à monter une fonction imbriquée pour tirer l'adresse
d'une cellule qui contienne la valeur MAX d'une plage donnée (ou même nommée).
Admettons la plage B5:P15 ou encore la plage nommée ZoneCible
Je tourne alentour de :
­RESSE(1;EQUIV(MAX(ZoneCible);5:15;0))

Mais bien évidemment, je n'ai aucun succès. Quelqu'un pourrait une nouvelle
fois me dépanner ?

Merci !



Avatar
Fredo P.
Celle-ci est signée AV
­RESSE(MIN(SI(Zonecible=MAX(Zonecible);LIGNE(Zonecible);""));COLONNE(Zonec
ible))
Toujours à valider avec Ctrl+Maj+Entrée

"Stéphan DuQuébec" a écrit dans le
message de news:
Bonjour à toutes & à tous,
Je bêche encore......
J'aimerais bien réussir à monter une fonction imbriquée pour tirer


l'adresse
d'une cellule qui contienne la valeur MAX d'une plage donnée (ou même


nommée).
Admettons la plage B5:P15 ou encore la plage nommée ZoneCible
Je tourne alentour de :
­RESSE(1;EQUIV(MAX(ZoneCible);5:15;0))

Mais bien évidemment, je n'ai aucun succès. Quelqu'un pourrait une


nouvelle
fois me dépanner ?

Merci !



Avatar
Fredo P.
Celle signée AV n'est valable que pour une plage d'une seule colonne, la
suivante répond à la question, elle est une synthèse de celle d'AV
­RESSE(MIN(SI(Zonecible=MAX(Zonecible);LIGNE(Zonecible);""));MIN(SI(Zoneci
ble=MAX(Zonecible);COLONNE(Zonecible);"")))
"Stéphan DuQuébec" a écrit dans le
message de news:
Bonjour à toutes & à tous,
Je bêche encore......
J'aimerais bien réussir à monter une fonction imbriquée pour tirer


l'adresse
d'une cellule qui contienne la valeur MAX d'une plage donnée (ou même


nommée).
Admettons la plage B5:P15 ou encore la plage nommée ZoneCible
Je tourne alentour de :
­RESSE(1;EQUIV(MAX(ZoneCible);5:15;0))

Mais bien évidemment, je n'ai aucun succès. Quelqu'un pourrait une


nouvelle
fois me dépanner ?

Merci !



Avatar
Carim
On Feb 11, 7:45 am, "Fredo P." <ponsinet.frederic363(oterça)orange.fr>
wrote:
Celle-ci est signée AV
­RESSE(MIN(SI(Zonecible=MAX(Zonecible);LIGNE(Zonecible);""));COLONN E(Zone­c
ible))
Toujours à valider avec Ctrl+Maj+Entrée

"Stéphan DuQuébec" a écri t dans le
message denews:



> Bonjour à toutes & à tous,
> Je bêche encore......
> J'aimerais bien réussir à monter une fonction imbriquée pour tire r
l'adresse
> d'une cellule qui contienne la valeur MAX d'une plage donnée (ou mê me
nommée).
> Admettons la plage B5:P15 ou encore la plage nommée ZoneCible
> Je tourne alentour de :
>  ­RESSE(1;EQUIV(MAX(ZoneCible);5:15;0))

> Mais bien évidemment, je n'ai aucun succès. Quelqu'un pourrait une
nouvelle
> fois me dépanner ?

> Merci !- Hide quoted text -

- Show quoted text -



Salut,
Tu es tout près ...
­RESSE(1;EQUIV(MAX(ZoneCible);(ZoneCible);0)+4;4)
A +
Avatar
LSteph
;-) Salut Serge,

regarde celle que j'ai proposé 48 minutes avant,
application.volatile permet qu'zelle se recalcule
quand aux vides ou en cas d'égalité c'est pas indispensable à gérer
si on suit le principe de la 1ère rencontrée qui contient la valeur max!
Soit parmi des 0 c'est le 1er 0.

HS(Au fait j'ai remis un truc sur le fil .point par virgule
en fait faut remplacer point par point et comme cela ca reste des nombres)

@+

--
lSteph

garnote a écrit :
Salut Stéphan,

Je crois qu'il est plus simple d'utiliser une fonction personnalisée.
Celle-ci ne considère pas qu'une cellule vide vaut 0 et si toutes
les cellules sont vides, la fonction te renverra "La plage est vide."

Function admax(p As Range) As String
Dim c As Range, x As Boolean
For Each c In p
If c <> "" And c = Application.Max(p) Then
x = True
ad = c.Address
Exit For
End If
Next c
If x = True Then admax = ad Else admax = "La plage est vide."
End Function


Serge




"Stéphan DuQuébec" a écrit dans le message de news:

Bonjour à toutes & à tous,
Je bêche encore......
J'aimerais bien réussir à monter une fonction imbriquée pour tirer l'adresse
d'une cellule qui contienne la valeur MAX d'une plage donnée (ou même nommée).
Admettons la plage B5:P15 ou encore la plage nommée ZoneCible
Je tourne alentour de :
­RESSE(1;EQUIV(MAX(ZoneCible);5:15;0))

Mais bien évidemment, je n'ai aucun succès. Quelqu'un pourrait une nouvelle
fois me dépanner ?

Merci !







Avatar
garnote
Ta fonction et la formule de AV-Fredo diffèrent de la mienne
quant au traitement des cellules vides.
Pour moi et ça devrait être ainsi pour Excel, une cellule vide,
ça tombe sous le sens, ne contient rien. Si elle ne contient rien,
elle ne contient sûrement pas un zéro.
Je vois les choses d'un point de vue mathématique.
Je considère la ZoneCible comme un ensemble et si cet
ensemble est vide, il est absurde d'y chercher un maximum
ou quoi que ce soit d'autre !
On pourrait changer la question :
Comment trouver l'adresse du maximum des valeurs entrées
dans une plage spécifique.

;-)))

Serge




"LSteph" a écrit dans le message de news: %
;-) Salut Serge,

regarde celle que j'ai proposé 48 minutes avant,
application.volatile permet qu'zelle se recalcule
quand aux vides ou en cas d'égalité c'est pas indispensable à gérer
si on suit le principe de la 1ère rencontrée qui contient la valeur max! Soit parmi des 0 c'est le 1er 0.

HS(Au fait j'ai remis un truc sur le fil .point par virgule
en fait faut remplacer point par point et comme cela ca reste des nombres)

@+

--
lSteph

garnote a écrit :
Salut Stéphan,

Je crois qu'il est plus simple d'utiliser une fonction personnalisée.
Celle-ci ne considère pas qu'une cellule vide vaut 0 et si toutes
les cellules sont vides, la fonction te renverra "La plage est vide."

Function admax(p As Range) As String
Dim c As Range, x As Boolean
For Each c In p
If c <> "" And c = Application.Max(p) Then
x = True
ad = c.Address
Exit For
End If
Next c
If x = True Then admax = ad Else admax = "La plage est vide."
End Function


Serge




"Stéphan DuQuébec" a écrit dans le message de news:

Bonjour à toutes & à tous,
Je bêche encore......
J'aimerais bien réussir à monter une fonction imbriquée pour tirer l'adresse
d'une cellule qui contienne la valeur MAX d'une plage donnée (ou même nommée).
Admettons la plage B5:P15 ou encore la plage nommée ZoneCible
Je tourne alentour de :
­RESSE(1;EQUIV(MAX(ZoneCible);5:15;0))

Mais bien évidemment, je n'ai aucun succès. Quelqu'un pourrait une nouvelle
fois me dépanner ?

Merci !








Avatar
Modeste
Bonsour® garnote

Pour moi et ça devrait être ainsi pour Excel, une cellule vide,
ça tombe sous le sens, ne contient rien. Si elle ne contient rien,
elle ne contient sûrement pas un zéro.



;o)))
hélas .....

1 - supposons un classeur vierge ( fichier Nouveau)
écrivons en A10 (au hasard) : = A1
qu'affiche allégrement Excel en A10 ??? ;o)))

2 - ;o))) et pourtant =ESTVIDE(A1) et ESTNUM(A1)

3 - en echo au récent fil : SOMMEPROD
SOMMEPROD affecte aux entrées de matrice non numériques la valeur zéro.
en A20 =SOMMEPROD(A1:A5)

ecrivons maintenant en A1 : 5
;o)))

EXCEL à été conçu avec une logique humaine...
et je ne t'apprendrais donc rien trés cher prof de maths ;o))
quant à la modélisation mathématique de cette logique humaine....
;o))) tu remarqueras que je m'abstiens même d'évoquer la moindre difference génétique (masculine ou féminine)
1 2