Bloqué sur VBA

Résolu
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

  • Votes
  • Date
  • Date décroissante
  1. 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)