Erreur valeur absolue
Will_04
Messages postés
5
Statut
Membre
-
jordane45 Messages postés 40050 Statut Modérateur -
jordane45 Messages postés 40050 Statut Modérateur -
Bonjour,
J'ai un problème avec un code. Je désire faire une écart-type, mais j'ai un problème. À la portion (u - y), il arrive que le y soit plus grand que le u. Donc, ce que je veux faire, c'est que le (u - y) devienne un (y - u), car je ne veux pas de chiffre négatif...
J'ai un problème avec un code. Je désire faire une écart-type, mais j'ai un problème. À la portion (u - y), il arrive que le y soit plus grand que le u. Donc, ce que je veux faire, c'est que le (u - y) devienne un (y - u), car je ne veux pas de chiffre négatif...
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 + (u - y) ^ 2) / 60)
If u - y < 0 Then Replace u - y = y - u ' ici mon problème..... Ça me dit que j'ai un argument non facultatif
Next i
Sheets("Statistiques").Select
Cells(15, 2) = x
End Sub
A voir également:
- Erreur valeur absolue
- Erreur 3000 france tv - Forum Lecteurs et supports vidéo
- Erreur t32 ✓ - Forum Livebox
- Erreur 0x80070643 - Accueil - Windows
- Iptv erreur de lecture - Forum TV & Vidéo
- Faites afficher avec un fond coloré les cellules qui contiennent une valeur comprise entre 250 et 350. quel nombre est dessiné en surbrillance ? ✓ - Forum Excel
4 réponses
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+
Will_04
Messages postés
5
Statut
Membre
Le u est dans le fond un résultat X et le y est la moyenne. Il arrive des fois que le u est plus gros que le y. Ce que je veux, c'est qu'au lieu que ça devienne une soustraction, j'aimerais que le résultat s'additionne. Je ne veux pas de donnée négative dans mon calcul...
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
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