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 :

utiliser valeur tableau [Débutant]


Sujet :

VB.NET

  1. #1
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2012
    Messages
    44
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Janvier 2012
    Messages : 44
    Par défaut utiliser valeur tableau
    Bonjour,
    Je suis débutant en VB.net et je n'es pas trouvé dans les tutos comment faire cela.
    Je veux seulement savoir comment récupérer les valeurs entrées par l'utilisateur dans un tableau pour pouvoir les réutiliser dans un calcul.
    Par exemple, comment réutiliser la valeur de la case : ligne n colonne p ?
    Cordialement

  2. #2
    Invité
    Invité(e)
    Par défaut
    Tu utilises alors un tableau à 2 dimensions ?

    Pour accéder à la ligne n colonne p se fait comme suit string maValeur = monTableau[n][p];

  3. #3
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2012
    Messages
    44
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Janvier 2012
    Messages : 44
    Par défaut
    Bonjour,
    j'ai réalisé cela avec un tableau contenant une colonne apelée Surface totale mais cela ne fonctionne pas :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Function Calcul() As Double
     Dim Labelres As Double
     Dim maValeurS1 As Double = DataGridView1[1][Surfacetotale] 'valeur de la ligne1 colonneSurfacetotale
     Dim maValeurS2 As Double = DataGridView1[2][Surfacetotale] 'valeur de la ligne2 colonneSurfacetotale
     
    Labelres = maValeurS1+maValeurS2
    Return Labelres
    End Function
    Pouvez-vous me dire ce qu'il ne va pas svp?
    Merci
    Cordialement

  4. #4
    Membre actif
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Décembre 2008
    Messages
    42
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Décembre 2008
    Messages : 42
    Par défaut
    Tu utilise ici un DataGridView et non pas un tableau.

    Afin de récuperer une valeurs d'une cellule d'un DGV, tu peux procéder comme cela :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    dim Valeur as String
    Valeur=DataGridView1.Rows(n).cells(p).value

  5. #5
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2012
    Messages
    44
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Janvier 2012
    Messages : 44
    Par défaut
    Merci mais il y a un problème :

    Erreur 1 La résolution de surcharge a échoué, car aucun 'Item' accessible ne peut être appelé avec ces arguments*:
    'Public Default Property Item(columnName As String) As System.Windows.Forms.DataGridViewCell'*: Impossible de convertir une valeur de type 'System.Windows.Forms.DataGridViewTextBoxColumn' en 'String'.
    'Public Default Property Item(index As Integer) As System.Windows.Forms.DataGridViewCell'*: Impossible de convertir une valeur de type 'System.Windows.Forms.DataGridViewTextBoxColumn' en 'Integer'.
    j'ai mis 1 et 2 pour n (numéro de la ligne)
    Et Surfacetotale à la place de p (colonne)

  6. #6
    Membre actif
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Décembre 2008
    Messages
    42
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Décembre 2008
    Messages : 42
    Par défaut
    Bonjour,

    Peux tu donner le code que tu as utilisé?

    merci

  7. #7
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2012
    Messages
    44
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Janvier 2012
    Messages : 44
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Function Calcul() As Double
            Dim Labelres As Double        
            Dim ValeurS1 As String
            Dim ValeurS2 As String
            ValeurS1 = DataGridView1.Rows(1).Cells(Surfacetotale).value
            ValeurS2 = DataGridView1.Rows(2).Cells(Surfacetotale).value
     
            Labelres = ValeurS1 + ValeurS2
            Return Labelres
    End Function

  8. #8
    Membre actif
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Décembre 2008
    Messages
    42
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Décembre 2008
    Messages : 42
    Par défaut
    Ok je pense avoir compris.

    Tu as deux moyens d'acceder a une cellule d'une ligne.
    Soit en passant en paramètre de cells un entier qui correspond a l'index de ta colonnes
    Soit en passant en paramètre de cells une chaîne de caractère correspondant au nom de ta colonne.

    Essaye avec ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ValeurS1 = DataGridView1.Rows(1).Cells("Surfacetotale").value

  9. #9
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2012
    Messages
    44
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Janvier 2012
    Messages : 44
    Par défaut
    Toujours un message d'erreur lors du débogage à cette ligne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ValeurS1 = DataGridView1.Rows("Surfacetotale").Cells(0).Value
    message d'erreur :
    La conversion de la chaîne "Surfacetotale" en type 'Integer' n'est pas valide.

  10. #10
    Membre Expert Avatar de sisqo60
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Février 2006
    Messages
    754
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 754
    Par défaut
    Bonjour,

    J'ai l'impression que tu confonds plein de choses. Tu n'es pas encore habitué à la POO.

    ValeurS1 et ValeurS1 sont de quels types? Dans tes postes de code tantôt c'est de type string et ensuite du type double.
    Tu souhaites concaténer les valeurs en texte ou additionner les valeurs numériques?

    Pour additionner voici le code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Function Calcul() As Double
     
    Dim maValeurS1 As Double = Convert.ToDouble(DataGridView1.Rows[1].Cells[Surfacetotale].Value) 'valeur de la ligne1 colonneSurfacetotale
    Dim maValeurS2 As Double = Convert.ToDouble(DataGridView1.Rows[2].Cells[Surfacetotale].Value) 'valeur de la ligne2 colonneSurfacetotale
     
    Return maValeurS1+maValeurS2
    End Function
    Pour concaténer voici le code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Function Calcul() As Double
     
    Dim maValeurS1 As String = DataGridView1.Rows[1].Cells[Surfacetotale].Value.ToString() 'valeur de la ligne1 colonneSurfacetotale
    Dim maValeurS2 As String = (DataGridView1.Rows[2].Cells[Surfacetotale].Value.ToString() 'valeur de la ligne2 colonneSurfacetotale
     
    Return maValeurS1+maValeurS2
    End Function
    Bon dév

  11. #11
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2012
    Messages
    44
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Janvier 2012
    Messages : 44
    Par défaut
    Il y a un message d'erreur qui dit qu'il faut un identificateur au niveau du chiffre 1 et 2 qui désigne le numéro de la ligne du datagridview

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    ValeurS1 = Convert.ToDouble(DataGridView1.Rows[1].Cells[Surfacetotale].Value)
            ValeurS2 = Convert.ToDouble(DataGridView1.Rows[2].Cells[Surfacetotale].Value)

  12. #12
    Membre Expert Avatar de sisqo60
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Février 2006
    Messages
    754
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 754
    Par défaut
    Oui, c'est normal, ce ne sont pas des crochets, mais des parenthèses en VB (je suis originaire du c#, désolé pour la confusion, je n'ai pas VS sous la main)...

  13. #13
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2012
    Messages
    44
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Janvier 2012
    Messages : 44
    Par défaut
    C'est bon, j'ai enfin résolu mon problème. Mon programme fonctionne.
    Je remercie toutes les personnes qui m'ont apporté leur aide.

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

Discussions similaires

  1. Utiliser valeur d'un Tableau
    Par E.Delbaeth dans le forum Collection et Stream
    Réponses: 4
    Dernier message: 17/02/2014, 12h10
  2. utiliser un tableau pour stocker des valeurs alphanum
    Par tibofo dans le forum VB 6 et antérieur
    Réponses: 6
    Dernier message: 26/03/2010, 09h07
  3. [débutant] utiliser un tableau comme une frameset
    Par toudoux dans le forum Balisage (X)HTML et validation W3C
    Réponses: 5
    Dernier message: 09/02/2006, 09h16
  4. Réponses: 4
    Dernier message: 24/08/2005, 14h09
  5. [XHTML] Utilisation de Tableau en XHTML
    Par Kerod dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 02/04/2005, 11h23

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