OVH Cloud OVH Cloud

Aide sur VBA

7 réponses
Avatar
Vincent
Bonsoir
théoriquement, cela devrait fonctionner
Mais non ;-)
Merci beaucoup
Vincent

TextBox31.Value = [MAX(sumproduct(MAX((A3:A10000=& TextBox30.Value
&)*(B3:B10000)))]

7 réponses

Avatar
Rai
Bonsoir,

Sous VBA, les fonctions max et sumproduct ne sont pas accessibles
directement.
Je n'ai pas testé, mais tu devrais essayer ce qui suit :
With Application.WorksheetFunction
Textbox31 = [.MAX(.sumproduct(.MAX((A3:A10000=& TextBox30 &)*(B3:B10000)))]
End With

Ca convient ?

Bonne soirée

Rai

Bonsoir
théoriquement, cela devrait fonctionner
Mais non ;-)
Merci beaucoup
Vincent

TextBox31.Value = [MAX(sumproduct(MAX((A3:A10000=& TextBox30.Value
&)*(B3:B10000)))]




Avatar
Patrick Fredin
Bonjour,

Tu mélanges un peu tout, non ? N'oublis pas que tu n'es pas dans un feuille
mais dans un UserForm.

TextBox31.Text Application.WorksheetFunction.Max(Application.WorksheetFunction.Sumproduct(Application.WorksheetFunction.Max(Range(A3:A10000)
= TextBox30.Text)*Range(B3:B10000)))

Je n'ai pas vérifié masi cela devrait ressembler à quelque chose comme cela.

Patrick




Bonsoir
théoriquement, cela devrait fonctionner
Mais non ;-)
Merci beaucoup
Vincent

TextBox31.Value = [MAX(sumproduct(MAX((A3:A10000=& TextBox30.Value
&)*(B3:B10000)))]





Avatar
Vincent
Bonjour
ne s'agit-il pas de la méthode Evaluate ?

"Patrick Fredin" a écrit dans le message
de news:
Bonjour,

Tu mélanges un peu tout, non ? N'oublis pas que tu n'es pas dans un
feuille
mais dans un UserForm.

TextBox31.Text > Application.WorksheetFunction.Max(Application.WorksheetFunction.Sumproduct(Application.WorksheetFunction.Max(Range(A3:A10000)
= TextBox30.Text)*Range(B3:B10000)))

Je n'ai pas vérifié masi cela devrait ressembler à quelque chose comme
cela.

Patrick




Bonsoir
théoriquement, cela devrait fonctionner
Mais non ;-)
Merci beaucoup
Vincent

TextBox31.Value = [MAX(sumproduct(MAX((A3:A10000=& TextBox30.Value
&)*(B3:B10000)))]







Avatar
Vincent
Bonjour
Ce n'est pas cela qui pose problème
Merci
Vincent

"Rai" a écrit dans le message de news:

Bonsoir,

Sous VBA, les fonctions max et sumproduct ne sont pas accessibles
directement.
Je n'ai pas testé, mais tu devrais essayer ce qui suit :
With Application.WorksheetFunction
Textbox31 = [.MAX(.sumproduct(.MAX((A3:A10000=& TextBox30
&)*(B3:B10000)))]
End With

Ca convient ?

Bonne soirée

Rai

Bonsoir
théoriquement, cela devrait fonctionner
Mais non ;-)
Merci beaucoup
Vincent

TextBox31.Value = [MAX(sumproduct(MAX((A3:A10000=& TextBox30.Value
&)*(B3:B10000)))]





Avatar
Vincent
En fait j'ai trouvé

TextBox31.Value = Evaluate("MAX(sumproduct(MAX((A3:A10000=" &
TextBox30.Value & ")*(B3:B10000))))")

Bonne soirée
Merci
Vincent


"Patrick Fredin" a écrit dans le message
de news:
Bonjour,

Tu mélanges un peu tout, non ? N'oublis pas que tu n'es pas dans un
feuille
mais dans un UserForm.

TextBox31.Text > Application.WorksheetFunction.Max(Application.WorksheetFunction.Sumproduct(Application.WorksheetFunction.Max(Range(A3:A10000)
= TextBox30.Text)*Range(B3:B10000)))

Je n'ai pas vérifié masi cela devrait ressembler à quelque chose comme
cela.

Patrick




Bonsoir
théoriquement, cela devrait fonctionner
Mais non ;-)
Merci beaucoup
Vincent

TextBox31.Value = [MAX(sumproduct(MAX((A3:A10000=& TextBox30.Value
&)*(B3:B10000)))]







Avatar
AV
Pffffff.....
Et si tu lisais le fil précédent que tu as initié le 18/3/05 22:26
Il y a déjà la réponse et une amélioration........ me semble-t-il

AV
Avatar
AV
La méthode "courte" d'Evaluate [] n'accepte pas de variables !
Il faut passer par la méthode "longue" :
x = Evaluate("la chaîne concaténée")

AV