Bonjour,
j'ai écrit le code que voici:
l'epaisseur est entré en selectionnant sa valeur à l'aide d'un combobox, le souci est qu'à partir d'une certaine épaisseur selectionnée vba affiche le message d'erreur suivant : erreur d'execution 5 : argument ou appel de procédure incorrect. le débogage corespond à la ligne en gras soulignée.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 For Each cellule In plageSource '<< A Ajuster à la plage ... f = cellule.Value sigma2 = 4 * L1 * L2 * ((f / c0) ^ 2) sigma3 = Sqr((2 * pi * f * (L1 + L2)) / (16 * c0)) teta = teta0 + (Ms / (485 * Sqr(f))) Y = Sqr(f / fc) 'Calcul de sigma If f11 <= (fc / 2) And f > fc Then ' => SI condition 1 validée ALORS sigmaM = 1 / Sqr(1 - (fc / f)) ElseIf f11 <= (fc / 2) And f < fc And f > (fc / 2) Then ' => SINON, SI condition 2 validée ALORS delta1 = ((1 - (Y ^ 2)) * Log(((1 + Y) / (1 - Y)) + (2 * Y))) / (4 * ((pi) ^ 2) * ((1 - (Y ^ 2)) ^ (1.5))) delta2 = 0 sigmaM = (((2 * (L1 + L2) / (L1 * L2)) * (c0 / fc)) * delta1) + delta2 ElseIf f11 <= (fc / 2) And f < (fc / 2) Then '=> SINON delta1 = ((1 - (Y ^ 2)) * Log(((1 + Y) / (1 - Y)) + (2 * Y))) / (4 * ((pi) ^ 2) * ((1 - (Y ^ 2)) ^ (1.5))) delta2 = (8 * (c0 ^ 2) * (1 - (2 * (Y ^ 2)))) / ((fc ^ 2) * (pi ^ 4) * L1 * L2 * Y * Sqr(1 - (Y ^ 2))) sigmaM = (((2 * (L1 + L2) / (L1 * L2)) * (c0 / fc)) * delta1) + delta2 ElseIf f11 < (fc / 2) And f < f11 And sigmaM > sigma2 Then sigmaM = sigma2 ElseIf f11 > (fc / 2) And f < fc And sigma2 < sigma3 Then sigmaM = sigma2 ElseIf f11 > (fc / 2) And f > fc And (1 / Sqr(1 - (fc / f))) < sigma3 Then sigmaM = 1 / Sqr(1 - (fc / f)) ElseIf f11 > (fc / 2) And f > fc And (1 / Sqr(1 - (fc / f))) > sigma3 Then sigmaM = sigma3 End If
en cliquant dans l'aide je trouve l'explication suivante :Un argument dépasse probablement la plage des valeurs permises.
comment régler le problème pour ne pas etre limité dans mes calculs?
Merci.
Partager