[VBA Excel] Problème ComboBox et Function [Résolu]

Problème ComboBox et Function [Résolu] [VBA Excel] - VB/VBA/VBS - Programmation

Marsh Posté le 31-01-2011 à 08:50:15    

Bonjour,
 
Je viens de réaliser une petite interface qui me donne des ratios (Aménagement de surface en voirie: % de pavés par rapport au joints pour 1,00 m²).
 
Je dispose donc d'une Userform (munie de plusieurs ComboBox et TextBox) dans laquelle on peut trouver les instructions d'initialisation et de conditions puis un module dans lequel se trouve les function de calcul.
 
Le but de cette interface est donc de donner les ratios automatiquement dans les TextBox par le biais des "Function" une fois les valeurs choisies dans les ComboBox.
 
Le code fonctionne mais il subsiste une anomalie! pour certaines valeurs (dans les ComboBox) le calcul ne se fait pas et là je sèche complètement.
 
Voici le code:
 
Dans l'Userform:
 

Code :
  1. Option Explicit
  2. Dim i As Byte
  3. Dim LargPav As Variant
  4. Dim LongPav As Variant
  5. Dim LargJoint As Variant
  6. Dim Surf As Variant
  7. Dim HautPav As Variant
  8. Private Sub ComboBox1_Click()
  9. If ComboBox1 <> "" Then
  10.     LargPav = Left(ComboBox1.Value, Len(ComboBox1.Value) - 3)
  11.     TextBox1.Value = CalcA(LargPav, LongPav, LargJoint)
  12.     TextBox2.Value = CalcB(LargPav, LongPav, LargJoint)
  13.     TextBox3.Value = ComboBox1.Value
  14. Else
  15.     LargPav = ""
  16.     TextBox1.Value = ""
  17.     TextBox2.Value = ""
  18.     TextBox3.Value = ""
  19. End If
  20. End Sub
  21. Private Sub ComboBox2_Click()
  22. If ComboBox2 <> "" Then
  23.     LongPav = Left(ComboBox2.Value, Len(ComboBox2.Value) - 3)
  24.     TextBox1.Value = CalcA(LargPav, LongPav, LargJoint)
  25.     TextBox2.Value = CalcB(LargPav, LongPav, LargJoint)
  26.     TextBox4.Value = ComboBox2.Value
  27. Else
  28.     LongPav = ""
  29.     TextBox1.Value = ""
  30.     TextBox2.Value = ""
  31.     TextBox4.Value = ""
  32. End If
  33. End Sub
  34. Private Sub ComboBox3_Click()
  35. If ComboBox3 <> "" Then
  36.     LargJoint = (Left(ComboBox3.Value, Len(ComboBox3.Value) - 3)) / 10
  37.     TextBox1.Value = CalcA(LargPav, LongPav, LargJoint)
  38.     TextBox2.Value = CalcB(LargPav, LongPav, LargJoint)
  39. Else
  40.     HautPav = ""
  41.     TextBox1.Value = ""
  42.     TextBox2.Value = ""
  43. End If
  44. End Sub
  45. Private Sub ComboBox4_Click()
  46. If ComboBox4 <> "" Then
  47.     HautPav = Left(ComboBox4.Value, Len(ComboBox4.Value) - 3)
  48.     TextBox5 = ComboBox4.Value
  49.     TextBox7 = CalcC(LargPav, LongPav, LargJoint, Surf)
  50.     TextBox8 = CalcD(LargPav, LongPav, LargJoint, HautPav, Surf)
  51. Else
  52.     HautPav = ""
  53.     TextBox7 = ""
  54.     TextBox8 = ""
  55. End If
  56. End Sub
  57. Private Sub CommandButton1_Click()
  58. Unload RatioBox
  59. End Sub
  60. Private Sub CommandButton2_Click()
  61. MsgBox "LargPav= " & LargPav & Chr(10) & "LongPav= " & LongPav & Chr(10) & "LargJoint= " & LargJoint & Chr(10) & "HautPav= " & HautPav & Chr(10) & "Surf= " & Surf & Chr(10) & "CalcA= " & CalcA(LargPav, LongPav, LargJoint) & Chr(10) & "CalcB= " & CalcB(LargPav, LongPav, LargJoint) & Chr(10) & "CalcC= " & CalcC(LargPav, LongPav, LargJoint, Surf) & Chr(10) & "CalcD= " & CalcD(LargPav, LongPav, LargJoint, HautPav, Surf)
  62. End Sub
  63. Private Sub TextBox6_AfterUpdate()
  64. TextBox6.Value = Format(TextBox6.Value, "#.00 m²" )
  65. If TextBox6 <> "" Then
  66.     Surf = Left(TextBox6.Value, Len(TextBox6.Value) - 3)
  67.     TextBox7 = CalcC(LargPav, LongPav, LargJoint, Surf)
  68.     TextBox8 = CalcD(LargPav, LongPav, LargJoint, HautPav, Surf)
  69. Else
  70.     Surf = ""
  71.     TextBox7 = ""
  72.     TextBox8 = ""
  73. End If
  74. End Sub
  75. Private Sub UserForm_Initialize()
  76. With ComboBox1
  77.     .AddItem ""
  78. End With
  79. With ComboBox2
  80.     .AddItem ""
  81. End With
  82. For i = 5 To 100
  83.     'Initialisation Sections Pavé'
  84.     With ComboBox1
  85.         .AddItem Format(i, "#.00 cm" )
  86.     End With
  87.     'Initialisation Largeur Pavé'
  88.     With ComboBox2
  89.         .AddItem Format(i, "#.00 cm" )
  90.     End With
  91. Next i
  92. 'Initialisation Largeur des Joints'
  93. With ComboBox3
  94.     .AddItem ""
  95.     .AddItem "8 mm"
  96.     .AddItem "10 mm"
  97.     .AddItem "15 mm"
  98.     .AddItem "20 mm"
  99.     .AddItem "25 mm"
  100.     .AddItem "30 mm"
  101.     .AddItem "35 mm"
  102.     .AddItem "40 mm"
  103. End With
  104. 'Initialisation Hauteur des Pavés'
  105. With ComboBox4
  106.     .AddItem ""
  107.     .AddItem "6,00 cm"
  108.     .AddItem "8,00 cm"
  109.     .AddItem "14,00 cm"
  110.     .AddItem "20,00 cm"
  111. End With
  112. TextBox1.Enabled = False
  113. TextBox2.Enabled = False
  114. TextBox3.Enabled = False
  115. TextBox4.Enabled = False
  116. TextBox5.Enabled = False
  117. TextBox7.Enabled = False
  118. TextBox8.Enabled = False
  119. End Sub


 
 
Dans un module:
 

Code :
  1. Option Explicit
  2. Function CalcA(LargPav, LongPav, LargJoint)
  3. If LargPav And LongPav And LargJoint <> "" Then
  4.     CalcA = Format((LargPav * LongPav) / ((LargPav + LargJoint) * (LongPav + LargJoint)), "#.0 %" )
  5. End If
  6.    
  7. End Function
  8. Function CalcB(LargPav, LongPav, LargJoint)
  9. If LargPav And LongPav And LargJoint <> "" Then
  10.     CalcB = Format((((LargPav + LargJoint) * (LongPav + LargJoint)) - (LargPav * LongPav)) / ((LargPav + LargJoint) * (LongPav + LargJoint)), "#.0 %" )
  11. End If
  12. End Function
  13. Function CalcC(LargPav, LongPav, LargJoint, Surf)
  14. If LargPav And LongPav And LargJoint And Surf <> "" Then
  15.     CalcC = Format(Surf * ((LargPav * LongPav) / ((LargPav + LargJoint) * (LongPav + LargJoint))), "#.00 m²" )
  16. End If
  17. End Function
  18. Function CalcD(LargPav, LongPav, LargJoint, HautPav, Surf)
  19. If LargPav And LongPav And LargJoint And HautPav <> "" Then
  20.     CalcD = Format((HautPav * Surf * ((((LargPav + LargJoint) * (LongPav + LargJoint)) - (LargPav * LongPav)) / ((LargPav + LargJoint) * (LongPav + LargJoint))) / 100), "# ###.00 m3" )
  21. End If
  22. End Function


 
Merci d'avance pour vos lumières.
 
@bientôt


Message édité par mmarle le 25-02-2011 à 22:42:39
Reply

Marsh Posté le 31-01-2011 à 08:50:15   

Reply

Marsh Posté le 02-02-2011 à 17:29:47    

As-tu des exemples de valeurs qui entraînent le bug ?
La macro va au bout et pas de réponse ou bien s'arrête sur une ligne ? si oui, quel est le message d'erreur et la ligne d'arrêt ?

Reply

Marsh Posté le 04-02-2011 à 09:31:22    

En fait l'application ne plante pas, mais elle ne retourne rien lorsque l'on séléctionne par exemple "8,00" et ses multiples.
 
Par contre je viens de rectifier le code.  
 
Notamment:
- De supprimer les conditions "if" dans les functions.  
- De déclarer les variables à juste titre et non pas mettre variant pour plus de facilité.
 
Et là tout à l'air de fonctionner à merveille.

Reply

Marsh Posté le 11-02-2011 à 08:54:41    

Bonjour,
 
Voici le code modifié.
 
Dans l'Userform:
 

Code :
  1. Option Explicit
  2. '*****************************'
  3. '* Déclaration des Variables *'
  4. '*****************************'
  5. Dim i As Integer
  6. Dim a As Integer
  7. Dim LargPav As Byte
  8. Dim LongPav As Byte
  9. Dim LargJoint As Single
  10. Dim EpLi As Single
  11. Dim Surf As Single
  12. Dim HautPav As Byte
  13. Dim DosageA As Integer
  14. Dim DosageB As Integer
  15. Private Sub ComboBox1_Click()
  16. '*********************'
  17. '* Largeur des Pavés *'
  18. '*********************'
  19. If ComboBox1 <> "" Then
  20.     LargPav = Left(ComboBox1.Value, Len(ComboBox1) - 3)
  21.     TextBox2 = CalcA(LargPav, LongPav, LargJoint)
  22.     TextBox3 = CalcB(LargPav, LongPav, LargJoint)
  23.     TextBox4 = CalcC(LargPav, LongPav, LargJoint, Surf)
  24.     TextBox5 = CalcD(LargPav, LongPav, LargJoint, Surf)
  25.     TextBox8 = CalcG(LargPav, LongPav, LargJoint, Surf, HautPav)
  26.     TextBox9 = CalcH(LargPav, LongPav, LargJoint, Surf, HautPav, DosageB)
  27. Else
  28.     LargPav = 0
  29.     TextBox2 = ""
  30.     TextBox3 = ""
  31.     TextBox4 = ""
  32.     TextBox5 = ""
  33.     TextBox8 = ""
  34.     TextBox9 = ""
  35. End If
  36. End Sub
  37. Private Sub ComboBox2_Click()
  38. '**********************'
  39. '* Longueur des Pavés *'
  40. '**********************'
  41. If ComboBox2 <> "" Then
  42.     LongPav = Left(ComboBox2.Value, Len(ComboBox2) - 3)
  43.     TextBox2 = CalcA(LargPav, LongPav, LargJoint)
  44.     TextBox3 = CalcB(LargPav, LongPav, LargJoint)
  45.     TextBox4 = CalcC(LargPav, LongPav, LargJoint, Surf)
  46.     TextBox5 = CalcD(LargPav, LongPav, LargJoint, Surf)
  47.     TextBox8 = CalcG(LargPav, LongPav, LargJoint, Surf, HautPav)
  48.     TextBox9 = CalcH(LargPav, LongPav, LargJoint, Surf, HautPav, DosageB)
  49. Else
  50.     LongPav = 0
  51.     TextBox2 = ""
  52.     TextBox3 = ""
  53.     TextBox4 = ""
  54.     TextBox5 = ""
  55.     TextBox8 = ""
  56.     TextBox9 = ""
  57. End If
  58. End Sub
  59. Private Sub ComboBox3_Change()
  60. '*********************'
  61. '* Hauteur des Pavés *'
  62. '*********************'
  63. If ComboBox3 <> "" Then
  64.     HautPav = Left(ComboBox3.Value, Len(ComboBox3) - 3)
  65.     TextBox8 = CalcG(LargPav, LongPav, LargJoint, Surf, HautPav)
  66.     TextBox9 = CalcH(LargPav, LongPav, LargJoint, Surf, HautPav, DosageB)
  67. Else
  68.     HautPav = 0
  69.     TextBox8 = ""
  70.     TextBox9 = ""
  71. End If
  72. End Sub
  73. Private Sub ComboBox4_Click()
  74. '**********************'
  75. '* Largeur des Joints *'
  76. '**********************'
  77. If ComboBox4 <> "" Then
  78.     LargJoint = Left(ComboBox4.Value, Len(ComboBox4) - 3) / 10
  79.     TextBox2 = CalcA(LargPav, LongPav, LargJoint)
  80.     TextBox3 = CalcB(LargPav, LongPav, LargJoint)
  81.     TextBox4 = CalcC(LargPav, LongPav, LargJoint, Surf)
  82.     TextBox5 = CalcD(LargPav, LongPav, LargJoint, Surf)
  83.     TextBox8 = CalcG(LargPav, LongPav, LargJoint, Surf, HautPav)
  84.     TextBox9 = CalcH(LargPav, LongPav, LargJoint, Surf, HautPav, DosageB)
  85. Else
  86.     LargJoint = 0
  87.     TextBox2 = ""
  88.     TextBox3 = ""
  89.     TextBox4 = ""
  90.     TextBox5 = ""
  91.     TextBox8 = ""
  92.     TextBox9 = ""
  93. End If
  94. End Sub
  95. Private Sub ComboBox5_Change()
  96. '*************************'
  97. '* Epaisseur Lit de Pose *'
  98. '*************************'
  99. If ComboBox5 <> "" Then
  100.     EpLi = (Left(ComboBox5.Value, Len(ComboBox5) - 3)) / 100
  101.     TextBox6 = CalcE(Surf, EpLi)
  102.     TextBox7 = CalcF(Surf, EpLi, DosageA)
  103. Else
  104.     EpLi = 0
  105.     TextBox6 = ""
  106.     TextBox7 = ""
  107. End If
  108. End Sub
  109. Private Sub ComboBox6_Change()
  110. '*************************************'
  111. '* Dosage en Ciment pour Lit de Pose *'
  112. '*************************************'
  113. If ComboBox6 <> "" Then
  114.     DosageA = Left(ComboBox6.Value, Len(ComboBox6) - 6)
  115.     TextBox7 = CalcF(Surf, EpLi, DosageA)
  116. Else
  117.     DosageA = 0
  118.     TextBox7 = ""
  119. End If
  120. End Sub
  121. Private Sub ComboBox7_Click()
  122. '********************************'
  123. '* Dosage en Ciment pour joints *'
  124. '********************************'
  125. If ComboBox7 <> "" Then
  126.     DosageB = Left(ComboBox7.Value, Len(ComboBox7) - 6)
  127.     TextBox9 = CalcH(LargPav, LongPav, LargJoint, Surf, HautPav, DosageB)
  128. Else
  129.     DosageB = 0
  130.     TextBox9 = ""
  131. End If
  132. End Sub
  133. Private Sub CommandButton1_Click()
  134. '*****************'
  135. '* Bouton Fermer *'
  136. '*****************'
  137. 'Ferme RatioBox'
  138. Unload RatioBox
  139. End Sub
  140. Private Sub TextBox1_AfterUpdate()
  141. '*************************'
  142. '* Mise en Forme Surface *'
  143. '*************************'
  144. TextBox1 = Format(TextBox1, "# ### ##0.00 m²" )
  145. If TextBox1 <> "" Then
  146.     Surf = Left(TextBox1.Value, Len(TextBox1.Value) - 3)
  147.     TextBox4 = CalcC(LargPav, LongPav, LargJoint, Surf)
  148.     TextBox5 = CalcD(LargPav, LongPav, LargJoint, Surf)
  149.     TextBox6 = CalcE(Surf, EpLi)
  150.     TextBox7 = CalcF(Surf, EpLi, DosageA)
  151.     TextBox8 = CalcG(LargPav, LongPav, LargJoint, Surf, HautPav)
  152.     TextBox9 = CalcH(LargPav, LongPav, LargJoint, Surf, HautPav, DosageB)
  153. Else
  154.     Surf = ""
  155.     TextBox4 = ""
  156.     TextBox5 = ""
  157.     TextBox6 = ""
  158.     TextBox7 = ""
  159.     TextBox8 = ""
  160.     TextBox9 = ""
  161. End If
  162. End Sub
  163. Private Sub TextBox2_Change()
  164. '*****************************'
  165. '* Mise en Forme Ratio Pavés *'
  166. '*****************************'
  167. TextBox2 = Format(TextBox2, "#.00 %" )
  168. Select Case CalcA(LargPav, LongPav, LargJoint)
  169.     Case Is = 0
  170.         TextBox2 = ""
  171.     Case Is = 1
  172.         TextBox2 = ""
  173. End Select
  174. End Sub
  175. Private Sub TextBox3_Change()
  176. '******************************'
  177. '* Mise en Forme Ratio Joints *'
  178. '******************************'
  179. TextBox3 = Format(TextBox3, "#.00 %" )
  180. Select Case CalcB(LargPav, LongPav, LargJoint)
  181.     Case Is = 0
  182.         TextBox3 = ""
  183.     Case Is = 1
  184.         TextBox3 = ""
  185. End Select
  186. End Sub
  187. Private Sub TextBox4_Change()
  188. '*******************************'
  189. '* Mise en Forme Surface Pavés *'
  190. '*******************************'
  191. TextBox4 = Format(TextBox4, "# ##0.00 m²" )
  192. Select Case CalcC(LargPav, LongPav, LargJoint, Surf)
  193.     Case Is = 0
  194.         TextBox4 = ""
  195.     Case Is = 1
  196.         TextBox4 = ""
  197. End Select
  198. End Sub
  199. Private Sub TextBox5_Change()
  200. '********************************'
  201. '* Mise en Forme Surface Joints *'
  202. '********************************'
  203. TextBox5 = Format(TextBox5, "# ##0.00 m²" )
  204. Select Case CalcD(LargPav, LongPav, LargJoint, Surf)
  205.     Case Is = 0
  206.         TextBox5 = ""
  207.     Case Is = 1
  208.         TextBox5 = ""
  209. End Select
  210. End Sub
  211. Private Sub TextBox6_Change()
  212. '************************************'
  213. '* Mise en Forme Volume Lit de Pose *'
  214. '************************************'
  215. TextBox6 = Format(TextBox6, "# ##0.00 m3" )
  216. Select Case CalcE(Surf, EpLi)
  217.     Case Is = 0
  218.         TextBox6 = ""
  219.     Case Is = 1
  220.         TextBox6 = ""
  221. End Select
  222. End Sub
  223. Private Sub TextBox7_Change()
  224. '********************************************************'
  225. '* Mise en Forme Nbre de Sac de Ciment pour Lit de Pose *'
  226. '********************************************************'
  227. 'TextBox7 = TextBox7
  228. Select Case CalcF(Surf, EpLi, DosageA)
  229.     Case Is = 0
  230.         TextBox7 = ""
  231.     Case Is = 1
  232.         TextBox7 = ""
  233. End Select
  234. End Sub
  235. Private Sub TextBox8_Change()
  236. '*******************************'
  237. '* Mise en Forme Surface Pavés *'
  238. '*******************************'
  239. TextBox8 = Format(TextBox8, "# ##0.00 m3" )
  240. Select Case CalcG(LargPav, LongPav, LargJoint, HautPav, Surf)
  241.     Case Is = 0
  242.         TextBox8 = ""
  243.     Case Is = 1
  244.         TextBox8 = ""
  245. End Select
  246. End Sub
  247. Private Sub TextBox9_Change()
  248. Select Case CalcH(LargPav, LongPav, LargJoint, HautPav, Surf, DosageB)
  249.     Case Is = 0
  250.         TextBox9 = ""
  251.     Case Is = 1
  252.         TextBox9 = ""
  253. End Select
  254. End Sub
  255. Private Sub UserForm_Initialize()
  256. '***************************'
  257. '* Initialisation RatioBox *'
  258. '***************************'
  259. 'Initialisation Largeur des Pavés'
  260. With ComboBox1
  261.     .AddItem ""
  262. End With
  263. 'Initialisation Longueur des Pavés'
  264. With ComboBox2
  265.     .AddItem ""
  266. End With
  267. For i = 5 To 100
  268.     'Initialisation Largeur des Pavés'
  269.     With ComboBox1
  270.         .AddItem Format(i, "#.00 cm" )
  271.     End With
  272.     'Initialisation Longueur des Pavés'
  273.     With ComboBox2
  274.         .AddItem Format(i, "#.00 cm" )
  275.     End With
  276. Next i
  277. 'Initialisation Hauteur des Pavés'
  278. With ComboBox3
  279.     .AddItem ""
  280.     .AddItem Format(6, "#.00 cm" )
  281.     .AddItem Format(8, "#.00 cm" )
  282.     .AddItem Format(14, "#.00 cm" )
  283.     .AddItem Format(20, "#.00 cm" )
  284. End With
  285. 'Initialisation Largeur des Joints'
  286. With ComboBox4
  287.     .AddItem ""
  288.     .AddItem 8 & " mm"
  289.     .AddItem 10 & " mm"
  290.     .AddItem 15 & " mm"
  291.     .AddItem 20 & " mm"
  292.     .AddItem 25 & " mm"
  293.     .AddItem 30 & " mm"
  294.     .AddItem 35 & " mm"
  295.     .AddItem 40 & " mm"
  296. End With
  297. 'Initialisation Epaisseur Lit de Pose'
  298. With ComboBox5
  299.     .AddItem ""
  300. End With
  301. 'Initialisation Dosage Ciment'
  302. For i = 3 To 6
  303.     With ComboBox5
  304.         .AddItem Format(i, " #.00 cm" )
  305.     End With
  306. Next i
  307. 'Initialisation Dosage Ciment'
  308. With ComboBox6
  309.     .AddItem ""
  310. End With
  311. 'Initialisation Dosage Ciment'
  312. For a = 100 To 500 Step 25
  313.     With ComboBox6
  314.         .AddItem a & " Kg/m3"
  315.     End With
  316. Next a
  317. 'Initialisation Dosage Ciment'
  318. With ComboBox7
  319.     .AddItem ""
  320. End With
  321. 'Initialisation Dosage Ciment'
  322. For a = 100 To 500 Step 25
  323.     With ComboBox7
  324.         .AddItem a & " Kg/m3"
  325.     End With
  326. Next a
  327. 'Saisie dans TextBox désactivée'
  328. TextBox2.Enabled = False
  329. TextBox3.Enabled = False
  330. TextBox4.Enabled = False
  331. TextBox5.Enabled = False
  332. TextBox6.Enabled = False
  333. TextBox7.Enabled = False
  334. TextBox8.Enabled = False
  335. TextBox9.Enabled = False
  336. End Sub


 
Dans un module:
 

Code :
  1. Option Explicit
  2. Function CalcA(LargPav, LongPav, LargJoint)
  3. 'Calcul du Pourcentage de Pavés'
  4. On Error Resume Next
  5. CalcA = (LargPav * LongPav) / ((LargPav + LargJoint) * (LongPav + LargJoint))
  6.    
  7. End Function
  8. Function CalcB(LargPav, LongPav, LargJoint)
  9. 'Calcul du Pourcentage de Joints'
  10. On Error Resume Next
  11. CalcB = (((LargPav + LargJoint) * (LongPav + LargJoint)) - (LargPav * LongPav)) / ((LargPav + LargJoint) * (LongPav + LargJoint))
  12. End Function
  13. Function CalcC(LargPav, LongPav, LargJoint, Surf)
  14. 'Calcul de la surface de Pavés'
  15. On Error Resume Next
  16. CalcC = Surf * ((LargPav * LongPav) / ((LargPav + LargJoint) * (LongPav + LargJoint)))
  17. End Function
  18. Function CalcD(LargPav, LongPav, LargJoint, Surf)
  19. 'Calcul de la surface de Joints'
  20. On Error Resume Next
  21. CalcD = Surf * ((((LargPav + LargJoint) * (LongPav + LargJoint)) - (LargPav * LongPav)) / ((LargPav + LargJoint) * (LongPav + LargJoint)))
  22. End Function
  23. Function CalcE(Surf, EpLi)
  24. 'Calcul du Volume de Lit de Pose'
  25. On Error Resume Next
  26. CalcE = Surf * EpLi
  27. End Function
  28. Function CalcF(Surf, EpLi, DosageA)
  29. 'Calcul du Nombre de Sac de Ciment pour le Lit de Pose'
  30. On Error Resume Next
  31. CalcF = Format(Int((Surf * EpLi * DosageA) / 25), "# ##0" )
  32. End Function
  33. Function CalcG(LargPav, LongPav, LargJoint, Surf, HautPav)
  34. 'Calcul du Volume de Joints'
  35. On Error Resume Next
  36. CalcG = (HautPav * Surf * ((((LargPav + LargJoint) * (LongPav + LargJoint)) - (LargPav * LongPav)) / ((LargPav + LargJoint) * (LongPav + LargJoint))) / 100)
  37. End Function
  38. Function CalcH(LargPav, LongPav, LargJoint, Surf, HautPav, DosageB)
  39. 'Calcul du Nombre de Sac de Ciment pour les Joints'
  40. On Error Resume Next
  41. CalcH = Format(Int((DosageB * (HautPav * Surf * ((((LargPav + LargJoint) * (LongPav + LargJoint)) - (LargPav * LongPav)) / ((LargPav + LargJoint) * (LongPav + LargJoint))) / 100)) / 25), "# ##0" )
  42. End Function


Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed