Au début, j'ai réalisé mon programme avec une boucle while puis vu que cela ne marchait pas, j'ai essayé sans boucle. Donc j'ai actuellement cela :
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 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56
| Function CalculCaquot1() As Double
Dim a2 As Double = Convert.ToDouble(Me.Labela2.Text)
Dim b2 As Double = Convert.ToDouble(Me.Labelb2.Text)
Dim LabelQmaxi As Double
Dim ValeurS1 As Double = Convert.ToDouble(Me.DataGridView1.Rows(0).Cells("Surfacetotale").Value)
Dim ValeurL1 As Double = Convert.ToDouble(Me.DataGridView1.Rows(0).Cells("longueur").Value)
Dim ValeurC1 As Double = Convert.ToDouble(Me.DataGridView1.Rows(0).Cells("Coefficientimpermeabilisation").Value)
Dim ValeurP1 As Double = Convert.ToDouble(Me.DataGridView1.Rows(0).Cells("pente").Value)
LabelQmaxi = ((((a2 / 60) / 6.6) * (0.28 * (ValeurL1 / 100) ^ 0.84 * (ValeurS1 / 10000) ^ -0.42) ^ -b2) ^ (1 / (1 - 0.287 * b2))) * (ValeurC1 ^ (1 / (1 - 0.287 * b2))) * ((ValeurP1 / 100) ^ (0.41 * b2 / (1 - 0.287 * b2))) * ((ValeurS1 / 10000) ^ ((0.95 - 0.507 * b2) / (1 - 0.287 * b2))) * 1000
Return LabelQmaxi
End Function
Function CalculCaquot2() As Double
Dim a2 As Double = Convert.ToDouble(Me.Labela2.Text)
Dim b2 As Double = Convert.ToDouble(Me.Labelb2.Text)
Dim LabelQmaxi As Double
Dim ValeurS2 As Double = Convert.ToDouble(Me.DataGridView1.Rows(1).Cells("Surfacetotale").Value)
Dim ValeurL2 As Double = Convert.ToDouble(Me.DataGridView1.Rows(1).Cells("longueur").Value)
Dim ValeurC2 As Double = Convert.ToDouble(Me.DataGridView1.Rows(1).Cells("Coefficientimpermeabilisation").Value)
Dim ValeurP2 As Double = Convert.ToDouble(Me.DataGridView1.Rows(1).Cells("pente").Value)
LabelQmaxi = ((((a2 / 60) / 6.6) * (0.28 * (ValeurL2 / 100) ^ 0.84 * (ValeurS2 / 10000) ^ -0.42) ^ -b2) ^ (1 / (1 - 0.287 * b2))) * (ValeurC2 ^ (1 / (1 - 0.287 * b2))) * ((ValeurP2 / 100) ^ (0.41 * b2 / (1 - 0.287 * b2))) * ((ValeurS2 / 10000) ^ ((0.95 - 0.507 * b2) / (1 - 0.287 * b2))) * 1000
Return LabelQmaxi
End Function
Function CalculCaquot3() As Double
Dim a2 As Double = Convert.ToDouble(Me.Labela2.Text)
Dim b2 As Double = Convert.ToDouble(Me.Labelb2.Text)
Dim LabelQmaxi As Double
Dim ValeurS3 As Double = Convert.ToDouble(Me.DataGridView1.Rows(2).Cells("Surfacetotale").Value)
Dim ValeurL3 As Double = Convert.ToDouble(Me.DataGridView1.Rows(2).Cells("longueur").Value)
Dim ValeurC3 As Double = Convert.ToDouble(Me.DataGridView1.Rows(2).Cells("Coefficientimpermeabilisation").Value)
Dim ValeurP3 As Double = Convert.ToDouble(Me.DataGridView1.Rows(2).Cells("pente").Value)
LabelQmaxi = ((((a2 / 60) / 6.6) * (0.28 * (ValeurL3 / 100) ^ 0.84 * (ValeurS3 / 10000) ^ -0.42) ^ -b2) ^ (1 / (1 - 0.287 * b2))) * (ValeurC3 ^ (1 / (1 - 0.287 * b2))) * ((ValeurP3 / 100) ^ (0.41 * b2 / (1 - 0.287 * b2))) * ((ValeurS3 / 10000) ^ ((0.95 - 0.507 * b2) / (1 - 0.287 * b2))) * 1000
Return LabelQmaxi
End Function
Private Sub ButtonCalcul2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ButtonCalcul2.Click
If Verification() Then
Me.DataGridView2.Rows(0).Cells("debit").Value = CalculCaquot1().ToString("0.0#")
Me.DataGridView2.Rows(1).Cells("debit").Value = CalculCaquot2().ToString("0.0#")
Me.DataGridView2.Rows(2).Cells("debit").Value = CalculCaquot3().ToString("0.0#")
Me.DataGridView2.Rows(3).Cells("debit").Value = CalculCaquot4().ToString("0.0#")
Else
Me.erreur2.Visible = True
End If
End Sub |
Mais j'ai encore la même erreur qui apparait à cette ligne :
Me.DataGridView2.Rows(1).Cells("debit").Value = CalculCaquot2().ToString("0.0#")
Partager