Erreur valeur absolue
Will_04
Messages postés
5
Date d'inscription
Statut
Membre
Dernière intervention
-
jordane45 Messages postés 38486 Date d'inscription Statut Modérateur Dernière intervention -
jordane45 Messages postés 38486 Date d'inscription Statut Modérateur Dernière intervention -
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 0x80070643 - Accueil - Windows
- Erreur t32 ✓ - Forum Livebox
- Erreur 0x80070643 Windows 10 : comment résoudre le problème de la mise à jour KB5001716 - Accueil - Windows
- Erreur 4101 france tv - Forum Lecteurs et supports vidéo
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
Date d'inscription
Statut
Membre
Dernière intervention
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