IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

probleme Ecart type


Sujet :

Macros et VBA Excel

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    134
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 134
    Par défaut probleme Ecart type
    Bonjour,

    Je veut calculer l'écart type de ma plage F2 à F37 donc j'utilise le code suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Range("L2").Value = Application.WorksheetFunction.StDev(Worksheets("Feuil1").Range("F2:F37")
    Pour vérifier le résultat de la macro, sous excel, j'utilise la formule suivante :

    Mais là, à ma surprise, avec ma macro je trouve un resultat de 0.7313 et avec la formulle excel 0.7416

    Pourquoi??

    Quelqu'un peut m'expliquer?

    Merci

  2. #2
    Membre Expert Avatar de Krovax
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    1 888
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 888
    Par défaut
    Tu as bien mis le code telque que tu nous l'as donné
    Tes données sont bien Feuil1.
    Parce que j'ai fait quelque test je n'ai aucun problème. Je vais essaye d'en refaire quelques un

    Edit sur 37 valeur entre 0 et 100 générer de manière aléatoire je n'ai aucun souci. Comme l'a dit alex peut du coté du nombre de chiffre après la virgule

  3. #3
    Membre Expert Avatar de aalex_38
    Inscrit en
    Septembre 2007
    Messages
    1 631
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 631
    Par défaut
    as-tu un grand nombre de chiffres après la virgule ?

    Le format des cellules est-il standard ?

    J'ai fait quelques test et n'ai pas trouvé de problèmes similaires pour l'instant.

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    134
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 134
    Par défaut
    Cela ne vient pas de mes virgules, car le résultat est pas du tout le monde donc pas un problème d'arondi

  5. #5
    Membre Expert Avatar de aalex_38
    Inscrit en
    Septembre 2007
    Messages
    1 631
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 631
    Par défaut
    car le résultat est pas du tout le monde
    Une traduction ?

    et si tu nous donnais dans ce forum, les valeurs de ta plage, on pourrait vérifier ce que l'on obtient et comparer.

    Ou bien ton code en entier sur la partie, n'existe-t-il pas une petite coquille ?
    Si si ça arrive, même aux meilleurs il parait ?

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    134
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 134
    Par défaut
    EN faite le problème vient d'ailleur. jE NE peut pas mettre mon fichier car trop gros. Je l'envoie comment?
    Je voudrais faire l'écart type de la colonne F UNIQUEMENT pour les valeurs qui sont a la position 115 :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    Sub test()
     
    Dim effectif As Integer
    Dim aa As Integer
    Dim ee As Integer
    Dim boucle As Integer
     
    Sheets("Feuil3").Select
     
    Message0bis = InputBox("Entrez le nombre de moule:", "Moule", "Nbre moule")
    Message0 = InputBox("Entrez le nombre d'échantillon :", "Echantillon", "Nbre echantillon")
    Message1 = InputBox("Entrez la position A :", "position", "position A")
    Message2 = InputBox("Entrez la position B :", "position", "position B") 'demande postion
    Message3 = InputBox("Entrez la position C :", "position", "position C")
    Message4 = InputBox("Entrez la position D :", "position", "position D")
     
     
    effectif = Message0bis * Message0 * 36
     
     
    aa = 0
    ee = 0
    boucle = Message0bis * Message0 - 1
    For aa = 0 To boucle * 148 Step 148
    Range("L2").Value = Application.WorksheetFunction.StDev(Worksheets("Feuil1").Range("F2:F37").Offset(aa))
    Range("L3").Value = Range("L3").Value + Range("L2").Value
    ee = ee + 1
    Next aa
    Range("L4").Value = (Range("L3").Value) / ee
    Range("L4").Select
    Selection.Copy
    Range("C10").Select
    Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _
    False, Transpose:=False
    Range("L2:L4").Clear
     
    End Sub
    Le problème est le suivant :
    je commence a calculé l'ecart type de mon premier echantillon de mon premier moule(2) a la position 115
    ensuite je fai de meme pour le deuxième echantillon de mon premier moule a la position 115.
    AInsi de suite jusqu a la fin et je termine par faire la moyenne de tout ces ecart type.
    Le problème c'est que je veut moi l'ecart type sur l'ensemble des données pour tout les moules pr chaque echantillon a la position 115 et NON (comme je fai actuellement) une moyenne d'ecart type

    vous comprenez??

  7. #7
    Membre Expert Avatar de Krovax
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    1 888
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 888
    Par défaut
    L'ecart type est la moyenne des ecart a la moyenne. La moyenne des écart type de deux série ne donne pas du tout l'écart type d'un serie composé des deux série.
    Série1 : 100 101 102
    ecart type1=1
    Série2 : 200 202 204
    ecart type2=2

    Moyenn des ecart typ 1.5
    ecart type des deux série = 55.33

    Essaye quelque chose comme ca pour avoir l'écart type de plusieurs séries(je met des valeur de plage bidon)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    With Worksheets("Feuil1")
       Range("L4").Value =Application.WorksheetFunction.StDev(Union(.Range("F2:F37"), .Range("F200:F258"))
    End with
    Edit pour adapter a ton code vu que tu a un nombre de plage variable

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Dim plage as range
     
    for i = 1 to nombredeplage
    plage = union(plage, Range(Taplage pour ton ième moule)
    next i
     
     Range("L4").Value =Application.WorksheetFunction.StDev(plage)

  8. #8
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    134
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 134
    Par défaut
    Merci mais ma plage de donnée varie tres souvent.
    J'ai pensé a autre chose. Dans le fichier joint, j'ai une série de mesure qui va de B3 a B38. En D4, je trouve l'ecart type avec la formule excel.
    J'ai ensuite decider de calculer cet ecrat type avec la formule suivante :
    variance= (somme(xi-moyenne)^2)/nbre mesure
    pr cela j'ai calculé la moyenne de la plage en D5 et j ai realisé l'operation.
    J'obtai la variance en C39 donc ensuite je prend la racine carrée de cette variance pour obtenir mon ecart type en D39 mais je ne trouve pas le meme resultat qu'en D4 pourquoi??
    quelqu'un peut m'aider
    merci
    Fichiers attachés Fichiers attachés

  9. #9
    Membre Expert Avatar de Krovax
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    1 888
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 888
    Par défaut
    Je ne vois pas en quoi le fait que tes plage varie soit un problème

    J'ai mis les valeur de range en dure mais heureusement ce n'est pas obligatoire. Tu peu les faire varier comme tu veux
    Utilise par exemple ceci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Range(Cells(NumeroLigneDebut,NumeroColonneDebut),cells(NumeroLignefin,NumeroColonneFin))
    ou 
    Range("A" & NumeroDelLigneDebut & ":K" & NumeroDeLigneFin)
    Bref c'est a toi de voir comme tu préfère si les colonne sont fixe la deuxième méthode est très simple
    NumeroDelLigneDebut et NumeroDeLigneFin sont des variable entier

    Par contre je fais partie de ces gens qui n'ouvre pas les fichier joint du coup je ne peux pas t'aider pour ca.

  10. #10
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    134
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 134
    Par défaut
    Dommage
    pourquoi tu a peur des virus? moi je suis au boulot donc voila il y en a pas et j'ai pas que ca a faire non plus
    Quelqu'un peut m'aider avec mon fichier

  11. #11
    Membre Expert Avatar de Krovax
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    1 888
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 888
    Par défaut
    Pour plusieurs raisons un je suis au boulot et je ne veux pas être le boulet qui a choppé un virus
    Et surtout de deux si la personne ne veux pas faire l'effort de s'expliquer clairement pourquoi je ferais l'effort de l'aider?
    Jusqu'a présent tous les fichier que j'ai ouvert (car je l'ai fait) aurait plus être expliqué sur un cas simple et le code adapté au cas particulier. Ca demande un peu plus de boulot et de réflexion a la personne qui souhaite se faire aidé mais beaucoup moins a celui qui aide et il me semble qu'il faut aller dans ce sens.

    Mais as tu essayer d'adapter mon code ou je laisse tomber ca ne t'intéresse pas?

  12. #12
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    134
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 134
    Par défaut
    Bonjour,
    alors j'ai pas essayer d'adapter pour l'instant mon code car je veux essayer de faire d'une autre manière.
    Comme je l'ai expliquer dans mon précédent poste, j'ai calculer l'ecart type avec la formule excel pour ces valeur la :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
     
    3,12
    2,81
    2,63
    2,52
    2,47
    2,44
    2,51
    2,54
    2,65
    2,68
    2,68
    2,59
    2,5
    2,35
    2,32
    2,26
    2,44
    2,44
    2,43
    2,49
    2,77
    2,99
    3,19
    3,33
    3,51
    3,66
    3,9
    4,16
    4,31
    4,52
    4,64
    4,58
    4,27
    3,81
    3,29
    3
    ]
    je trouve un ecart type de 0.7416
    Ensuite j'ai essayer de calculer cet ecart type avec la formule mathématique
    variance =(somme (xi valeur - moyenne)^2)/nbr de valeur
    ensuite ecart type = racine carré (variance)

    Le problème c'est qu'avec cette formule je trouve un ecart type de 0.7312

    Pourquoi je n'ai pas le meme résultat? Tu peut m'explique rou pas?
    meci de ton aide

  13. #13
    Membre Expert Avatar de Krovax
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    1 888
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 888
    Par défaut
    La c'est claire avec un exemple et tout j'ai pu tester et oui je peux t'expliquer. (pour plus d'info regarde l'aide sur ecartype )
    Il esxite 2 fonction ecart type
    ECARTYPE
    ECARTYPEP
    Le premier fait
    racine((somme (xi valeur - moyenne)^2)/(nbr de valeur-1))
    le deuxième
    racine((somme (xi valeur - moyenne)^2)/(nbr de valeur))

    En faisant le calcul a la main j'ai exactement les même valeur si je divise par nbr valeur ou nbr valeur -1

    Après le pourquoi du comment les probas c'est rigolo mais rapidement ils partent dans des considération a la c... Enfin tout ca pour dire que je ne sais pas quel est l'intérêt de chaque formule (la deuxième correspond a celle que je connaissais)

  14. #14
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    150
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 150
    Par défaut
    Citation Envoyé par Krovax Voir le message
    Après le pourquoi du comment les probas c'est rigolo mais rapidement ils partent dans des considération a la c... Enfin tout ca pour dire que je ne sais pas quel est l'intérêt de chaque formule (la deuxième correspond a celle que je connaissais)
    En fait il existe deux formules, la biaisée et la non-biaisée.
    En gros si tu cherches l'ecart-type de peu de valeurs, il faut prendre la formule avec N-1.
    Si tu en as beaucoup tu prends la formule avec N

  15. #15
    Membre Expert Avatar de Krovax
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    1 888
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 888
    Par défaut
    Merci pour l'info Mainteant que tu me le dit c'est vrai que ca me rappelle quelque chose mais on utilisé si je me souvient bien derrière une formule pour multiplier l'écart type en fonction de l'échantillon testé sur la population totale.

  16. #16
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    150
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 150
    Par défaut
    Ouais ca doit etre des tests que tu souhaites réaliser.
    Voici une liste assez complète ca peut ptet t'aider :-)

    http://fr.wikipedia.org/wiki/Test_(statistique)

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Probleme sur les Ecart-types
    Par Automnep dans le forum Méthodes exploratoires
    Réponses: 1
    Dernier message: 29/11/2013, 19h13
  2. [LG]Problèmes de types Booléen entier...
    Par youngeikichi dans le forum Langage
    Réponses: 2
    Dernier message: 07/02/2005, 22h27
  3. probleme de type numero auto
    Par unix27 dans le forum ASP
    Réponses: 4
    Dernier message: 25/11/2004, 11h53
  4. Probleme avec type de donnees
    Par kevinss dans le forum ASP
    Réponses: 3
    Dernier message: 03/11/2004, 15h42
  5. Réponses: 2
    Dernier message: 01/04/2003, 22h09

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo