C'est là que je cale. Je suis nul en stats. Est-ce que tu peux me donner une série de nombres avec les barres d'erreur souhaitées ?
Version imprimable
C'est là que je cale. Je suis nul en stats. Est-ce que tu peux me donner une série de nombres avec les barres d'erreur souhaitées ?
Ces écarts Maximum Tolérés ou EMT sont dans l'onglet BD PIPETTES en K88:L95.
et sont les suivants:
50 EMT=0,5 soit 49.5 à 50.5
100 EMT=0,8
200 EMT=1,6
500 EMT=4
1000 EMT=8
ou bien pipette par pipette, et par la fonction recherche, dans la colonne H de ce même onglet.
En fait, faisons plus simple. Il faut que la barre d'erreur corresponde à une cellule. Après je m'en arrange.
La valeur de la barre d'erreur est en cellule Z1 de la feuille "Certificat". J'ai supposé que le premier textbox était toujours rempli en premier. Sinon, il faudra modifier.
On peut entrer une valeur d'erreur en pourcentage (c'est le cas actuellement) ou une constante; il faut alors remplacer la ligne :
par :Code:ebSeries1.Type = C.chErrorBarTypePercent
Regarde le classeur joint.Code:ebSeries1.Type = C.chErrorBarTypeFixedValue
Bonjour Daniel
En fait, les barres d'erreur ne doivent pas s'appliquer aux volumes mesurés mais à la valeur théorique (textbox jaune) et mes volumes mesurés doivent être compris entre ces barres. C'est à dire que si je vérifie une pipette à 100µl, je note dans ma textbox "Vol.minimal" 100,( l'EMT correspondant à ce volume est 0.8) et donc tous mes volumes mesurés devront se situer entre 99.2 et 100.8.
Je pense que ça revient à créer 2 autres séries constantes.
J'essaie de comprendre tes lignes de programmes pour essayer de me débrouiller par moi même, mais franchement, je suis largué.
En tout cas merci beaucoup !!!
Thierry
Moi aussi... Si tu pouvais faire un graphique sur une feuille avec les barres d'erreur telles que tu les veux, je comprendrais peut-être mieux ? En attendant, je te mets le code commenté :Citation:
mais franchement, je suis largué
Pour éviter de perdre du temps, tu devrais peut-être ouvrir une nouvelle discussion sur les ChartSpaces ?Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23 Private Sub vmin1_Exit(ByVal Cancel As MSForms.ReturnBoolean) PlageY(1) = CDbl(vmin1.Value) 'insertion des valeurs d'abscisses Cht.SetData C.chDimCategories, C.chDataLiteral, PlageX 'insertion des valeurs d'abscisses de la série Cht.SeriesCollection(0).SetData C.chDimXValues, C.chDataLiteral, PlageX 'insertion des valeurs d'ordonnées de la série Cht.SeriesCollection(0).SetData C.chDimYValues, C.chDataLiteral, PlageY 'ajout des barres d'erreur Set EB = Cht.SeriesCollection(0).ErrorBarsCollection EB.Add 'définition de "ebSeries1" Set ebSeries1 = EB.Item(0) 'définition du type de valeurs de barres d'erreurs 'chErrorBarTypePercent = pourcentage 'chErrorBarTypeFixedValue = constante 'chErrorBarTypeCustom = personnalisée, soit : ' - chErrorBarMinusValues ' - chErrorBarPlusValues ebSeries1.Type = C.chErrorBarTypePercent 'affectation de la valeur ebSeries1.Amount = PlageErr End Sub
Je te joins un exemple de ce que je cherche à faire.
Je vais suivre ton conseil, et ouvrir une discussion sur les charts space.
Je tiens vraiment à te remercier pour tout le mal que tu t'es donné !
Bien cordialement
Thierry
Je viens de l'écrire sur un autre postCitation:
Je tiens vraiment à te remercier pour tout le mal que tu t'es donné !
Citation:
Oui, mais vous oubliez un peu trop souvent les encouragements se traduisant par un click sur :plusser: en bas du message de celui qui vous a favorablement répondu, en l'occurence, ici Daniel.C
OUF !
Regarde le classeur joint. Il faut supprimer le ligne :
Les déclarations et la macro UserForm_Initialize sont :Code:Option Base 1
Le code pour les deux premiers textboxes est :Code:
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 Public Cht As ChChart, C As Object, PlageErr As Range, ebSeries1 As Object Dim PlageX(9), PlageY(9), TablSup(99), TablInf(9) Private Sub UserForm_Initialize() datejour.Value = Format(Now(), "dd/mm/yyyy") localisation.ListIndex = -1 npipette.ListIndex = -1 Set C = ChartSpace1.Constants For i = 0 To 9 PlageX(i) = i PlageY(i) = 0 Next i Me.ChartSpace1.Clear 'Ajoute le graphique Set Cht = ChartSpace1.Charts.Add Set C = ChartSpace1.Constants With Cht For i = .SeriesCollection.Count To 1 Step -1 .SeriesCollection.Delete i - 1 Next i 'Permet l'affichage des légendes .HasLegend = False 'Affiche les légendes sous le graphique '.Legend.Position = chLegendPositionBottom 'Attribue un titre .HasTitle = False '.Title.Caption = "Mon graphique" .Type = chChartTypeLine End With End Sub
Pour les autres, il faut répéter celui du second textbox en incrémentant l'index de PlageY.Code:
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 Private Sub vmin1_Exit(ByVal Cancel As MSForms.ReturnBoolean) If Volmin.Text = "" Then MsgBox "Vol. min non saisi" Exit Sub End If For i = 0 To 9 TablInf(i) = CDbl(Volmin.Text) - Application.VLookup(CDbl(Volmin.Text), ['BD PIPETTES'!K88:L95], 2) _ / CDbl(Volmin.Text) * 100 TablSup(i) = CDbl(Volmin.Text) + Application.VLookup(CDbl(Volmin.Text), ['BD PIPETTES'!K88:L95], 2) _ / CDbl(Volmin.Text) * 100 Next i PlageY(0) = CDbl(vmin1.Value) 'insertion des valeurs d'abscisses Cht.SetData C.chDimCategories, C.chDataLiteral, PlageX 'insertion des valeurs d'abscisses de la série 'Cht.SeriesCollection(0).SetData C.chDimXValues, C.chDataLiteral, PlageX 'insertion des valeurs d'ordonnées de la série Cht.Axes(1).Scaling.Maximum = TablSup(0) + 2 Cht.Axes(1).Scaling.Minimum = TablInf(0) - 2 With Cht.SeriesCollection(0) .SetData C.chDimValues, C.chDataLiteral, PlageY .Line.Color = xlNone .Marker.Style = chMarkerStyleCircle End With Cht.SeriesCollection.Add Cht.SeriesCollection(1).SetData C.chDimValues, C.chDataLiteral, TablSup Cht.SeriesCollection.Add Cht.SeriesCollection(2).SetData C.chDimValues, C.chDataLiteral, TablInf End Sub Private Sub vmin2_Exit(ByVal Cancel As MSForms.ReturnBoolean) PlageY(1) = CDbl(vmin2.Value) Cht.SeriesCollection(0).SetData C.chDimValues, C.chDataLiteral, PlageY End Sub
A casefayere :
Merci; il y a des rappels nécessaires...
en attendant, moi je vais faire :plusser: alors que ce n'est pas mon role mais je reconnais ta disponibilité
Merci.
Un grand merci, Daniel. C'est tout à fait ça. Je vais donc compléter pour les autres textboxs.
Je suis désolé pour les votes (pouce vert), je ne suis pas un habitué. Mais j'ai corrigé mon erreur. Je suis repassé sur tes réponses.
Encore merci !
Bien cordialement.
Thierry