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

variable = maximum

10 réponses
Avatar
Céline
bonjour,

j'ai besoin de monter une macro, dont la variable sera le montant maximum
parmis 5 montants figurant dans des cellules nommées, comment faire cette
recherche par macro, config :

MaVariable = Maximum entre les cellules "bureaux", "habitation","
commerces", etc

Mais ensuite j'ai besoin de connaître quelle est la cellule qui contient la
plus grande valeur car ensuite j'ai besoin d'ajouter une autre variable à la
somme la plus grande.
En fait il faut faire une recherche parmi mes cellules et MaVarible est la
plus grande valeur parmis mes cellules, je ne peux pas utiliser de n° de
lignes car ceux-là seront différents donc on s'appuie sur les noms des
cellules.

Si vous avez une idée merci beaucoup

10 réponses

Avatar
PierreB
Bjr,

Pourquoi ne pas utiliser une cellule intermediaire utilisant la fonction
"MAX"; cette colonne (ou ligne) pourra etre cachée, mais la valeur maximale
sera toujours au meme endroit et il sera facile d'y ajouter autre chose ...

Pierre


"Céline" a écrit dans le message de news:

bonjour,

j'ai besoin de monter une macro, dont la variable sera le montant maximum
parmis 5 montants figurant dans des cellules nommées, comment faire cette
recherche par macro, config :

MaVariable = Maximum entre les cellules "bureaux", "habitation","
commerces", etc

Mais ensuite j'ai besoin de connaître quelle est la cellule qui contient
la
plus grande valeur car ensuite j'ai besoin d'ajouter une autre variable à
la
somme la plus grande.
En fait il faut faire une recherche parmi mes cellules et MaVarible est la
plus grande valeur parmis mes cellules, je ne peux pas utiliser de n° de
lignes car ceux-là seront différents donc on s'appuie sur les noms des
cellules.

Si vous avez une idée merci beaucoup




Avatar
AV
Parmi qques possiblités (à adapter):

Sub zz_leMax()
tabl1 = Array([bureaux], [habitation], [commerces])
tabl2 = Array("bureaux", "habitation", "commerces")
'le max
leMax = Application.Max(tabl1)
'l'adresse du Max
adMax = Range(Application.Index(tabl2, Application.Match(leMax, tabl1,
0))).Address
End Sub

AV
Avatar
JB
Bonjour,

Champ nommé Dépenses:

pos = Application.Match(Application.Max([dépenses]), [dépenses], 0)
' position
Range("dépenses")(pos) = Range("dépenses")(pos) +
xxxxx ' ajout

JB

On 15 juin, 09:02, Céline wrote:
bonjour,

j'ai besoin de monter une macro, dont la variable sera le montant maximum
parmis 5 montants figurant dans des cellules nommées, comment faire cet te
recherche par macro, config :

MaVariable = Maximum entre les cellules "bureaux", "habitation","
commerces", etc

Mais ensuite j'ai besoin de connaître quelle est la cellule qui contien t la
plus grande valeur car ensuite j'ai besoin d'ajouter une autre variable à la
somme la plus grande.
En fait il faut faire une recherche parmi mes cellules et MaVarible est la
plus grande valeur parmis mes cellules, je ne peux pas utiliser de n° de
lignes car ceux-là seront différents donc on s'appuie sur les noms des
cellules.

Si vous avez une idée merci beaucoup


Avatar
Daniel
Bonjour.
La macro suivante ajoute 45 à la cellule max :

Sub test()
Var = Application.Max([toto], [titi], [tata])
Cellule = Application.Match(Var, Union([toto], [titi], [tata]), 0)
Union([toto], [titi], [tata])(Cellule) = _
Union([toto], [titi], [tata])(Cellule) + 45
End Sub

Cordialement.
Daniel
"Céline" a écrit dans le message de news:

bonjour,

j'ai besoin de monter une macro, dont la variable sera le montant maximum
parmis 5 montants figurant dans des cellules nommées, comment faire cette
recherche par macro, config :

MaVariable = Maximum entre les cellules "bureaux", "habitation","
commerces", etc

Mais ensuite j'ai besoin de connaître quelle est la cellule qui contient
la
plus grande valeur car ensuite j'ai besoin d'ajouter une autre variable à
la
somme la plus grande.
En fait il faut faire une recherche parmi mes cellules et MaVarible est la
plus grande valeur parmis mes cellules, je ne peux pas utiliser de n° de
lignes car ceux-là seront différents donc on s'appuie sur les noms des
cellules.

Si vous avez une idée merci beaucoup




Avatar
Céline
Bonjour Pierre

Non parce que la valeur que j'ai a ajouter n'est pas à ajouter au montant
extrait, mais la cellule nommée par exemple si "bureaux" est la cellule
contenant la valeur la plus grande ma deuxième variable est à ajouter à
bureaux.

Céline


Bjr,

Pourquoi ne pas utiliser une cellule intermediaire utilisant la fonction
"MAX"; cette colonne (ou ligne) pourra etre cachée, mais la valeur maximale
sera toujours au meme endroit et il sera facile d'y ajouter autre chose ...

Pierre


"Céline" a écrit dans le message de news:

bonjour,

j'ai besoin de monter une macro, dont la variable sera le montant maximum
parmis 5 montants figurant dans des cellules nommées, comment faire cette
recherche par macro, config :

MaVariable = Maximum entre les cellules "bureaux", "habitation","
commerces", etc

Mais ensuite j'ai besoin de connaître quelle est la cellule qui contient
la
plus grande valeur car ensuite j'ai besoin d'ajouter une autre variable à
la
somme la plus grande.
En fait il faut faire une recherche parmi mes cellules et MaVarible est la
plus grande valeur parmis mes cellules, je ne peux pas utiliser de n° de
lignes car ceux-là seront différents donc on s'appuie sur les noms des
cellules.

Si vous avez une idée merci beaucoup









Avatar
Céline
Merci JB
j'ai compris le début pour la fin je patauge un peu, mais je viens de
regarder la proposotion de Daniel qui pour moi est plus explicite, maintenant
peut être que ta fin est plus rapide que celle de Daniel, j'étudierais les
deux.

Merci beaucoup


Bonjour,

Champ nommé Dépenses:

pos = Application.Match(Application.Max([dépenses]), [dépenses], 0)
' position
Range("dépenses")(pos) = Range("dépenses")(pos) +
xxxxx ' ajout

JB

On 15 juin, 09:02, Céline wrote:
bonjour,

j'ai besoin de monter une macro, dont la variable sera le montant maximum
parmis 5 montants figurant dans des cellules nommées, comment faire cette
recherche par macro, config :

MaVariable = Maximum entre les cellules "bureaux", "habitation","
commerces", etc

Mais ensuite j'ai besoin de connaître quelle est la cellule qui contient la
plus grande valeur car ensuite j'ai besoin d'ajouter une autre variable à la
somme la plus grande.
En fait il faut faire une recherche parmi mes cellules et MaVarible est la
plus grande valeur parmis mes cellules, je ne peux pas utiliser de n° de
lignes car ceux-là seront différents donc on s'appuie sur les noms des
cellules.

Si vous avez une idée merci beaucoup







Avatar
Céline
Merci beaucoup Daniel
c'est exactement ce que j'avais besoin,
je vais la tester et je te tiens au courant

encore merci


Bonjour.
La macro suivante ajoute 45 à la cellule max :

Sub test()
Var = Application.Max([toto], [titi], [tata])
Cellule = Application.Match(Var, Union([toto], [titi], [tata]), 0)
Union([toto], [titi], [tata])(Cellule) = _
Union([toto], [titi], [tata])(Cellule) + 45
End Sub

Cordialement.
Daniel
"Céline" a écrit dans le message de news:

bonjour,

j'ai besoin de monter une macro, dont la variable sera le montant maximum
parmis 5 montants figurant dans des cellules nommées, comment faire cette
recherche par macro, config :

MaVariable = Maximum entre les cellules "bureaux", "habitation","
commerces", etc

Mais ensuite j'ai besoin de connaître quelle est la cellule qui contient
la
plus grande valeur car ensuite j'ai besoin d'ajouter une autre variable à
la
somme la plus grande.
En fait il faut faire une recherche parmi mes cellules et MaVarible est la
plus grande valeur parmis mes cellules, je ne peux pas utiliser de n° de
lignes car ceux-là seront différents donc on s'appuie sur les noms des
cellules.

Si vous avez une idée merci beaucoup









Avatar
Céline
Super Daniel, c'est de bombe !!!!!!
merci


Merci beaucoup Daniel
c'est exactement ce que j'avais besoin,
je vais la tester et je te tiens au courant

encore merci


Bonjour.
La macro suivante ajoute 45 à la cellule max :

Sub test()
Var = Application.Max([toto], [titi], [tata])
Cellule = Application.Match(Var, Union([toto], [titi], [tata]), 0)
Union([toto], [titi], [tata])(Cellule) = _
Union([toto], [titi], [tata])(Cellule) + 45
End Sub

Cordialement.
Daniel
"Céline" a écrit dans le message de news:

bonjour,

j'ai besoin de monter une macro, dont la variable sera le montant maximum
parmis 5 montants figurant dans des cellules nommées, comment faire cette
recherche par macro, config :

MaVariable = Maximum entre les cellules "bureaux", "habitation","
commerces", etc

Mais ensuite j'ai besoin de connaître quelle est la cellule qui contient
la
plus grande valeur car ensuite j'ai besoin d'ajouter une autre variable à
la
somme la plus grande.
En fait il faut faire une recherche parmi mes cellules et MaVarible est la
plus grande valeur parmis mes cellules, je ne peux pas utiliser de n° de
lignes car ceux-là seront différents donc on s'appuie sur les noms des
cellules.

Si vous avez une idée merci beaucoup











Avatar
Céline
Merci AV

je viens de mettre en place la prosition de Daniel et ça marche, je garde la
tienne comme celle de JB et dès que j'ai un peu de temps je les comparerais
pour voir laquelle est la plus simple.

Je vous remercie encore une fois à tous


Parmi qques possiblités (à adapter):

Sub zz_leMax()
tabl1 = Array([bureaux], [habitation], [commerces])
tabl2 = Array("bureaux", "habitation", "commerces")
'le max
leMax = Application.Max(tabl1)
'l'adresse du Max
adMax = Range(Application.Index(tabl2, Application.Match(leMax, tabl1,
0))).Address
End Sub

AV





Avatar
AV
je viens de mettre en place la prosition de Daniel et ça marche,


Hum, hum...si on veut...
.....T'as pas du essayer avec des plages discontinues ...
Exemple: [toto] en A1, [titi] en B1 et [tata] en D1
;-)

AV