Erreur de syntaxe

Bonjour

est ce que qu'une ame éclairé peut me dire pourquoi ma fonction me donne un résultat erroné c'est à dire 1065637184

resultat = Application.WorksheetFunction.Percentile(Val(1) & "," & Val(UBound(Val)), 0.9)

à savoir que dans val(1) j'ai 11000 , et dans Val(UBound(Val)), j'ai Val(UBound(Val))400000

merci d'avance.

Un jour sans réponse ! ?

Je pense que c'est le moment de joindre un fichier montrant ton problème, l'avancement de ton travail, etc.

Salut.

Bonjour,

yvouille n'a sans doute pas tort, de plus dans une ligne de code on ne voit pas grand chose... cependant ce

Val(UBound(Val) me chipotte...

C'est toujours une très mauvaise idée d'utiliser comme nom de variable un nom réservé ou un nom de fonction existant ... Pour peu que tes déclarations soient un peu laxistes... Par le biais des auto conversions internes, Dieu seul sait ce que VBA peut tirer de cette salade !

De plus mon VBA (2003) me recrache le "percentile" à la figure. Il n'en veut pas en temps que WorksheetFunction ni à aucune autre sauce d'ailleurs...

A+

Bonjour

Galopin et Yvouille

désolé voici le code

Dim ValMax(1 To 10) As Long

Worksheets(feuille).Range("AA" & deb & ":AA" & fin).Select

For i = LBound(ValMax) To UBound(ValMax)

ValMax(i) = Application.WorksheetFunction.Large(selection, i)

If Worksheets("feuille").Range("C" & i + 2).Value = "M" Then

Worksheets("50").Range("C" & i + 1 + col).Value = 1

Else

Worksheets("50").Range("B" & i + 1 + col).Value = 1

End If

'Worksheets("50").Activate

Worksheets("50").Range("D" & i + 1 +col).Value = ValMax(i)

Next i

'trie croissant pour la Décile

For j = 1 To UBound(ValMax)

x = j

For k = x + 1 To UBound(ValMax)

If ValMax(k) <= ValMax(x) Then x = k

Next k

If j <> x Then

ValTemp = ValMax(x): ValMax(x) = ValMax(j): ValMax(j) = ValTemp

End If

Next j

'contrôle le résultat du tri dans la fenêtre d'execution

For z = 1 To UBound(ValMax)

'Debug.Print ValMax(z)

'MsgBox ValMax(z)

Next z

'ActiveCell.FormulaR1C1 = "=Percentile(" & ValMax(0) & ":" & ValMax(19) & ", 5%)"

'd9 = "=Percentile(" & ValMax(1) & ":" & ValMax(19) & ", 5%)"

'd9 = Application.WorksheetFunction.Percentile(ValMax(1) & "," & ValMax(UBound(ValMax)), 0.9)

d9 = 0.89 * (ValMax(UBound(ValMax)) - ValMax(1))

'"AA" & deb & ":AA" & fin

'd9 = WorksheetFunction.Percentile("AA" & deb & ":AA" & fin, 0.9)==>récupération du des données directement à la source non trié on a un message d'erreur

'd9 = Application.WorksheetFunction.Quartile("AA" & deb & ":AA" & fin, 3)==>pareil avec le quartile

MsgBox d9

End Sub

si ce n'est pas possible en passant par un tbl trié , ou par la source direct peut on avoir une équivalence ? pour que cela fonctionne merci

Rechercher des sujets similaires à "erreur syntaxe"