OVH Cloud OVH Cloud

[VBA] adresse d'un max d'une zone

11 réponses
Avatar
twinley
Bonsoir à tous,

Comment puis je obtenir , d'abord dans une variable puis dans une cellule,
la référence L & C de la cellule ou se trouve la maximum d'un range ?

j'ai tenté de fusionner

Range("E2").FormulaLocal = [=MAX(A1:A20)]





avec

toto = activecell.address


J'ai besoin le faire le max d'un range référencé en cells( L,C ) et non pas
en A1:A20, sans m'occupé de la position du focus.
activecell.address donne un résultat "$G$4 dans une var. Est-ce possible de
l'avoir sous la forme : cells (4, 7) ?
Je mélange, je touille, je cafouille et la sauce prend pas.

Merci pour votre aide

--
à+twinley

10 réponses

1 2
Avatar
isabelle
bonjour twinley,

AddrComplete = Evaluate("ADDRESS(MATCH(MAX(A1:A10),A1:A10,0),1)")
ligne = Evaluate("MATCH(MAX(A1:A10),A1:A10,0)")

isabelle


Bonsoir à tous,

Comment puis je obtenir , d'abord dans une variable puis dans une cellule,
la référence L & C de la cellule ou se trouve la maximum d'un range ?

j'ai tenté de fusionner

Range("E2").FormulaLocal = [=MAX(A1:A20)]

avec

toto = activecell.address

J'ai besoin le faire le max d'un range référencé en cells( L,C ) et non pas
en A1:A20, sans m'occupé de la position du focus.
activecell.address donne un résultat "$G$4 dans une var. Est-ce possible de
l'avoir sous la forme : cells (4, 7) ?
Je mélange, je touille, je cafouille et la sauce prend pas.

Merci pour votre aide

--
à+twinley


Avatar
Vincent.
Avec Find je pense :
non testé !!!
dim LesMax As Range
Set LesMax= PlageATester.Find([=MAX(A1:A20)], _
lookin:=xlValues)
If Not LesMax Is Nothing Then
Do
Set LesMax = Union(LesMax , _
PlageATester.FindNext(LesMax))
Loop While Not LesMax Is Nothing And _
LesMax.Address <> firstAddress
End If

mais ça devrait le faire, non?
A+

-----Message d'origine-----
Bonsoir à tous,

Comment puis je obtenir , d'abord dans une variable puis
dans une cellule,

la référence L & C de la cellule ou se trouve la maximum
d'un range ?


j'ai tenté de fusionner

Range("E2").FormulaLocal = [=MAX(A1:A20)]





avec

toto = activecell.address


J'ai besoin le faire le max d'un range référencé en cells
( L,C ) et non pas

en A1:A20, sans m'occupé de la position du focus.
activecell.address donne un résultat "$G$4 dans une var.
Est-ce possible de

l'avoir sous la forme : cells (4, 7) ?
Je mélange, je touille, je cafouille et la sauce prend
pas.


Merci pour votre aide

--
à+twinley


.



Avatar
twinley
Bonsoir Isabelle,

oh, je ne risquais pas de trouver la solution...
Tu es une choute. Merci.
A la place de (A1:A10) peut-on mettre quelque chose qui dise cells(1,1) to
cells(10,1) ?
histoire de mettre des variables.
--
à+twinley
"isabelle" a écrit dans le message de
news:
bonjour twinley,

AddrComplete = Evaluate("ADDRESS(MATCH(MAX(A1:A10),A1:A10,0),1)")
ligne = Evaluate("MATCH(MAX(A1:A10),A1:A10,0)")

isabelle


Bonsoir à tous,

Comment puis je obtenir , d'abord dans une variable puis dans une
cellule,


la référence L & C de la cellule ou se trouve la maximum d'un range ?

j'ai tenté de fusionner

Range("E2").FormulaLocal = [=MAX(A1:A20)]

avec

toto = activecell.address

J'ai besoin le faire le max d'un range référencé en cells( L,C ) et non
pas


en A1:A20, sans m'occupé de la position du focus.
activecell.address donne un résultat "$G$4 dans une var. Est-ce possible
de


l'avoir sous la forme : cells (4, 7) ?
Je mélange, je touille, je cafouille et la sauce prend pas.

Merci pour votre aide

--
à+twinley




Avatar
isabelle
si si,

Range(Cells(lign1, col), Cells(lign2, col))

isabelle


Bonsoir Isabelle,

oh, je ne risquais pas de trouver la solution...
Tu es une choute. Merci.
A la place de (A1:A10) peut-on mettre quelque chose qui dise cells(1,1) to
cells(10,1) ?
histoire de mettre des variables.
--
à+twinley
"isabelle" a écrit dans le message de
news:
bonjour twinley,

AddrComplete = Evaluate("ADDRESS(MATCH(MAX(A1:A10),A1:A10,0),1)")
ligne = Evaluate("MATCH(MAX(A1:A10),A1:A10,0)")

isabelle


Bonsoir à tous,

Comment puis je obtenir , d'abord dans une variable puis dans une
cellule,


la référence L & C de la cellule ou se trouve la maximum d'un range ?

j'ai tenté de fusionner

Range("E2").FormulaLocal = [=MAX(A1:A20)]

avec

toto = activecell.address

J'ai besoin le faire le max d'un range référencé en cells( L,C ) et non
pas


en A1:A20, sans m'occupé de la position du focus.
activecell.address donne un résultat "$G$4 dans une var. Est-ce possible
de


l'avoir sous la forme : cells (4, 7) ?
Je mélange, je touille, je cafouille et la sauce prend pas.

Merci pour votre aide

--
à+twinley






Avatar
twinley
Bonsoir Vincent

merci pour ta solution.
il y a une "err d'exec 424 objet requis" que je ne sais pas corriger...sur
la ligne
Set LesMax= PlageATester.Find([=MAX(A1:A20)], lookin:=xlValues)

?
--
à+twinley
"Vincent." a écrit dans le message de
news:5e8801c474d6$d65d5240$
Avec Find je pense :
non testé !!!
dim LesMax As Range
Set LesMax= PlageATester.Find([=MAX(A1:A20)], _
lookin:=xlValues)
If Not LesMax Is Nothing Then
Do
Set LesMax = Union(LesMax , _
PlageATester.FindNext(LesMax))
Loop While Not LesMax Is Nothing And _
LesMax.Address <> firstAddress
End If

mais ça devrait le faire, non?
A+

-----Message d'origine-----
Bonsoir à tous,

Comment puis je obtenir , d'abord dans une variable puis
dans une cellule,

la référence L & C de la cellule ou se trouve la maximum
d'un range ?


j'ai tenté de fusionner

Range("E2").FormulaLocal = [=MAX(A1:A20)]





avec

toto = activecell.address


J'ai besoin le faire le max d'un range référencé en cells
( L,C ) et non pas

en A1:A20, sans m'occupé de la position du focus.
activecell.address donne un résultat "$G$4 dans une var.
Est-ce possible de

l'avoir sous la forme : cells (4, 7) ?
Je mélange, je touille, je cafouille et la sauce prend
pas.


Merci pour votre aide

--
à+twinley


.



Avatar
isabelle
oup's c'est parti trop vite,

lign1 = 1
lign2 = 20
col = 1
x = Range(Cells(lign1, col), Cells(lign2, col)).Address
AddrComplete = Evaluate("ADDRESS(MATCH(MAX(" & x & ")," & x & ",0),1)")
ligne = Evaluate("MATCH(MAX(" & x & ")," & x & ",0)")

isabelle


si si,

Range(Cells(lign1, col), Cells(lign2, col))

isabelle


Bonsoir Isabelle,

oh, je ne risquais pas de trouver la solution...
Tu es une choute. Merci.
A la place de (A1:A10) peut-on mettre quelque chose qui dise cells(1,1) to
cells(10,1) ?
histoire de mettre des variables.
--
à+twinley
"isabelle" a écrit dans le message de
news:
bonjour twinley,

AddrComplete = Evaluate("ADDRESS(MATCH(MAX(A1:A10),A1:A10,0),1)")
ligne = Evaluate("MATCH(MAX(A1:A10),A1:A10,0)")

isabelle


Bonsoir à tous,

Comment puis je obtenir , d'abord dans une variable puis dans une
cellule,


la référence L & C de la cellule ou se trouve la maximum d'un range ?

j'ai tenté de fusionner

Range("E2").FormulaLocal = [=MAX(A1:A20)]

avec

toto = activecell.address

J'ai besoin le faire le max d'un range référencé en cells( L,C ) et non
pas


en A1:A20, sans m'occupé de la position du focus.
activecell.address donne un résultat "$G$4 dans une var. Est-ce possible
de


l'avoir sous la forme : cells (4, 7) ?
Je mélange, je touille, je cafouille et la sauce prend pas.

Merci pour votre aide

--
à+twinley








Avatar
twinley
C'est la bonne. Nickel.
J'étais en train de me débattre avec la version d'avant, et je n'osais pas
dire merci ou demander une explication. Ouf.
Merci & Bonne soirée

--
à+twinley
"isabelle" a écrit dans le message de
news:
oup's c'est parti trop vite,

lign1 = 1
lign2 = 20
col = 1
x = Range(Cells(lign1, col), Cells(lign2, col)).Address
AddrComplete = Evaluate("ADDRESS(MATCH(MAX(" & x & ")," & x & ",0),1)")
ligne = Evaluate("MATCH(MAX(" & x & ")," & x & ",0)")

isabelle


si si,

Range(Cells(lign1, col), Cells(lign2, col))

isabelle


Bonsoir Isabelle,

oh, je ne risquais pas de trouver la solution...
Tu es une choute. Merci.
A la place de (A1:A10) peut-on mettre quelque chose qui dise
cells(1,1) to



cells(10,1) ?
histoire de mettre des variables.
--
à+twinley
"isabelle" a écrit dans le message de
news:
bonjour twinley,

AddrComplete = Evaluate("ADDRESS(MATCH(MAX(A1:A10),A1:A10,0),1)")
ligne = Evaluate("MATCH(MAX(A1:A10),A1:A10,0)")

isabelle


Bonsoir à tous,

Comment puis je obtenir , d'abord dans une variable puis dans une
cellule,


la référence L & C de la cellule ou se trouve la maximum d'un
range ?






j'ai tenté de fusionner

Range("E2").FormulaLocal = [=MAX(A1:A20)]

avec

toto = activecell.address

J'ai besoin le faire le max d'un range référencé en cells( L,C )
et non





pas
en A1:A20, sans m'occupé de la position du focus.
activecell.address donne un résultat "$G$4 dans une var. Est-ce
possible





de
l'avoir sous la forme : cells (4, 7) ?
Je mélange, je touille, je cafouille et la sauce prend pas.

Merci pour votre aide

--
à+twinley










Avatar
isabelle
de rien twinley, au plaisir de philippe ;-)

isabelle


C'est la bonne. Nickel.
J'étais en train de me débattre avec la version d'avant, et je n'osais pas
dire merci ou demander une explication. Ouf.
Merci & Bonne soirée

--
à+twinley
"isabelle" a écrit dans le message de
news:
oup's c'est parti trop vite,

lign1 = 1
lign2 = 20
col = 1
x = Range(Cells(lign1, col), Cells(lign2, col)).Address
AddrComplete = Evaluate("ADDRESS(MATCH(MAX(" & x & ")," & x & ",0),1)")
ligne = Evaluate("MATCH(MAX(" & x & ")," & x & ",0)")

isabelle


si si,

Range(Cells(lign1, col), Cells(lign2, col))

isabelle


Bonsoir Isabelle,

oh, je ne risquais pas de trouver la solution...
Tu es une choute. Merci.
A la place de (A1:A10) peut-on mettre quelque chose qui dise
cells(1,1) to



cells(10,1) ?
histoire de mettre des variables.
--
à+twinley
"isabelle" a écrit dans le message de
news:
bonjour twinley,

AddrComplete = Evaluate("ADDRESS(MATCH(MAX(A1:A10),A1:A10,0),1)")
ligne = Evaluate("MATCH(MAX(A1:A10),A1:A10,0)")

isabelle


Bonsoir à tous,

Comment puis je obtenir , d'abord dans une variable puis dans une
cellule,


la référence L & C de la cellule ou se trouve la maximum d'un
range ?






j'ai tenté de fusionner

Range("E2").FormulaLocal = [=MAX(A1:A20)]

avec

toto = activecell.address

J'ai besoin le faire le max d'un range référencé en cells( L,C )
et non





pas
en A1:A20, sans m'occupé de la position du focus.
activecell.address donne un résultat "$G$4 dans une var. Est-ce
possible





de
l'avoir sous la forme : cells (4, 7) ?
Je mélange, je touille, je cafouille et la sauce prend pas.

Merci pour votre aide

--
à+twinley












Avatar
Vincent.
Il faut définir la PlageATester de la façon suivante :
Set PlageATester = Range(A1:A20)
par ex !


-----Message d'origine-----
Bonsoir Vincent

merci pour ta solution.
il y a une "err d'exec 424 objet requis" que je ne sais
pas corriger...sur

la ligne
Set LesMax= PlageATester.Find([=MAX(A1:A20)],
lookin:=xlValues)


?
--
à+twinley
"Vincent." a écrit
dans le message de

news:5e8801c474d6$d65d5240$
Avec Find je pense :
non testé !!!
dim LesMax As Range
Set LesMax= PlageATester.Find([=MAX(A1:A20)], _
lookin:=xlValues)
If Not LesMax Is Nothing Then
Do
Set LesMax = Union(LesMax , _
PlageATester.FindNext(LesMax))
Loop While Not LesMax Is Nothing And _
LesMax.Address <> firstAddress
End If

mais ça devrait le faire, non?
A+

-----Message d'origine-----
Bonsoir à tous,

Comment puis je obtenir , d'abord dans une variable puis
dans une cellule,

la référence L & C de la cellule ou se trouve la maximum
d'un range ?


j'ai tenté de fusionner

Range("E2").FormulaLocal = [=MAX(A1:A20)]





avec

toto = activecell.address


J'ai besoin le faire le max d'un range référencé en cells
( L,C ) et non pas

en A1:A20, sans m'occupé de la position du focus.
activecell.address donne un résultat "$G$4 dans une var.
Est-ce possible de

l'avoir sous la forme : cells (4, 7) ?
Je mélange, je touille, je cafouille et la sauce prend
pas.


Merci pour votre aide

--
à+twinley


.




.




Avatar
twinley
Bravo, ça marche

Set PlageATester = Range("A1:A20")
même pas obligé de mettre Dim PlageAtester As Range

merci pour cette solution et ton aide
--
à+twinley
"Vincent." a écrit dans le message de
news:635d01c47542$34215eb0$
Il faut définir la PlageATester de la façon suivante :
Set PlageATester = Range(A1:A20)
par ex !


-----Message d'origine-----
Bonsoir Vincent

merci pour ta solution.
il y a une "err d'exec 424 objet requis" que je ne sais
pas corriger...sur

la ligne
Set LesMax= PlageATester.Find([=MAX(A1:A20)],
lookin:=xlValues)


?
--
à+twinley
"Vincent." a écrit
dans le message de

news:5e8801c474d6$d65d5240$
Avec Find je pense :
non testé !!!
dim LesMax As Range
Set LesMax= PlageATester.Find([=MAX(A1:A20)], _
lookin:=xlValues)
If Not LesMax Is Nothing Then
Do
Set LesMax = Union(LesMax , _
PlageATester.FindNext(LesMax))
Loop While Not LesMax Is Nothing And _
LesMax.Address <> firstAddress
End If

mais ça devrait le faire, non?
A+

-----Message d'origine-----
Bonsoir à tous,

Comment puis je obtenir , d'abord dans une variable puis
dans une cellule,

la référence L & C de la cellule ou se trouve la maximum
d'un range ?


j'ai tenté de fusionner

Range("E2").FormulaLocal = [=MAX(A1:A20)]





avec

toto = activecell.address


J'ai besoin le faire le max d'un range référencé en cells
( L,C ) et non pas

en A1:A20, sans m'occupé de la position du focus.
activecell.address donne un résultat "$G$4 dans une var.
Est-ce possible de

l'avoir sous la forme : cells (4, 7) ?
Je mélange, je touille, je cafouille et la sauce prend
pas.


Merci pour votre aide

--
à+twinley


.




.




1 2