XL 2019 erreur 1004

Kapioss

XLDnaute Nouveau
Bonjour,
Je suis chimiste analyticien et dans le cadre de mes recherches j'essaye de me programmer une petite macro sur VBA afin de faciliter le traitement de mes données.
J'essaye ici simplement d'exclure les valeurs aberrantes lors de mes analyses.
Aujourd'hui j'ouvre mon fichier excel avec mes données et en traçant celle-ci j'identifie les valeurs aberrantes et je les retire "à la main". Ensuite je calcule ma moyenne et mon écart type et encore une fois je retire les valeurs qui sortent de + ou - 2x mon écart type "à la main".

Comme vous pouvez le supposer cela est très chronophage surtout quand dans une séquence d'analyse isotopique j'ai parfois 200 à 300 analyses elles-même composés de 30 mesures de plusieurs isotopes différents et ainsi pour vérifier la précision interne de mon appareil il me faut ouvrir les 200/300 fichiers de 30 mesures et faire cette exclusion à la main sur chaque isotope....

j'ai donc voulu essayer sur la colonne C qui est mon isotope 234U et dont les valeurs sont sur les ligne 24 à 53 et voici mon code VBA

Sub precision_interne234U()

Dim i As Integer
Dim moy As Double
Dim SD As Double
Dim moy2 As Double
Dim SD2 As Double

moy = WorksheetFunction.Average(Range("C24:C53"))
SD = WorksheetFunction.StDev(Range("C24:C53"))

For i = 24 To 53

If Cells(i, 3) >= moy + 2 * SD Then Cells(i, 3) = ""
If Cells(i, 3) <= moy + 2 * SD Then Cells(i, 3) = ""

Next
'recalcule des moy et ecart type sans les valeurs abérrantes

moy2 = WorksheetFunction.Average(Range("C24:C53"))
SD2 = WorksheetFunction.StDev(Range("C24:C53"))

End Sub

Mon problème est que lorsque je fait F5, j'ai une erreur d’exécution 1004 et je n'arrive pas à résoudre ce problème en fouillant sur le forum ni même a très bien comprendre ce qu'est cette fameuse erreur.

En vous remerciant par avance
 

Dranreb

XLDnaute Barbatruc
Bonsoir.
Comme déjà répondu ici :
remplacez vos deux instructions par une seule, celle ci :
VB:
If Abs(.Cells(i, 3) - moy) >= 2 * SD Then .Cells(i, 3) = ""
Remarque: L'erreur vient de ce que votre boucle met toutes les cellules = "", il n'en reste donc plus une seule numérique pour en recalculer la moyenne et l'écart type.
 
Dernière édition:

Discussions similaires

Réponses
20
Affichages
3 K
Réponses
0
Affichages
314

Statistiques des forums

Discussions
314 708
Messages
2 112 097
Membres
111 416
dernier inscrit
philipperoy83