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
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
MichD
Le #26446539
Bonjour 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
isabelle
Le #26446774
bonjour Denis,
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 :
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

MichD
Le #26446777
Bonjour Isabelle,
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
isabelle
Le #26446785
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
isabelle
Le #26446791
MichD a écrit : ..je regarde si je peux faire quelque chose ce soir... mais

si tu ne trouves pas, la
solution ne doit pas être facile

Denis, merci beaucoup de continuer à chercher, je cherche aussi de mon coté pour
la 2èm formule et transposision vba...
isabelle
MichD
Le #26446792
Bonjour 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
MichD
Le #26446794
2 manières de procéder selon que tu veux utiliser une plage de cellules
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
MichD
Le #26446836
Si tu préfères l'utilisation d'une formule en vba à partir des données de la
feuille dans la plage B4:B9
Range("A13").Resize(6).Formula = "=LARGE($B$4:$B$9,ROW(1:6))"
MichD
isabelle
Le #26447074
super! merci beaucoup Denis,
isabelle
Le 2017-10-05 à 06:01, MichD a écrit :
Si tu préfères l'utilisation d'une formule en vba à partir des données de la
feuille dans la plage B4:B9
Range("A13").Resize(6).Formula = "=LARGE($B$4:$B$9,ROW(1:6))"
MichD
Publicité
Poster une réponse
Anonyme