Grande.Valeur adresse
Le
isabelle

bonjour,
je cherche l'adresse des grande.valeur,
par exemple: sur la plage A1:E1
0.0425 0.6600 0.0080 0.0425 4.2146
je cherche le résultat des numéros de colonne ( 5,2,1,4,3)
merci pour toutes vos suggestions, isabelle
je cherche l'adresse des grande.valeur,
par exemple: sur la plage A1:E1
0.0425 0.6600 0.0080 0.0425 4.2146
je cherche le résultat des numéros de colonne ( 5,2,1,4,3)
merci pour toutes vos suggestions, isabelle
Un fichier exemple : http://www.cjoint.com/c/GJdjWZeQusi
MichD
"isabelle" a écrit dans le message de groupe de discussion :
oqv5bp$d6r$
bonjour,
je cherche l'adresse des grande.valeur,
par exemple: sur la plage A1:E1
0.0425 0.6600 0.0080 0.0425 4.2146
je cherche le résultat des numéros de colonne ( 5,2,1,4,3)
merci pour toutes vos suggestions, isabelle
malheurement ça ne fonctionne pas, car comme dans l'exemple, il y a des doublons
mais je cherche toujours...
isabelle
Le 2017-10-03 à 00:57, isabelle a écrit :
Je vois! Comme j'avais trouvé la donne du problème plutôt "simple" et que tu
es excellente pour l'élaboration de formule, je pensais que j'avais répondu
à une autre Isabelle...Avec des doublons (que je n'ai pas vu) la donne du
problème est beaucoup complexe...je regarde si je peux faire quelque chose
ce soir... mais si tu ne trouves pas, la solution ne doit pas être
facile...Pourrais-je trouver????
;-)
Bye,
MichD
j'ai retrouvé la formule... mais il faut sélectionner la plage de cellules avant
de valider.
=GRANDE.VALEUR($B$4:$B$9;LIGNE(1:6))
avec la formule mise en cellule C4, sélectionner la plage C4:C9 et valider avec
ctrl+maj+enter
http://www.cjoint.com/c/GJexki5k4Qi
maintenant je me demande si il est possible, sans utiliser les cellules, de
reproduire ce type de formule en VBA ?
ou par exemple, à partir de: liste = Range("$B$4:$B$9") ou autre type de
ListeArray
aussi quel sera la formule ( ou le code) pour retrouver l'ordre des résultats
D4:D9 (ou G6:L6) toujours sans utiliser les cellules.
merci par avance pour toutes vos suggestions.
isabelle
si tu ne trouves pas, la
Denis, merci beaucoup de continuer à chercher, je cherche aussi de mon coté pour
la 2èm formule et transposision vba...
isabelle
Est-ce que ceci fait ton bonheur?
Dans la variable tableau, tu entres les valeurs que tu désires et
tu peux recopier le résultat dans une plage de cellule si désirée
Dans mon exemple, le résultat s'affiche sur une ligne...
'----------------------------------------------
Sub test()
Dim X(), T()
X = Array(0.425, 0.8, 0.66, 4.2146, 0, 0.425)
For a = 0 To UBound(X)
ReDim Preserve T(1 To a + 1)
T(a + 1) = Application.Large(X, a + 1)
Next
ss = Range("A30").Resize(, UBound(T, 1)).Address
Range("A30").Resize(, UBound(T, 1)).Value = T
End Sub
'----------------------------------------------
MichD
"isabelle" a écrit dans le message de groupe de discussion :
or3q34$eik$
bonjour Denis, bonjour à tous,
j'ai retrouvé la formule... mais il faut sélectionner la plage de cellules
avant
de valider.
=GRANDE.VALEUR($B$4:$B$9;LIGNE(1:6))
avec la formule mise en cellule C4, sélectionner la plage C4:C9 et valider
avec
ctrl+maj+enter
http://www.cjoint.com/c/GJexki5k4Qi
maintenant je me demande si il est possible, sans utiliser les cellules, de
reproduire ce type de formule en VBA ?
ou par exemple, à partir de: liste = Range("$B$4:$B$9") ou autre type de
ListeArray
aussi quel sera la formule ( ou le code) pour retrouver l'ordre des
résultats
D4:D9 (ou G6:L6) toujours sans utiliser les cellules.
merci par avance pour toutes vos suggestions.
isabelle
comme tableau.
'-----------------------------------------------------
Sub test()
Dim X(), T()
X = Array(0.425, 0.8, 0.66, 4.2146, 0, 0.425)
For a = 0 To UBound(X)
ReDim Preserve T(1 To a + 1)
T(a + 1) = Application.Large(X, a + 1)
Next
ss = Range("A30").Resize(, UBound(T, 1)).Address
Range("A30").Resize(, UBound(T, 1)).Value = T
End Sub
'-----------------------------------------------------
Sub test1()
Dim X(), T()
X = Range("$B$4:$B$9").Value ' Array(0.425, 0.8, 0.66, 4.2146, 0, 0.425)
For a = 1 To UBound(X)
ReDim Preserve T(1 To a + 1)
T(a) = Application.Large(X, a)
Next
ss = Range("A30").Resize(, UBound(T, 1)).Address
Range("A30").Resize(, UBound(T, 1)).Value = T
End Sub
'-----------------------------------------------------
MichD
MichD
feuille dans la plage B4:B9
Range("A13").Resize(6).Formula = "=LARGE($B$4:$B$9,ROW(1:6))"
MichD
isabelle
Le 2017-10-05 à 06:01, MichD a écrit :