Bloqué sur VBA

Résolu
Epervier22 Messages postés 13 Date d'inscription   Statut Membre Dernière intervention   -  
 Yoda -
Bonjour,
je suis en train de faire un programme pour m'afficher automatiquement le diamètre de tube cuivre normalisé en fonction du débit dans la canalisation. Sauf que je n'arrive pas à faire s'arrêter le programme sur le bon diamètre.

Voici le programme :
Sub Diamètre_cuivre()


'Variables
Dim a As Single
Dim b As String
Dim c As Integer
Dim d As String
Dim diametre_normalisé(7) As String
Dim Dint(7) As Single
Dim vitesse As Single
Dim debit As Single
Dim section As Single
Dim diametre As Single

'Remplissage tableaux
For a = 0 To 7
b = Cells(2 + a, 8)
diametre_normalisé(a) = b
Next

For c = 0 To 7
b = Cells(2 + c, 9)
Dint(c) = b
Next

vitesse = Cells(2, 3)
debit = Cells(2, 2)


'Calcul
section = debit / vitesse
diametre = Sqr(4 * section / 3.14159)
diametre = diametre * 100

For c = 0 To 7
If diametre <= Dint(c) Then Cells(2, 4) = diametre_normalisé(c) Else Cells(2, 4) = diametre_normalisé(c + 1)
If Dint(c) < diametre And diametre < Dint(c + 1) Then Exit For
Next


End Sub

Je vous explique un peu les variables :

diametre_normalisé : c'est une variable string car les valeurs sont de type "8/10", "10/12", correspondant aux diamètres normalisés.

Dint : C'est le diamètre normalisé intérieur en cm, par exemple pour un tube 8/10 le diamètre intérieur est de 0.8 cm et extérieur de 1 cm.

Voilà, je ne comprend pas comment faire pour les dernières lignes en fait.

Merci ! =)

Quentin


1 réponse

Yoda
 
Bonjour,

Ton tableau Dint() doit être trié par ordre croissant

For c = 0 To 7 
   If diametre <= Dint(c) Then Exit for
Next
If c>7 Then c=7
Cells(2, 4) = diametre_normalisé(c) 
0