Déclaration existante dans la portée en cours

Signaler
-
Patrice33740
Messages postés
7954
Date d'inscription
dimanche 13 juin 2010
Statut
Membre
Dernière intervention
21 février 2020
-
Bonjour,
j'ai fait un fonction Cmix les codes sont comme les suivantes.
Je sais pas pourquoi il y eu une erreur toujour

"erreur de compilation : déclaration existante dans la portée en cours"

Quelqu'un conait pourquoi?

Merci de votre aide.

Function Cmix(a, b, c, d, Frac_V, W_tot, D_int)

Dim a As Double
Dim b As Double
Dim c As Double
Dim d As Double
Dim Frac_V As Double
Dim W_tot As Double
Dim D_int As Double

D_int = D_int / 1000

x = Max(0.00316, a / b * (c / d) ^ 0.5)

y = (1 - (0.16 * (2.5 + Log(x)) ^ 2)) ^ 3


Gtot = W_tot / (3.14 / 4 * D_int ^ 2)

If Gtot < 300 Then
Cf = 300 + (300 - Gtot) ^ 2 / 40
Else
Cf = Gtot
End If

C1 = 2 + (32 * y) / (1 + 0.005664 * Cf ^ 0.8)


C2 = (b / a) ^ 0.5 + (a / b) ^ 0.5


rauH = b * a / (Frac_V * b + (1 - Frac_V) * a)
C3 = (rauH / a) ^ 0.5 * (b / a) ^ 0.125

If C1 > C2 Then
    C0 = C1
ElseIf C1 > C3 Then
    C0 = C1
ElseIf C1 < C3 Then

    If C3 > C2 Then
    C0 = C2
    ElseIf C3 < C2 Then
    C0 = C3
    End If
End If

Cmix = 2 * C0

End Function


EDIT : Ajout des balises de code (la coloration syntaxique).
Explications disponibles ici : ICI

Merci d'y penser dans tes prochains messages.

1 réponse

Messages postés
14653
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
21 février 2020
139
Tu redéclare tes paramètres en tant que variable locale, donc 2 déclaration pour chaque.
Meric à votre réponse. En fait je n'ai pas compris votre phrase.

J'ai fait que une déclaration dans la fonction. Comment je peux avoir 2 déclaration pour chaque?
Patrice33740
Messages postés
7954
Date d'inscription
dimanche 13 juin 2010
Statut
Membre
Dernière intervention
21 février 2020
16
Bonjour,

Regardes cet excellent cours VBA pour débutant, page 29 :
ftp://ftp-developpez.com/bidou/Cours/VBA/formationVBA.pdf