Aide pour vb6

Résolu
UrbanSyphon Messages postés 22 Date d'inscription jeudi 3 juillet 2008 Statut Membre Dernière intervention 17 juin 2009 - 16 juil. 2008 à 15:51
UrbanSyphon Messages postés 22 Date d'inscription jeudi 3 juillet 2008 Statut Membre Dernière intervention 17 juin 2009 - 17 juil. 2008 à 10:46
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.

15 réponses

NHenry Messages postés 15113 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 22 avril 2024 159
17 juil. 2008 à 10:23
Bonjour,

Le controle que tu utilises je ne l'ai jamais manipulé, donc je ne pourrais t'aider.

Ensuite pouer le tableau :
Dim Graph(1 To val(form.w.text), 1 To 2) As Single
est incorrect, utilises plutot :
Dim Graph() As Single
Redim Dim Graph(1 To val(form.w.text), 1 To 2)

http://nhen0039.chez-alice.fr/index.php
3
gillardg Messages postés 3275 Date d'inscription jeudi 3 avril 2008 Statut Membre Dernière intervention 14 septembre 2014 2
16 juil. 2008 à 16:26
avec un déboguage pas à pas  ...
tu pourras savoir ce qui cloche

Les écologistes réclament une société propre les imbéciles nettoient
0
bonjourcheval Messages postés 228 Date d'inscription mercredi 13 décembre 2000 Statut Membre Dernière intervention 8 août 2011
16 juil. 2008 à 16:28
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à
0
NHenry Messages postés 15113 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 22 avril 2024 159
16 juil. 2008 à 16:30
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 ?)

http://nhen0039.chez-alice.fr/index.php
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
NHenry Messages postés 15113 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 22 avril 2024 159
16 juil. 2008 à 16:32
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

http://nhen0039.chez-alice.fr/index.php
0
bonjourcheval Messages postés 228 Date d'inscription mercredi 13 décembre 2000 Statut Membre Dernière intervention 8 août 2011
16 juil. 2008 à 16:37
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?
0
NHenry Messages postés 15113 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 22 avril 2024 159
16 juil. 2008 à 16:54
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.

http://nhen0039.chez-alice.fr/index.php
0
bonjourcheval Messages postés 228 Date d'inscription mercredi 13 décembre 2000 Statut Membre Dernière intervention 8 août 2011
16 juil. 2008 à 17:02
Ah, merci beaucoup
0
UrbanSyphon Messages postés 22 Date d'inscription jeudi 3 juillet 2008 Statut Membre Dernière intervention 17 juin 2009
17 juil. 2008 à 08:51
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:.
0
NHenry Messages postés 15113 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 22 avril 2024 159
17 juil. 2008 à 09:05
Bonjour,

[auteur/URBANSYPHON/1431981.aspx 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

http://nhen0039.chez-alice.fr/index.php
0
UrbanSyphon Messages postés 22 Date d'inscription jeudi 3 juillet 2008 Statut Membre Dernière intervention 17 juin 2009
17 juil. 2008 à 09:05
merci pour vos réponse maintenant je n'est plus de message d'erreur (j'avais oublier de mettre des limite a mon table mais maintenant c'est rectifié)mais il y a un autre problème qui est survenu c'est que mon graphique ne représente pas trop se que je veux là j'ai une ligne vertical à l'ordonnée 0

Nous entrainerons nos coeurs et nos corps afin d'acquérir un esprit sans faiblesse .
 
.:Vive le Shidokan:.
0
NHenry Messages postés 15113 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 22 avril 2024 159
17 juil. 2008 à 09:12
Bonjour,

Désolé, ça sort de mon rayon.

http://nhen0039.chez-alice.fr/index.php
0
UrbanSyphon Messages postés 22 Date d'inscription jeudi 3 juillet 2008 Statut Membre Dernière intervention 17 juin 2009
17 juil. 2008 à 09:38
merci NHenry mais ca y est je viens de réussir il fallait juste mettre le grap de 1 to...,1 to...
au lieu de 0 to ..., 0 to ...
J'ai une autre question a te poser si ca ne te dérange pas mon graph peut il avoir une longueur variable suivant les données entrées
du style que je puisse ecrit
Dim Graph(1 To val(form.w.text), 1 To 2) As Single

Nous entrainerons nos coeurs et nos corps afin d'acquérir un esprit sans faiblesse.
 .:Vive le Shidokan:.
0
UrbanSyphon Messages postés 22 Date d'inscription jeudi 3 juillet 2008 Statut Membre Dernière intervention 17 juin 2009
17 juil. 2008 à 10:13
Nhenry Excuse moi de te déranger encore une fois mais pourrais tu aussi me dire si l on peut afficher plusieur graphique et comment merci

Nous entrainerons nos coeurs et nos corps afin d'acquérir un esprit sans faiblesse.
 .:Vive le Shidokan:.
0
UrbanSyphon Messages postés 22 Date d'inscription jeudi 3 juillet 2008 Statut Membre Dernière intervention 17 juin 2009
17 juil. 2008 à 10:46
merci pour tous NHenry ca y est tous marche passe une bonne journée à bientot
cordialement Urban Syphon

Nous entrainerons nos coeurs et nos corps afin d'acquérir un esprit sans faiblesse.
 .:Vive le Shidokan:.
0
Rejoignez-nous