IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB.NET Discussion :

Remplissage d'un tableau 2d dans une fonction [Débutant]


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2018
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 65
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2018
    Messages : 4
    Par défaut Remplissage d'un tableau 2d dans une fonction
    Bonjour,

    voila mon problème : J'ai écris une fonction en visual basic express 2010 en mode console

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
           Function EcrireDansUnTableau2D()
            Dim table(3, 4) As Integer
            For i As Integer = 0 To table.Length - 1
                table(i) = i
                Console.WriteLine(table(i))
     
            Next
            Return 0
        End Function
     
        'Appel de la fonction "Ecrire dans un Tableaux à deux dimensions"
        EcrireDansUnTableau2D()
    Mon problème c'est qu'il me dit qu'en ligne 6 l'indexe dépasse et je ne sais pas comment coder pour les étages de mon tableau.
    Pouvez-vous m'aider ?
    merci d'avance

  2. #2
    Expert confirmé
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 132
    Par défaut
    Salut

    Je ne sais pas si cela est possible en VB.net, mais ......
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     For i As Integer = Lbound(table] To Ubound(table)
    peut être ?
    Encor que, si je me trompe pas, en VB.net un tableau commence forcément par l'index 0 (zero) cela donnerai
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     For i As Integer = 0 To Ubound(table)
    toujours peut être ?
    :whistle:pourquoi pas, pour remercier, un :plusser: pour celui/ceux qui vous ont dépannés.
    saut de ligne
    OOOOOOOOO👉 → → Ma page perso sur DVP ← ← 👈

  3. #3
    Membre extrêmement actif
    Inscrit en
    Avril 2008
    Messages
    2 573
    Détails du profil
    Informations personnelles :
    Âge : 65

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 573
    Par défaut
    bonjour

    Etant donné que c'est un tableau à 2 dimensions ,toute tentative de l'acceder par un seul indice est voué lamentalement à l'echec...
    if faut code ceci pour un array 2d :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
     Function EcrireDansUnTableau2D()
            Dim table(3, 4) As Integer
            For i As Integer = 0 To table.GetUpperBound(0)
                For j As Integer = 0 To table.GetUpperBound(0)table(1)i
                Console.WriteLine(table(i,j))
                Next
     
            Next
            Return 0
        End Function
    Voir la FAQ VB.Net du Forum....

  4. #4
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2018
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 65
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2018
    Messages : 4
    Par défaut
    Bonjour et merci beaucoup pour ta réponse, mais un problème survient dans ta solution à la ligne 5.
    En effet, le compilateur souligne "table(1)i et indique "Erreur Fin d'instruction attendue."
    Nours2806
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    Function EcrireDansUnTableau2D()
            Dim table(3, 4) As Integer
            For i As Integer = 0 To table.GetUpperBound(0)
                For j As Integer = 0 to table.GetUpperBound(0)table(1)i
                    Console.WriteLine(table(i, j))
                Next
            Next
            Return 0
        End Function

  5. #5
    Membre Expert Avatar de Phil Rob
    Homme Profil pro
    Retraité
    Inscrit en
    Novembre 2013
    Messages
    1 613
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Novembre 2013
    Messages : 1 613
    Par défaut
    En effet, il y a une petite erreur ...

    Mais pour une bonne vision d'un tableau 2D, je te propose de le voir comme étant un tableau de LIGNES, chaque LIGNE étant un tableau de COLONNES. Il s'agit en fait de la vision utilisée dans Excel (Ligne, Colonne).

    De plus, il faut savoir qu'en VB, lors de la déclaration du tableau, les valeurs indiquées représentent les indices maximum (contrairement à d'autres langages où ces valeurs représentent le nombre d'éléments permis).

    L'exemple ci-dessous, illustre bien cette vison du tableau 2D :

    Nom : 2D.jpg
Affichages : 1256
Taille : 9,2 Ko

    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
    Module Module1
        Sub Main()
            EcrireDansUnTableau2D()
            Console.ReadKey()
        End Sub
     
        Sub EcrireDansUnTableau2D()
            Dim MaxIndiceLigne As Integer = 3  ' soit 4 lignes, de 0 à 3
            Dim MaxIndiceColonne As Integer = 4  ' soit 5 colonnes de 0 à 4
     
            Dim table(MaxIndiceLigne, MaxIndiceColonne) As Integer
            For Ligne As Integer = 0 To MaxIndiceLigne
                For Colonne As Integer = 0 To MaxIndiceColonne
                    table(Ligne, Colonne) = Ligne * 10 + Colonne
                    Console.Write(table(Ligne, Colonne) & " ")
                Next
                Console.WriteLine()
            Next
        End Sub
    End Module

  6. #6
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2018
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 65
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2018
    Messages : 4
    Par défaut
    Merci beaucoup pour ta réponse,
    Effectivement je croyais que c'été la valeurs représentent le nombre d'éléments.
    La ça marche très bien.
    Encore merci.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [XL-2010] Comment prendre en compte un tableau (Array) dans une fonction vba?
    Par statista dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 07/04/2011, 15h16
  2. Passer en paramètre un tableau php dans une fonction javascript
    Par hartecel dans le forum Général JavaScript
    Réponses: 9
    Dernier message: 17/07/2008, 15h17
  3. [PHP-JS] Charger un tableau PHP dans une fonction Javascript
    Par aityahia dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 06/05/2008, 17h05
  4. Réponses: 6
    Dernier message: 24/11/2007, 18h48
  5. récupérer un tableau PHP dans une fonction javascript
    Par aztec dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 13/05/2007, 22h11

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo