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
gmlsteph
Bonjour,
Je ne vois pas en quoi cela distingue ou pas vide de zero
en l'occurence on renvoie une adresse pas une valeur
Si trois enfants en terme de billes n'ont rien
le maximum qu'on puisse trouver dans cet ensemble est rien (ou zero
billes pour ceux qui l'admettent).
Ensuite savoir quelle adresse ramener
la logique appliquée en informatique est bien plus simple qu'en
mathématiques
lorsqu'une cellule ne peut renvoyer qu'une valeur dans matrice selon
les cas on aura la première ou un code erreur.
Si tout le monde a 0 chez moi 0 est le maximum
si tout le monde à 1 le maximum est 1
le choix de la 1ère adresse est donc totalement arbitraire j'en
conviens!

Amicordialement.

--
lSteph
On 11 fév, 11:51, "garnote" wrote:
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: %23v5n



> ;-) 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 nombr es)

> @+

> --
> 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 e st 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 ti rer 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 un e nouvelle
>>> fois me dépanner ?

>>> Merci !- Masquer le texte des messages précédents -

- Afficher le texte des messages précédents -


Avatar
michdenis
Une cellule c'est comme une variable de type Variant en VBA,
on peut y mettre ce que l'on veut et excel se charge d'identifier
le type de données que l'on a saisi.
Le machin truc : = A1 et la cellule affiche 0, je crois que les
programmeurs avaient le choix entre indiquer "" ou 0
en choisissant 0, l'usager voit un résultat , voir une formule,
en retournant "" l'usager peut - pourrait avoir du mal à s'y
retrouver.

On a toujours le loisir de définir ses propres formats de cellules
avant de débuter la saisie.



"Modeste" a écrit dans le message de groupe de discussion :

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)
Avatar
garnote
;-)

Ma fonction calcule le maximum des nombres
ENTRÉES dans la plage et donne son adresse.
Alors si la plage est vide, elle ne calcule rien du tout
et l'adresse du maximum est inexistante.

Pour le plaisir et dans la même veine que Modeste :
Si A1 ne contient rien,
=ESTNUM(A1) renvoie FAUX, donc A1 n'est pas
égal à 0 puisque 0 est numérique.
Pourtant ¡=0 renvoie VRAI.

Et pour finir, un petit texte amusant :

Zéro et 1 sont des chiffres malheureux...
2, 3, 4, 5, 6, 7, 8, 9 se moquent d'eux !

"Toi, le zéro t'es vraiment trop rond !"
"Et toi, le 1, t'es maigre comme un clou !"

Zéro veut s'expliquer gentiment.
Il s'approche d'eux mais rien n'y fait :"Ah, le gros...ah, le gros..." ricanent 6 et 9, pourtant bien joufflus.

Courageusement, 1 veut défendre 0 et s'approche de 2...; étonnement général. 1 près de 2 devient 12, près de 3 devient 13
et ainsi de suite avec les autres : 14, 15, 16, 17, 18, 19.

"Quelles transformation, avouent tous les chiffres, grâce à toi, on est plus grands et plus forts !"

Alors, 1 s'approche doucement de 0 et devient 10.

Quelle leçon !
"Le zéro , c'est pas rien", s'écrient-ils.

Emerveillés, les chiffres sont tout heureux dans la grande famille des nombres...
Là où ils peuvent grandir, grandir....

auteur inconnu


Serge


a écrit dans le message de news:
Bonjour,
Je ne vois pas en quoi cela distingue ou pas vide de zero
en l'occurence on renvoie une adresse pas une valeur
Si trois enfants en terme de billes n'ont rien
le maximum qu'on puisse trouver dans cet ensemble est rien (ou zero
billes pour ceux qui l'admettent).
Ensuite savoir quelle adresse ramener
la logique appliquée en informatique est bien plus simple qu'en
mathématiques
lorsqu'une cellule ne peut renvoyer qu'une valeur dans matrice selon
les cas on aura la première ou un code erreur.
Si tout le monde a 0 chez moi 0 est le maximum
si tout le monde à 1 le maximum est 1
le choix de la 1ère adresse est donc totalement arbitraire j'en
conviens!

Amicordialement.

--
lSteph
On 11 fév, 11:51, "garnote" wrote:
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 !- Masquer le texte des messages précédents -

- Afficher le texte des messages précédents -


Avatar
Stéphan DuQuébec
Wow !!!!!
Bonjour et merci à vous tous, si généreux de votre temps. Je ne pensais pas
créer une telle discussion philosophique mais pour apaiser les différents,
sachez qu'en aucun cas, les cellules de ma ZoneCible ne seront vides. Elles
auront toujours une valeur, mises à jour quotidiennement. Mais dans les 13
réponses à ma question, j'y vois plusieurs possibilités que j'utiliserai à
bon escient. Merci encore.
Avatar
Stéphan DuQuébec
Malgré que plusieurs solusses partagées dans cette ficelle fonctionnent, je
trouvais la vôtre particulièrement intéressante puisque je désirais éviter le
VBA puisque mon fichier est destiné à des utilisateurs "fragiles" (obligation
d'accepter les macros en début de script et tout le tralala....). Mais
demeure un léger problème, ma plage nommée comporte une plage de cellules non
contigues. C'est un regroupement des colonnes A-C-E-G-I-J entre les lignes 5
et 500. Votre fonction roule à merveille lorsque la zone nommée comporte un
bloc de cellules adjacentes mais rencontre un os lorsque la plage est
"customizée" autrement. Est-ce trop impoli de vous relancer sur une façon de
contourner cet os ?
Avatar
Fredo P.
Bonjour
Les plages nommées le permet en séparant ces plages par :
­RESSE(MIN(SI(Zonecible:plage:plg=MAX(Zonecible:plage:plg);LIGNE(Zonecible
:plage:plg);""));MIN(SI(Zonecible:plage:plg=MAX(Zonecible:plage:plg);COLONNE
(Zonecible:plage:plg);"")))

"Stéphan DuQuébec" a écrit dans le
message de news:
Malgré que plusieurs solusses partagées dans cette ficelle fonctionnent,


je
trouvais la vôtre particulièrement intéressante puisque je désirais éviter


le
VBA puisque mon fichier est destiné à des utilisateurs "fragiles"


(obligation
d'accepter les macros en début de script et tout le tralala....). Mais
demeure un léger problème, ma plage nommée comporte une plage de cellules


non
contigues. C'est un regroupement des colonnes A-C-E-G-I-J entre les lignes


5
et 500. Votre fonction roule à merveille lorsque la zone nommée comporte


un
bloc de cellules adjacentes mais rencontre un os lorsque la plage est
"customizée" autrement. Est-ce trop impoli de vous relancer sur une façon


de
contourner cet os ?


Avatar
Fredo P.
"> Les plages nommées le permet en séparant ces plages par :



­RESSE(MIN(SI(Zonecible:plage:plg=MAX(Zonecible:plage:plg);LIGNE(Zonecible



:plage:plg);""));MIN(SI(Zonecible:plage:plg=MAX(Zonecible:plage:plg);COLONNE
(Zonecible:plage:plg);"")))


Mais, je viens à l'instant de le voir, cette association de plages se
comporte comme une seule, toutes cellules en dehors de ces plages et situées
dans l'emprise mini/maxi des lignes et colonnes de ces mêmes plages sont
aussi captées par la formule. Donc cela ne serait à priori pas ce que tu
souhaites.
Avatar
LSteph
Bonjour Serge,

..maintenant que Stephan a eu sa réponse, je relis ton propos

Par cette petite histoire tout à fait plaisante j'en conviens
On pourrait croire que tu aurais supposé que je ne distingue pas la
nuance entre zéro et rien. (je m'en insurge )

Pour moi il en a toujours été ainsi de ne pas les confondre, même si
dans certains cas cela n'aurait aucune importance.

Ce que j'en disais d'ailleurs
par rapport à l'objectif de renvoyer une adresse

Je ne vois pas en quoi cela distingue ou pas vide de zero





Amicordialement.

--
lSteph

garnote a écrit :
;-)

Ma fonction calcule le maximum des nombres
ENTRÉES dans la plage et donne son adresse.
Alors si la plage est vide, elle ne calcule rien du tout
et l'adresse du maximum est inexistante.

Pour le plaisir et dans la même veine que Modeste :
Si A1 ne contient rien,
=ESTNUM(A1) renvoie FAUX, donc A1 n'est pas
égal à 0 puisque 0 est numérique.
Pourtant ¡=0 renvoie VRAI.

Et pour finir, un petit texte amusant :

Zéro et 1 sont des chiffres malheureux...
2, 3, 4, 5, 6, 7, 8, 9 se moquent d'eux !

"Toi, le zéro t'es vraiment trop rond !"
"Et toi, le 1, t'es maigre comme un clou !"

Zéro veut s'expliquer gentiment.
Il s'approche d'eux mais rien n'y fait :"Ah, le gros...ah, le gros..." ricanent 6 et 9, pourtant bien joufflus.

Courageusement, 1 veut défendre 0 et s'approche de 2...; étonnement général. 1 près de 2 devient 12, près de 3 devient 13
et ainsi de suite avec les autres : 14, 15, 16, 17, 18, 19.

"Quelles transformation, avouent tous les chiffres, grâce à toi, on est plus grands et plus forts !"

Alors, 1 s'approche doucement de 0 et devient 10.

Quelle leçon !
"Le zéro , c'est pas rien", s'écrient-ils.

Emerveillés, les chiffres sont tout heureux dans la grande famille des nombres...
Là où ils peuvent grandir, grandir....

auteur inconnu


Serge


a écrit dans le message de news:
Bonjour,
Je ne vois pas en quoi cela distingue ou pas vide de zero
en l'occurence on renvoie une adresse pas une valeur
Si trois enfants en terme de billes n'ont rien
le maximum qu'on puisse trouver dans cet ensemble est rien (ou zero
billes pour ceux qui l'admettent).
Ensuite savoir quelle adresse ramener
la logique appliquée en informatique est bien plus simple qu'en
mathématiques
lorsqu'une cellule ne peut renvoyer qu'une valeur dans matrice selon
les cas on aura la première ou un code erreur.
Si tout le monde a 0 chez moi 0 est le maximum
si tout le monde à 1 le maximum est 1
le choix de la 1ère adresse est donc totalement arbitraire j'en
conviens!

Amicordialement.

--
lSteph
On 11 fév, 11:51, "garnote" wrote:
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 !- Masquer le texte des messages précédents -






- Afficher le texte des messages précédents -






Avatar
garnote
Bonjour Stéphane,

On pourrait croire que tu aurais supposé que je ne distingue pas la nuance entre zéro et rien


Mais mais non ;-)

C'est moi qui m'énerve avec ces maudites cellules vides, autant
que tu t'énerves quand il s'agit de cellules fusionnées ;-)))

A+
Serge


"LSteph" a écrit dans le message de news: %236F%
Bonjour Serge,

..maintenant que Stephan a eu sa réponse, je relis ton propos

Par cette petite histoire tout à fait plaisante j'en conviens
On pourrait croire que tu aurais supposé que je ne distingue pas la nuance entre zéro et rien. (je m'en insurge )

Pour moi il en a toujours été ainsi de ne pas les confondre, même si dans certains cas cela n'aurait aucune importance.

Ce que j'en disais d'ailleurs
par rapport à l'objectif de renvoyer une adresse

Je ne vois pas en quoi cela distingue ou pas vide de zero





Amicordialement.

--
lSteph

garnote a écrit :
;-)

Ma fonction calcule le maximum des nombres
ENTRÉES dans la plage et donne son adresse.
Alors si la plage est vide, elle ne calcule rien du tout
et l'adresse du maximum est inexistante.

Pour le plaisir et dans la même veine que Modeste :
Si A1 ne contient rien,
=ESTNUM(A1) renvoie FAUX, donc A1 n'est pas
égal à 0 puisque 0 est numérique.
Pourtant ¡=0 renvoie VRAI.

Et pour finir, un petit texte amusant :

Zéro et 1 sont des chiffres malheureux...
2, 3, 4, 5, 6, 7, 8, 9 se moquent d'eux !

"Toi, le zéro t'es vraiment trop rond !"
"Et toi, le 1, t'es maigre comme un clou !"

Zéro veut s'expliquer gentiment.
Il s'approche d'eux mais rien n'y fait :"Ah, le gros...ah, le gros..." ricanent 6 et 9, pourtant bien joufflus.

Courageusement, 1 veut défendre 0 et s'approche de 2...; étonnement général. 1 près de 2 devient 12, près de 3 devient
13 et ainsi de suite avec les autres : 14, 15, 16, 17, 18, 19.

"Quelles transformation, avouent tous les chiffres, grâce à toi, on est plus grands et plus forts !"

Alors, 1 s'approche doucement de 0 et devient 10.

Quelle leçon !
"Le zéro , c'est pas rien", s'écrient-ils.

Emerveillés, les chiffres sont tout heureux dans la grande famille des nombres...
Là où ils peuvent grandir, grandir....

auteur inconnu


Serge


a écrit dans le message de news:
Bonjour,
Je ne vois pas en quoi cela distingue ou pas vide de zero
en l'occurence on renvoie une adresse pas une valeur
Si trois enfants en terme de billes n'ont rien
le maximum qu'on puisse trouver dans cet ensemble est rien (ou zero
billes pour ceux qui l'admettent).
Ensuite savoir quelle adresse ramener
la logique appliquée en informatique est bien plus simple qu'en
mathématiques
lorsqu'une cellule ne peut renvoyer qu'une valeur dans matrice selon
les cas on aura la première ou un code erreur.
Si tout le monde a 0 chez moi 0 est le maximum
si tout le monde à 1 le maximum est 1
le choix de la 1ère adresse est donc totalement arbitraire j'en
conviens!

Amicordialement.

--
lSteph
On 11 fév, 11:51, "garnote" wrote:
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 !- Masquer le texte des messages précédents -






- Afficher le texte des messages précédents -







Avatar
LSteph
;-))
argument de choc!

Amitiés.

--
Stéphane.


garnote a écrit :
Bonjour Stéphane,

On pourrait croire que tu aurais supposé que je ne distingue pas la nuance entre zéro et rien


Mais mais non ;-)

C'est moi qui m'énerve avec ces maudites cellules vides, autant
que tu t'énerves quand il s'agit de cellules fusionnées ;-)))

A+
Serge


"LSteph" a écrit dans le message de news: %236F%
Bonjour Serge,

..maintenant que Stephan a eu sa réponse, je relis ton propos

Par cette petite histoire tout à fait plaisante j'en conviens
On pourrait croire que tu aurais supposé que je ne distingue pas la nuance entre zéro et rien. (je m'en insurge )

Pour moi il en a toujours été ainsi de ne pas les confondre, même si dans certains cas cela n'aurait aucune importance.

Ce que j'en disais d'ailleurs
par rapport à l'objectif de renvoyer une adresse

Je ne vois pas en quoi cela distingue ou pas vide de zero




Amicordialement.

--
lSteph

garnote a écrit :
;-)

Ma fonction calcule le maximum des nombres
ENTRÉES dans la plage et donne son adresse.
Alors si la plage est vide, elle ne calcule rien du tout
et l'adresse du maximum est inexistante.

Pour le plaisir et dans la même veine que Modeste :
Si A1 ne contient rien,
=ESTNUM(A1) renvoie FAUX, donc A1 n'est pas
égal à 0 puisque 0 est numérique.
Pourtant ¡=0 renvoie VRAI.

Et pour finir, un petit texte amusant :

Zéro et 1 sont des chiffres malheureux...
2, 3, 4, 5, 6, 7, 8, 9 se moquent d'eux !

"Toi, le zéro t'es vraiment trop rond !"
"Et toi, le 1, t'es maigre comme un clou !"

Zéro veut s'expliquer gentiment.
Il s'approche d'eux mais rien n'y fait :"Ah, le gros...ah, le gros..." ricanent 6 et 9, pourtant bien joufflus.

Courageusement, 1 veut défendre 0 et s'approche de 2...; étonnement général. 1 près de 2 devient 12, près de 3 devient
13 et ainsi de suite avec les autres : 14, 15, 16, 17, 18, 19.

"Quelles transformation, avouent tous les chiffres, grâce à toi, on est plus grands et plus forts !"

Alors, 1 s'approche doucement de 0 et devient 10.

Quelle leçon !
"Le zéro , c'est pas rien", s'écrient-ils.

Emerveillés, les chiffres sont tout heureux dans la grande famille des nombres...
Là où ils peuvent grandir, grandir....

auteur inconnu


Serge


a écrit dans le message de news:
Bonjour,
Je ne vois pas en quoi cela distingue ou pas vide de zero
en l'occurence on renvoie une adresse pas une valeur
Si trois enfants en terme de billes n'ont rien
le maximum qu'on puisse trouver dans cet ensemble est rien (ou zero
billes pour ceux qui l'admettent).
Ensuite savoir quelle adresse ramener
la logique appliquée en informatique est bien plus simple qu'en
mathématiques
lorsqu'une cellule ne peut renvoyer qu'une valeur dans matrice selon
les cas on aura la première ou un code erreur.
Si tout le monde a 0 chez moi 0 est le maximum
si tout le monde à 1 le maximum est 1
le choix de la 1ère adresse est donc totalement arbitraire j'en
conviens!

Amicordialement.

--
lSteph
On 11 fév, 11:51, "garnote" wrote:
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 !- Masquer le texte des messages précédents -






- Afficher le texte des messages précédents -









1 2