Erreur valeur absolue
Fermé
Will_04
Messages postés
5
Date d'inscription
vendredi 19 décembre 2014
Statut
Membre
Dernière intervention
22 décembre 2014
-
22 déc. 2014 à 00:40
jordane45 Messages postés 37253 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 17 mars 2023 - 23 déc. 2014 à 09:39
jordane45 Messages postés 37253 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 17 mars 2023 - 23 déc. 2014 à 09:39
4 réponses
f894009
Messages postés
16904
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
18 mars 2023
1 678
22 déc. 2014 à 09:26
22 déc. 2014 à 09:26
Bonjour,
If u - y < 0 Then Replace u - y = y - u Sur que ca ne marche pas!!!!!!!!!!!!!!!!!!!!
Expliquez un peu plus ce que vous voulez faire avec ceci:que le (u - y) devienne un (y - u) et surtout a quel endroit
A+
If u - y < 0 Then Replace u - y = y - u Sur que ca ne marche pas!!!!!!!!!!!!!!!!!!!!
Expliquez un peu plus ce que vous voulez faire avec ceci:que le (u - y) devienne un (y - u) et surtout a quel endroit
A+
NHenry
Messages postés
15047
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
11 mars 2023
331
22 déc. 2014 à 09:32
22 déc. 2014 à 09:32
D'une manière générale x² que x soit positif ou négatif, le résultat est toujours positif.
Will_04
Messages postés
5
Date d'inscription
vendredi 19 décembre 2014
Statut
Membre
Dernière intervention
22 décembre 2014
22 déc. 2014 à 19:04
22 déc. 2014 à 19:04
Je sais, sauf qu'en VBA, ça ne semble pas être le cas pour mon ^2.
jordane45
Messages postés
37253
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
17 mars 2023
4 551
Modifié par jordane45 le 22/12/2014 à 10:51
Modifié par jordane45 le 22/12/2014 à 10:51
Bonjour,
Il suffit d'utiliser la fonction ABS ( valeur Absolue..)
Avant de poser une question, merci de lire la charte du site.
Cordialement, Jordane
Il suffit d'utiliser la fonction ABS ( valeur Absolue..)
Sub Écart()
Sheets("Données").Select
y = 138.47 'la moyenne
x = 0
u = Cells(i, 2)
For i = 1 To 60
x = Sqr((x + Abs(u - y)) ^ 2) / 60)
Next i
Sheets("Statistiques").Cells(15, 2) = x
End Sub
Avant de poser une question, merci de lire la charte du site.
Cordialement, Jordane
Will_04
Messages postés
5
Date d'inscription
vendredi 19 décembre 2014
Statut
Membre
Dernière intervention
22 décembre 2014
22 déc. 2014 à 19:04
22 déc. 2014 à 19:04
J'ai une erreur de syntaxe quand je marque ceci... J'imagine que la valeur absolue n'est pas correcte.
NHenry
Messages postés
15047
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
11 mars 2023
331
Modifié par NHenry le 22/12/2014 à 19:18
Modifié par NHenry le 22/12/2014 à 19:18
Jordane, tu marques :
Sqr((x + Abs(u - y)) ^ 2) / 60)
alors que la formule initiale est :
Sqr((x + (u - y) ^ 2) / 60)
Ce qui n'est pas la même chose, à l'ogine, c'est juste (u-y) qui est au carré, et pas (x+abs(u-y))
Ma remarque précédente est donc valable :
si i=u-y
i² ==abs(i)^2
Sqr((x + Abs(u - y)) ^ 2) / 60)
alors que la formule initiale est :
Sqr((x + (u - y) ^ 2) / 60)
Ce qui n'est pas la même chose, à l'ogine, c'est juste (u-y) qui est au carré, et pas (x+abs(u-y))
Ma remarque précédente est donc valable :
si i=u-y
i² ==abs(i)^2
Will_04
Messages postés
5
Date d'inscription
vendredi 19 décembre 2014
Statut
Membre
Dernière intervention
22 décembre 2014
>
NHenry
Messages postés
15047
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
11 mars 2023
22 déc. 2014 à 19:53
22 déc. 2014 à 19:53
Ça ne fonctionne pas. On ne peut pas faire d'exposant... En tk, ça ne fonctionne pas.
Bref, ce que je veux faire est une écart-type des 60 données que j'ai dans le sheets «Données» de B1 à B60. Sauf que je ne peux pas prendre la formule de l'écart-type, je dois la faire «à la main».
Bref, ce que je veux faire est une écart-type des 60 données que j'ai dans le sheets «Données» de B1 à B60. Sauf que je ne peux pas prendre la formule de l'écart-type, je dois la faire «à la main».
jordane45
Messages postés
37253
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
17 mars 2023
4 551
Modifié par jordane45 le 23/12/2014 à 17:28
Modifié par jordane45 le 23/12/2014 à 17:28
Bonjour,
Ca fonctionne très bien...
Sauf.. que tu as Mis la récupération de ton U .. en dehors de ta boucle... et donc.. ton I ne s'incrémente jamais..
Tu aurais lancé ta macro en mode pas à pas.. tu l'aurais vu..
Voici le code corrigé
Avant de poser une question, merci de lire la charte du site.
Cordialement, Jordane
Ca fonctionne très bien...
Sauf.. que tu as Mis la récupération de ton U .. en dehors de ta boucle... et donc.. ton I ne s'incrémente jamais..
Tu aurais lancé ta macro en mode pas à pas.. tu l'aurais vu..
Voici le code corrigé
Sub Écart()
Dim Fsource As Worksheet
Dim FResultat As Worksheet
Dim Y As Double
Dim X As Double
Dim U As Double
Set Fsource = Worksheets("Données")
Set FResultat = Worksheets("Statistiques")
Y = 138.47 'la moyenne
X = 0
For i = 1 To 60
U = Fsource.Cells(i, 2)
X = Sqr((X + (U - Y) ^ 2) / 60)
'Copie du resultat
FResultat.Cells(15, 2) = X
Next i
End Sub
Avant de poser une question, merci de lire la charte du site.
Cordialement, Jordane
22 déc. 2014 à 19:06