[VB.NET] Tableau multi-dimensionnel

Résolu/Fermé
platypus69 Messages postés 108 Date d'inscription mardi 24 février 2009 Statut Membre Dernière intervention 11 février 2015 - Modifié par NHenry le 18/12/2014 à 16:22
NHenry Messages postés 15163 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 1 novembre 2024 - 19 déc. 2014 à 11:45
Bonjour,

habituellement je réponds au question, aujourd'hui c'est moi qui vais en poser une. Je me suis mis récemment à développer sous Visual Studio, histoire de découvrir toujours de nouvelles choses.

Pour commencer je voulais créer une petite application de conversion avec des valeurs fixe. J'ai créé un form, jusque la tous va bien.


maintenant j'essaye d'intégrer au code VB, un tableau multi-dimension
Dim tbl_convert(81, 3) As Long
tbl_convert(1, 0) = 155
tbl_convert(1, 1) = 147
tbl_convert(1, 2) = 955
tbl_convert(1, 3) = 495


la liste est long, je ne mets pas tous.
en cliquant sur le bouton "Calculer", la fonction devrait m'afficher 955, ce qui correspond à tbl_convert(1,2)

Malheureusement, il ne m'affiche rien dans le champs concerné mais le 0 disparaît.

Question : y-a-t'il une façon particulière de déclarer les tableaux sous Visual Studio ?

Merci d'avance

A voir également:

6 réponses

NHenry Messages postés 15163 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 1 novembre 2024 345
18 déc. 2014 à 16:21
Bonjour,

Déjà, ce n'est pas Visual Studio, mais VB.NET dont il est question.

Ensuite, ta déclaration semble bonne, comment sélectionnes-tu tes données, comment les utilises-tu ?
0
platypus69 Messages postés 108 Date d'inscription mardi 24 février 2009 Statut Membre Dernière intervention 11 février 2015 7
19 déc. 2014 à 08:20
Bonjour,

pour l'instant c'est un simple test.

dans mon formulaire principal j'ai cela en code :

Public Class Form1
Public Sub btn_convert_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn_convert.Click
Call ini_tbl_convert()
Me.txt_result_HRC.Text = tbl_convert(0, 2)
MsgBox(tbl_convert(1, 2))
End Sub

Public Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Call ini_tbl_convert()
End Sub
End Class


et dans un module à coté :


Module tableau_conversion
Public Sub ini_tbl_convert()
Dim tbl_convert(81, 3) As Long
tbl_convert(1, 0) = 155
tbl_convert(1, 1) = 147
tbl_convert(1, 2) = 955
tbl_convert(1, 3) = 495

End Sub
End Module


Erreur sorti du compilateur : 'tbl_convert' n'est pas déclaré. Il peut être inaccessible en raison de son niveau de protection.

Quand je fais exactement le même code sous ACCESS, je n'ai aucun problème
0
jordane45 Messages postés 38288 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 15 novembre 2024 4 703
19 déc. 2014 à 09:12
Bonjour
je pense que tu as un souci de portée de ta variable. .
La..tu la déclare dans une sub et essaye de l'utiliser dans une autre....

0
platypus69 Messages postés 108 Date d'inscription mardi 24 février 2009 Statut Membre Dernière intervention 11 février 2015 7
19 déc. 2014 à 09:28
Bonjour Jordane45,

j'ai essayé aussi dans l'implanter dans le Form1 mais même résultat.

C'est vrai que c'est assez étrange comme problème
0
jordane45 Messages postés 38288 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 15 novembre 2024 4 703
19 déc. 2014 à 09:55
Ce n'est pas étrange.. c'est normal...

Dans ton Module.. AVANT toute SUB
tu déclares ta variable
public tbl_convert(81, 3) As Long


Elle sera ensuite accessible partout dans ton code
0

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

Posez votre question
platypus69 Messages postés 108 Date d'inscription mardi 24 février 2009 Statut Membre Dernière intervention 11 février 2015 7
19 déc. 2014 à 11:25
merci ça fonctionne. il y a quand même une grosse différence avec la progra sous ACCESS
0
jordane45 Messages postés 38288 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 15 novembre 2024 4 703
19 déc. 2014 à 11:34
en ce qui concerne la portée des variables ... non.
En VBA aussi .. il faut les déclarer Au début du module pour qu'elles soient globales il me semble.
Sinon.. en effet.. VB.net et VBA sont assez différents....
Le VB.net est clairement plus orienté objet ..
0
jordane45 Messages postés 38288 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 15 novembre 2024 4 703
19 déc. 2014 à 11:35
Si la question est résolue..
Merci de ne pas oublier de clôturer le sujet
(en cliquant sur le lien "Marquer comme résolu" qui se trouve sous le titre de la question)

Cordialement,
Jordane
0
NHenry Messages postés 15163 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 1 novembre 2024 345
19 déc. 2014 à 11:45
Passage rapide, en activant"Option Explicit" et "Option Strict", tu aurais tout de suite vu ton erreur.
0