Pourquoi mon code ne fonctionne pas ?

Résolu
Micoute - 20 janv. 2013 à 22:41
 cs_dayvid - 24 janv. 2013 à 15:08
Je suis novice en visual basic, mais j'essaye malgré tout de programmer, venant du monde de PureBasic, j'ai donc quelques lacunes de la syntaxe de Visual basic.

Pourriez_vous s'il vous plait, m'aider à trouver une solution à mon problème, je vous en remercie beaucoup par avance.


Imports System.Collections.Generic

Public Class Form1
    Dim Noms() As String = {"Mètre", "décimètre", "centimètre", "millimètre", "Décamètre", _
                               "Hectomètre", "Kilomètre", "Main (hand)", "doigt (finger)", _
                               "pied (foot)", "pouce (inch)", "coudée (cubit)", "pas (pace)", _
                               "verge (yard)", "aune (ell)", "brasse(fathom)", "toise", "perche", _
                               "arpent", "encablure", "mille", "mille américain", "mille marin", _
                               "lieue postale", "lieue terrestre", "lieue nautique", "année lumière"}
    Dim Valeurs() As String = {"1", "0.1", "0.01", "0.001", "10", "100", "1000", "0.1016", "0.1143", _
                               "0.3048", "0.0254", "0.4572", "0.762", "0.9144", "1.186566", "1.8288", _
                               "1.94903631", "5.847108929", "25920/443.296", "185.2", "1609.344", _
                               "1609.347219", "1852", "3898.07262", "4443.802786", "5556", _
                               "960730472580800"}
    Dim coef As Long, Quantite As Double, element As Integer, element2 As Integer, Resultat As Double, _
        decimales As Integer

    Structure Mesure
        Dim Nom As String
        Dim Valeur As String
    End Structure

    Dim unite As New List(Of Mesure)(Noms)
    Dim unite2 As New List(Of Mesure)(Valeurs)


    Private Sub ComboBox1_SelectedIndexChanged(sender As System.Object, e As System.EventArgs) Handles ComboBox1.SelectedIndexChanged
        ComboBox1.DataSource = unite
    End Sub
    Private Sub ComboBox2_SelectedIndexChanged(sender As System.Object, e As System.EventArgs) Handles ComboBox2.SelectedIndexChanged
        ComboBox2.DataSource = unite2
    End Sub

    Private Sub Chaine_Quantite_TextChanged(sender As System.Object, e As System.EventArgs) Handles Chaine_Quantite.TextChanged
        Quantite = Val(Chaine_Quantite)
    End Sub

    Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
        If Quantite = 0 Then
            Quantite = 1
        End If
        Resultat = Val(Coefficient_1.Text) / Val(Coefficient_2) * Quantite
        Chaine_Resultat.Text = Resultat
    End Sub
End Class


La langue française est gratuite, seules les fautes d'orthographe sont en option.

35 réponses

Utilisateur anonyme
22 janv. 2013 à 19:19
Voilà, j'ai tout synthétisé avec les informations que tu as donné en dernier.
J'ai aussi commenté pour que tu puisse te faire une idée.
Perso, je m'y serais pris autrement mais j'ai essayé de me baser sur le code que tu as commencé.

Code à tester dans un projet vierge.

Option Strict On
Public Class Form1
    'unités et valeurs
    Dim unite As New List(Of String) From {"Mètre", "décimètre", "centimètre", "millimètre", "Décamètre", _
                             "Hectomètre", "Kilomètre", "Main (hand)", "doigt (finger)", _
                             "pied (foot)", "pouce (inch)", "coudée (cubit)", "pas (pace)", _
                             "verge (yard)", "aune (ell)", "brasse(fathom)", "toise", "perche", _
                             "arpent", "encablure", "mille", "mille américain", "mille marin", _
                             "lieue postale", "lieue terrestre", "lieue nautique", "année lumière"}
    Dim valeur As New List(Of String) From {"1", "0,1", "0,01", "0,001", "10", "100", "1000", "0,1016", "0,1143", _
                               "0,3048", "0,0254", "0,4572", "0,762", "0,9144", "1,186566", "1,8288", _
                               "1,94903631", "5,847108929", "443,296", "185,2", "1609,344", _
                               "1609,347219", "1852", "3898,07262", "4443,802786", "5556", _
                               "960730472580800"}

    'contrôles à rajouter sur le form
    Dim WithEvents txtSaisie As New TextBox With {.Parent Me, .Location New Point(5, 5)}
    Dim WithEvents cmbUnite1 As New ComboBox With {.Parent Me, .Location New Point(120, 5)}
    Dim lblTexte As New Label With {.Parent Me, .Location New Point(250, 5), .Text = "font ", .AutoSize = True}
    Dim txtResultat As New TextBox With {.Parent Me, .Location New Point(300, 5)}
    Dim WithEvents cmbUnite2 As New ComboBox With {.Parent Me, .Location New Point(420, 5)}

    'structure
    Private Structure Mesure
        Public Nom As String
        Public Valeur As String
    End Structure

    'liste accueillant les instances de la structure
    Dim MesMesures As New List(Of Mesure)

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        'redimensions du formulaire
        Me.Bounds = New Rectangle(Me.Left, Me.Top, 580, 100)
        'boucle sur chaque élément
        For x As Integer = 0 To unite.Count - 1
            'instance de la structure avec assignation des données
            Dim MaMesure As New Mesure With {.Nom unite(x), .Valeur valeur(x)}
            'remplissage des combos
            cmbUnite1.Items.Add(MaMesure.Nom)
            cmbUnite2.Items.Add(MaMesure.Nom)
            'ajout de l'instance à la liste
            MesMesures.Add(MaMesure)
        Next
    End Sub

    'on fait pointer 3 événements sur cette procédure (voir Handles)
    '  1 et 2 = l'index d'un combo changeant
    '  3 = Le texte qui change sur txtSaisie
    Private Sub Affiche(ByVal sender As Object, ByVal e As System.EventArgs) Handles cmbUnite1.SelectedIndexChanged, cmbUnite2.SelectedIndexChanged, txtSaisie.TextChanged
        'on affiche le résultat de la fonction calcul
        txtResultat.Text = Calcul.ToString
    End Sub

    Private Function Calcul() As Double
        Dim Origine, Resultat, Coef1, Coef2 As Double
        'si rien n'est sélectionné dans les combos on sors
        If cmbUnite1.SelectedIndex -1 Or cmbUnite2.SelectedIndex -1 Then Return Nothing
        'on obtiens ici les valeurs contenues dans la liste des instances en se servant
        'des indexs sélectionnés dans les combo
        Double.TryParse(MesMesures(cmbUnite1.SelectedIndex).Valeur, Coef1)
        Double.TryParse(MesMesures(cmbUnite2.SelectedIndex).Valeur, Coef2)
        'on tente de trnasformer le texte saisi en Double
        Double.TryParse(txtSaisie.Text, Origine)
        If Origine <> Nothing Then
            'on fait le calcul
            Resultat = Origine * (Coef1 / Coef2)
            'on retourne le résultat
            Return Resultat
        Else
            'on ne retourne rien
            Return Nothing
        End If
    End Function
End Class
3
Utilisateur anonyme
22 janv. 2013 à 20:57
Si c'est pour récupérer les valeurs correspondant aux unités tu peux rajouter ceci dans les déclarations :
Dim txtCoef1 As New TextBox With {.Parent Me, .Location New Point(120, 30)}
Dim txtCoef2 As New TextBox With {.Parent Me, .Location New Point(420, 30)}



Et réécrire une partie de la fonction Calcul comme ceci:
'on obtiens ici les valeurs contenues dans la liste des instances en se servant
'des indexs sélectionnés dans les combo
Double.TryParse(MesMesures(cmbUnite1.SelectedIndex).Valeur, Coef1)
txtCoef1.Text = MesMesures(cmbUnite1.SelectedIndex).Valeur.ToString
Double.TryParse(MesMesures(cmbUnite2.SelectedIndex).Valeur, Coef2)
txtCoef2.Text = MesMesures(cmbUnite2.SelectedIndex).Valeur.ToString
3
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
24 janv. 2013 à 14:57
C'est assez simple :
Lorsque l'on entre dans une discussion (que ce soit pour l'ouvrir ou pour y répondre une première fois), c'est exactement comme lorsque l'on entre dans une boutique : on salue.
On n'a plus à le faire ensuite dans cette boutique/discussion, puisque déjà fait.


________________________
Réponse exacte ? => "REPONSE ACCEPTEE" facilitera les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement répéter son contenu. Je n'interviendrai que si nécessité de la compléter.
3
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
20 janv. 2013 à 22:48
Bonjour (ben ... non, finalement)
Je me suis arrêté à ton seul titre ===>> et je réponds sans la moindre hésitation, sans même chercher à analyser ton code ni chercher à savoir ce qu'il est censé faire === >>
parce qu'il est erroné !
J'ai raté quelque chose ? Toi aussi .

________________________
Réponse exacte ? => "REPONSE ACCEPTEE" facilitera les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement répéter son contenu. Je n'interviendrai que si nécessité de la compléter.
0

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

Posez votre question
Utilisateur anonyme
20 janv. 2013 à 23:00
Bonjour,

Commence par activer Option Strict et Option Explicit dans les propriétés de ton projet.
Lorsque ceci sera fait, corrige les nombreuses erreurs et reviens si besoin.
0
Utilisateur anonyme
21 janv. 2013 à 03:56
Bonjour Banana32,


activer Option Strict


Là, tu es dur.

Mais faut bien reconnaître que cela peut être saprément utile. Mais moi je suis trop vieux. Encore que j'ai assez de BASIC sous les doigts pour me méfier de la serviabilité de VB en matière de transtypage.
0
Bonjour à tous et merci beaucoup pour votre contribution.

Le programme me répond : L'exception InvalidOperationExeption n'a pas été gérée, malgré que j'ai rajouté Option Strict On et Option Explicit On.

Je pense qu'il y a une erreur et c'est même évident, mais je ne vois pas d'où vient l'erreur, je crois bien qu'il faut que je repense tout le programme, mais seulement pouvez-vous me dire si ma structure, si mes listes chaînées sont correctes et mes ComboBox sont remplies comme je le souhaite.

Je vous remercie par avance de bien vouloir m'aider

La langue française est gratuite, seules les fautes d'orthographe sont en option.
0
Utilisateur anonyme
21 janv. 2013 à 12:23
Poste maintenant le nouveau code en précisant laquelle de tes lignes est en défaut.
0
Rebonjour, merci de me répondre, mon problème c'est que je ne sais pas du tout où se trouve l'erreur ! J'ai juste un message : L'exception InvalidOperationExeption n'a pas été gérée, mais je ne sais pas du tout ce que ça veut dire !
je mets mon code malgré tout, au cas où ...!
Option Strict On
Option Explicit On
Imports System.Collections.Generic

Public Class Form1
    Dim Noms() As String = {"Mètre", "décimètre", "centimètre", "millimètre", "Décamètre", _
                               "Hectomètre", "Kilomètre", "Main (hand)", "doigt (finger)", _
                               "pied (foot)", "pouce (inch)", "coudée (cubit)", "pas (pace)", _
                               "verge (yard)", "aune (ell)", "brasse(fathom)", "toise", "perche", _
                               "arpent", "encablure", "mille", "mille américain", "mille marin", _
                               "lieue postale", "lieue terrestre", "lieue nautique", "année lumière"}
    Dim Valeurs() As String = {"1", "0.1", "0.01", "0.001", "10", "100", "1000", "0.1016", "0.1143", _
                               "0.3048", "0.0254", "0.4572", "0.762", "0.9144", "1.186566", "1.8288", _
                               "1.94903631", "5.847108929", "25920/443.296", "185.2", "1609.344", _
                               "1609.347219", "1852", "3898.07262", "4443.802786", "5556", _
                               "960730472580800"}
    Dim coef As Long, Quantite As Double, element As Integer, element2 As Integer, Resultat As Double, _
        decimales As Integer

    Structure Mesure
        Dim Nom As String
        Dim Valeur As String
    End Structure

    Dim unite As New List(Of Mesure)(Noms)
    Dim unite2 As New List(Of Mesure)(Valeurs)


    Private Sub ComboBox1_SelectedIndexChanged(sender As System.Object, e As System.EventArgs) Handles ComboBox1.SelectedIndexChanged
        ComboBox1.DataSource = unite
    End Sub
    Private Sub ComboBox2_SelectedIndexChanged(sender As System.Object, e As System.EventArgs) Handles ComboBox2.SelectedIndexChanged
        ComboBox2.DataSource = unite2
    End Sub

    Private Sub Chaine_Quantite_TextChanged(sender As System.Object, e As System.EventArgs) Handles Chaine_Quantite.TextChanged
        Quantite = Val(Chaine_Quantite)
    End Sub

    Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
        If Quantite = 0 Then
            Quantite = 1
        End If
        Resultat = Val(Coefficient_1.Text) / Val(Coefficient_2) * Quantite
        Chaine_Resultat.Text = CStr(Resultat)
    End Sub
End Class


La langue française est gratuite, seules les fautes d'orthographe sont en option.
0
Utilisateur anonyme
21 janv. 2013 à 19:48
C'est un problème de 'cast' invalide.
Tu devrais plutôt déclarer 'unite' et 'unite2' comme ceci :
    Dim unite As New List(Of String) From {"Mètre", "décimètre", "centimètre", "millimètre", "Décamètre", _
                               "Hectomètre", "Kilomètre", "Main (hand)", "doigt (finger)", _
                               "pied (foot)", "pouce (inch)", "coudée (cubit)", "pas (pace)", _
                               "verge (yard)", "aune (ell)", "brasse(fathom)", "toise", "perche", _
                               "arpent", "encablure", "mille", "mille américain", "mille marin", _
                               "lieue postale", "lieue terrestre", "lieue nautique", "année lumière"}
    Dim unite2 As New List(Of String) From {"1", "0.1", "0.01", "0.001", "10", "100", "1000", "0.1016", "0.1143", _
                               "0.3048", "0.0254", "0.4572", "0.762", "0.9144", "1.186566", "1.8288", _
                               "1.94903631", "5.847108929", "25920/443.296", "185.2", "1609.344", _
                               "1609.347219", "1852", "3898.07262", "4443.802786", "5556", _
                               "960730472580800"}


Puis ensuite les charger dans tes combo lors de l'événement Load du formulaire comme ceci :

ComboBox1.DataSource = unite
ComboBox2.DataSource = unite2


Ensuite tu devrais pouvoir t'en sortir seul
0
Bonsoir, je tiens à vous remercier énormément pour l'aide que vous m'avez apportée, car j'avais vraiment l'impression d'être tout seul avec mes problèmes de débutant et apprendre à 62 ans et bien c'est pas facile du tout, merci et encore merci.

La langue française est gratuite, seules les fautes d'orthographe sont en option.
0
J'ai quand un petit problème, car quand je clique sur les combos, la liste est complètement vide.

La langue française est gratuite, seules les fautes d'orthographe sont en option.
0
Utilisateur anonyme
21 janv. 2013 à 22:50
Bon voilà le code du formulaire que tu devrais avoir pour remplir tes combo :

Option Strict On
Option Explicit On
Imports System.Collections.Generic

Public Class Form1
    Dim unite As New List(Of String) From {"Mètre", "décimètre", "centimètre", "millimètre", "Décamètre", _
                               "Hectomètre", "Kilomètre", "Main (hand)", "doigt (finger)", _
                               "pied (foot)", "pouce (inch)", "coudée (cubit)", "pas (pace)", _
                               "verge (yard)", "aune (ell)", "brasse(fathom)", "toise", "perche", _
                               "arpent", "encablure", "mille", "mille américain", "mille marin", _
                               "lieue postale", "lieue terrestre", "lieue nautique", "année lumière"}
    Dim unite2 As New List(Of String) From {"1", "0.1", "0.01", "0.001", "10", "100", "1000", "0.1016", "0.1143", _
                               "0.3048", "0.0254", "0.4572", "0.762", "0.9144", "1.186566", "1.8288", _
                               "1.94903631", "5.847108929", "25920/443.296", "185.2", "1609.344", _
                               "1609.347219", "1852", "3898.07262", "4443.802786", "5556", _
                               "960730472580800"}
    Dim coef As Long, Quantite As Double, element As Integer, element2 As Integer, Resultat As Double, _
        decimales As Integer

    Private Sub Chaine_Quantite_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Chaine_Quantite.TextChanged
        Quantite = Val(Chaine_Quantite)
    End Sub

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        If Quantite = 0 Then
            Quantite = 1
        End If
        Resultat = Val(Coefficient_1.Text) / Val(Coefficient_2) * Quantite
        Chaine_Resultat.Text = CStr(Resultat)
    End Sub

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        ComboBox1.DataSource = unite
        ComboBox2.DataSource = unite2
    End Sub
End Class
0
Utilisateur anonyme
22 janv. 2013 à 01:53
Bonjour,

Cela m'inspire que tu vas devoir emplir des combos "au long"

Essaie avec cela dans le Form_load:

for i as integer = 0 to unite.length - 1
    ComboBox1.items.add(unite(i))
    ComboBox2.items.add(unite2(i))
next
0
Bonjour et merci beaucoup pour cette source qui m'a inspiré, bien sûr, on n'a pas encore résolu le problème, donc j'explique le fonctionne du programme,

Quand on sélectionne un article dans le combo1, le TextBoxCoefficient_1 doit recevoir la valeur de l'article choisi dans le combo1

Idem pour le combo2 et le TextBoxCoefficient_2

Quand je clique sur le bouton Convertir, que j'ai oublié de renommer BtnConvertir, dans le TextBox_Chaine_resultat, je dois avoir le résultat de TextBoxCoefficient_1.Text * TextBoxCoefficient_2.Text * dQuantite.

Le problème, déjà, est que je ne sais pas comment entrer les valeurs de cUnite

J'espère m'être bien exprimé, cette fois-ci, et je vous remercie grandement pour votre aide inestimable.

Option Strict On
Option Explicit On
Imports System.Collections.Generic

Public Class Form1
    Dim cUnite As New List(Of String) From {"Mètre", "décimètre", "centimètre", "millimètre", "Décamètre", _
                               "Hectomètre", "Kilomètre", "Main (hand)", "doigt (finger)", _
                               "pied (foot)", "pouce (inch)", "coudée (cubit)", "pas (pace)", _
                               "verge (yard)", "aune (ell)", "brasse(fathom)", "toise", "perche", _
                               "arpent", "encablure", "mille", "mille américain", "mille marin", _
                               "lieue postale", "lieue terrestre", "lieue nautique", "année lumière"}
    Dim cValeur As New List(Of String) From {"1", "0.1", "0.01", "0.001", "10", "100", "1000", "0.1016", "0.1143", _
                               "0.3048", "0.0254", "0.4572", "0.762", "0.9144", "1.186566", "1.8288", _
                               "1.94903631", "5.847108929", "25920/443.296", "185.2", "1609.344", _
                               "1609.347219", "1852", "3898.07262", "4443.802786", "5556", _
                               "960730472580800"}

    Dim lCoeff As Long, dQuantite As Double, dResultat As Double

    Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
        ComboBox1.DataSource = cUnite
        ComboBox2.DataSource = cUnite
    End Sub

    Private Sub TextBoxCoefficient_1_TextChanged(sender As System.Object, e As System.EventArgs) Handles TextBoxCoefficient_1.TextChanged
        TextBoxCoefficient_1.Text = CStr(ComboBox1.Text)
    End Sub

    Private Sub TextBoxCoefficient_2_TextChanged(sender As System.Object, e As System.EventArgs) Handles TextBoxCoefficient_2.TextChanged
        TextBoxCoefficient_2.Text = CStr(ComboBox2.Text)
    End Sub

    Private Sub Chaine_Quantite_TextChanged(sender As System.Object, e As System.EventArgs) Handles Chaine_Quantite.TextChanged
        dQuantite = Val(Chaine_Quantite.Text)
        If dQuantite = 0 Then
            dQuantite = 1
        End If
    End Sub

    Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
        dResultat = Val(TextBoxCoefficient_1.Text) / Val(TextBoxCoefficient_2) * dQuantite
        Chaine_Resultat.Text = CStr(dResultat.ToString)
    End Sub
End Class



La langue française est gratuite, seules les fautes d'orthographe sont en option.
0
Rebonjour et merci pour votre aide !
Ça commence à prendre forme, il ne me manque plus que les valeurs

Option Strict On
Option Explicit On
Imports System.Collections.Generic

Public Class Form1
    Dim cUnite As New List(Of String) From {"Mètre", "décimètre", "centimètre", "millimètre", "Décamètre", _
                               "Hectomètre", "Kilomètre", "Main (hand)", "doigt (finger)", _
                               "pied (foot)", "pouce (inch)", "coudée (cubit)", "pas (pace)", _
                               "verge (yard)", "aune (ell)", "brasse(fathom)", "toise", "perche", _
                               "arpent", "encablure", "mille", "mille américain", "mille marin", _
                               "lieue postale", "lieue terrestre", "lieue nautique", "année lumière"}
    Dim cValeur As New List(Of String) From {"1", "0.1", "0.01", "0.001", "10", "100", "1000", "0.1016", "0.1143", _
                               "0.3048", "0.0254", "0.4572", "0.762", "0.9144", "1.186566", "1.8288", _
                               "1.94903631", "5.847108929", "25920/443.296", "185.2", "1609.344", _
                               "1609.347219", "1852", "3898.07262", "4443.802786", "5556", _
                               "960730472580800"}

    Dim lCoeff As Long, dQuantite, dCoefficient1, dCoefficient2, dResultat As Double

    Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
        ComboBox1.DataSource = cUnite
        ComboBox2.DataSource = cUnite
    End Sub

    Private Sub TextBoxCoefficient_1_TextChanged(sender As System.Object, e As System.EventArgs) Handles TextBoxCoefficient_1.TextChanged
        dCoefficient1 = CDbl(ComboBox1.Text)
    End Sub

    Private Sub TextBoxCoefficient_2_TextChanged(sender As System.Object, e As System.EventArgs) Handles TextBoxCoefficient_2.TextChanged
        dCoefficient2 = CDbl(ComboBox2.Text)
    End Sub

    Private Sub Chaine_Quantite_TextChanged(sender As System.Object, e As System.EventArgs) Handles Chaine_Quantite.TextChanged
        dQuantite = Val(Chaine_Quantite.Text)
        If dQuantite = 0 Then
            dQuantite = 1
        End If
    End Sub

    Private Sub BtnConvertir_Click(sender As System.Object, e As System.EventArgs) Handles BtnConvertir.Click
        dResultat = dCoefficient1 * dCoefficient2 * dQuantite
        Chaine_Resultat.Text = CStr(dResultat.ToString)
    End Sub
End Class


La langue française est gratuite, seules les fautes d'orthographe sont en option.
0
Utilisateur anonyme
22 janv. 2013 à 12:23
A mon avis il y a une erreur sur cette ligne :
ComboBox2.DataSource = cUnite


On devrait plutôt lire :

ComboBox2.DataSource = cValeur
0
D'abord merci de l'attention que vous m'accordez, car là je me sens comme un gros boulet.

Je veux effectivement mettre dans les deux combos les noms des unités, le premier combo indique quelle unité on veut convertir et le second combo indique dans quelle unité.

Par exemple, je choisis Mètre à convertir en millimètres, donc je souhaiterais que dans TextBoxCoefficient_1 je retrouve la valeur "1" et dans TextBoxCoefficient_2 la valeur "0.001", le reste coule de source.

Encore un grand merci, et à très bientôt.

La langue française est gratuite, seules les fautes d'orthographe sont en option.
0
Re rebonjour, j'aimerais savoir s'il serait possible d'utiliser une structure du genre :

Structure Mesure
Nom As String
Valeur As Double
End Structure

Comme ça, je pourrais utiliser Mesure.Nom, pour le nom et Mesure.Valeur pour la valeur

Je vous remercie beaucoup de vos réponses et j'espère que ça peut aider d'autres novices comme moi.

La langue française est gratuite, seules les fautes d'orthographe sont en option.
0
Utilisateur anonyme
22 janv. 2013 à 17:07
Bonjour,

De mémoire:

Structure Mesure 
   Nom As String 
   Valeur As Double 
End Structure 


Plus

dim UneMesure as structure


Et tu utilises UneMesure.nom et une mesure.valeur pour travailler

En fait, pour VB, une classe et une structure c'est presque la même chose.
0
Rejoignez-nous