ADRESSE d'une valeur Max

Le
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 :
­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 !
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses Page 1 / 2
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
LSteph
Le #18639331
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 !



Fredo P.
Le #18639311
­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" 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 !



Fredo P.
Le #18639431
Attention, cette formule est valable que pour une valeur max en un seul
exemplaire cad sans doublon.
"Fredo P." 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"

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 !
>




garnote
Le #18639561
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"
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 !



Fredo P.
Le #18640001
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" 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 !



Fredo P.
Le #18640061
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" 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 !



Carim
Le #18640111
On Feb 11, 7:45 am, "Fredo P." 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" 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 +
LSteph
Le #18640101
;-) 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"
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 !







garnote
Le #18642311
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"
;-) 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"
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 !








Modeste
Le #18642781
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)
Publicité
Poster une réponse
Anonyme