begin process at 2008 08 29 05:56:48
1 233 514 membres
54 nouveaux aujourd'hui
14 291 membres club

Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum.
Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : aide pour vb6 [ Divers / Débutants ] (UrbanSyphon)

aide pour vb6 le 16/07/2008 15:51:36

UrbanSyphon
bonjour j' ai un problème avec mon code et je pense que vous pourrez le régler, avec mon code j' ai le message erreur "indice en dehors de la plage " sur la ligne "  Graph(x, 1) = som1  'X"

donc voici mon code  pourriez vous m'aider a trouver se qui ne va pas merci


Private Sub Form_Load()

M1 = 30
A0 = 1
DELTAV = 5 - 2
M = 12.5 + (1.5 * DELTAV)
A = 4 - (0.8 * DELTAV)
B = 90.5 - (0.5 * DELTAV)
K1 = 1.1 * (1 - (0.006 * ((M1 * (A0 ^ 0.5)) - 40))) * (1 - (0.04 * DELTAV))
µ = 0.1 + (0.003 * ((M1 * (A0 ^ 0.5)) - 40))
e = 25 - 4
P = 1
Z1 = 0.25 * 25
Z1 = Int(Z1)

vN1 = 2 * P
vN2 = 4 * P
vN3 = 8 * P
vN4 = 16 * P
Fta1 = K1 * (vN1 ^ µ) * (M1 * (A0 ^ 0.5))
Fta2 = K1 * (vN2 ^ µ) * (M1 * (A0 ^ 0.5))
Fta3 = K1 * (vN3 ^ µ) * (M1 * (A0 ^ 0.5))
Fta4 = K1 * (vN4 ^ µ) * (M1 * (A0 ^ 0.5))
P1 = (0.9 * Fta1) / e
P2 = (0.9 * Fta2) / e
P3 = (0.9 * Fta3) / e
P4 = (0.9 * Fta4) / e
LogP1 = Log(P1) / Log(10)
LogP2 = Log(P2) / Log(10)
LogP3 = Log(P3) / Log(10)
LogP4 = Log(P4) / Log(10)
logn1 = Log(vN1) / Log(10)
Logn2 = Log(vN2) / Log(10)
Logn3 = Log(vN3) / Log(10)
Logn4 = Log(vN4) / Log(10)

        Dim Graph() As Single
        Dim x As Integer
         For x = 1 To Val(Z1)
         som1 = ((M * (Log((0.9 * Fta1) / Val(Z1)) / Log(10))) + (A * logn1) + B)
         som1 = Format(Val(som1), ".0")
            Graph(x, 1) = som1  'X
            Graph(x, 2) = x  'Y
         Next x
      
      
         For x = Val(Z1) To Val(Formdoncomp.e1.Text)
          somm1 = ((M * (Log((0.9 * Fta1) / Val(x)) / Log(10))) + (A * logn1) + B)
          somm1 = Format(Val(somm1), ".0")
            Graph(x, 1) = somm1 'X
            Graph(x, 2) = x 'Y
         Next x
    
         MSChart2.chartType = VtChChartType2dXY
         MSChart2 = Graph
         MSChart2.Plot.UniformAxis = False
End Sub


Nous entrainerons nos coeurs et nos corps afin de pouvoir réaliser l'impossible.

Re : aide pour vb6 le 16/07/2008 16:26:27

gillardg
avec un déboguage pas à pas  ...
tu pourras savoir ce qui cloche

Les écologistes réclament une société propre les imbéciles nettoient


Re : aide pour vb6 le 16/07/2008 16:28:01

bonjourcheval

Premièrement :

Écrit de le haut de ta page :

Option explicit

et définit toutes tes constantes. Ça va t'éviter des ennuis plus tard.

Et Il faut que tu définisses la grandeur de ton table.

 

En premier,
 
Dim Graph() As Single
Redim Graph(1)
...
Graph(x, 1) = som1  'X  'Ici x = 1
...
Ensuite, chaque fois que tu veux ajouter une valeur, utilise cette commande pour rajouter 1 espace dans ton tableau:

Redim Preserve Graph(Ubound(Graph) + 1)

Par contre, ton tableau aura une donnée vide à l'index 0. (Graph(0))


voilà


Re : aide pour vb6 le 16/07/2008 16:30:25

NHenry
Membre Club
Bonjour,

Voici quelquesssss conseils pour t'aider à programmer un peu (voire beaucoup) mieux :

Met SYSTEMATIQUEMENT "Option Explicit" en haut de ton code (1ière ligne du ficher).

Ensuite, une fois que toutes tes erreurs seront corrigées, penses à utiliser Redim pour définir la taille de ton tableau avant de l'utiliser.

(Question bonus, tu code en quoi d'habitude, en QB, ou autre ?)

Ma signature pour pointer sur mon site

Re : aide pour vb6 le 16/07/2008 16:32:45

NHenry
Membre Club
Bonjour,

Bon, je n'avais pas rafraichis la page dès que j'ai commencer à taper mon message.

Juste pour info, avec Option Base {0|1} tu peux définir l'index min par défaut (0 par défaut)

Option base 0
Dim Tableau(5)
'6 éléments

Option base 1
Dim Tableau(5)
'5 éléments

Ma signature pour pointer sur mon site

Re : aide pour vb6 le 16/07/2008 16:37:53

bonjourcheval

Option base 1
Dim Tableau(5)
'5 éléments

Je viens d'apprendre quelque chose XD

et le option base est est définit pour tous les tableaus de la page ou seulement pour le tableau suivant

Par exemple, si je met exactement ce code dans mon projet :

Option base 2
Dim Tableau(5) ' 4 éléments
Option base 3
Dim Tableau(5) '3 éléments
Option base 1
Dim Tableau(5) '5 éléments?


Re : aide pour vb6 le 16/07/2008 16:54:20

NHenry
Membre Club
Bonjour,

Si mes souvenirs sont bons, ce n'est que 0 ou 1 acceptés et comme Option Explicit, c'est tout en haut et pour tout le fichier.

Ma signature pour pointer sur mon site

Re : aide pour vb6 le 16/07/2008 17:02:59
Re : aide pour vb6 le 17/07/2008 08:51:57

UrbanSyphon

Bonjour merci pour vos reponses je vais essayer d'appliquer vos idées sinon je ne comprend pas pourquoi j'ai ce message d'erreur qui s affiche j' ai fait un autre graph en mschart et aucun problème il marche bien mais la je suis la même démarche et ca ne veux pas

Nous entrainerons nos coeurs et nos corps afin d'acquérir un esprit sans faiblesse .

.:Vive le Shidokan:.


Re : aide pour vb6 le 17/07/2008 09:05:01

NHenry
Membre Club
Bonjour,

UrbanSyphon, parce que ti ne redimensionne pas ton tableau :

        Dim Graph() As Single
        Dim x As Integer
REDIM Graph(...)
         For x = 1 To Val(Z1)
         som1 = ((M * (Log((0.9 * Fta1) / Val(Z1)) / Log(10))) + (A * logn1) + B)
         som1 = Format(Val(som1), ".0")
            Graph(x, 1) = som1  'X
            Graph(x, 2) = x  'Y
         Next x

Ma signature pour pointer sur mon site


[Page 1 Page 2]
Classé sous : log, graph, val, m1, a0

Participer à cet échange

Pub



Appels d'offres

Recherche developpeur ...
Budget : 700€
SITE MARCHAND LOCATION...
Budget : 3 000€
SITE MARCHAND POUR HOTEL
Budget : 4 000€

CalendriCode

Août 2008
LMMJVSD
    123
45678910
11121314151617
18192021222324
25262728293031

Téléchargements

Logiciels à télécharger sur le même thème :

Boutique

Boutique de goodies CodeS-SourceS