Je voudrait faire une listbox ( pour calculer mon

Signaler
Messages postés
17
Date d'inscription
samedi 14 juillet 2018
Statut
Membre
Dernière intervention
26 juillet 2018
-
Messages postés
15928
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
13 mai 2021
-
bonjour a tous

je voudrait faire une listbox ( pour calculer mon coéf sur les basaltes ) avec une textbox (la tonne )

ex :j'ai une textbox ( volume ) et une listbox ( 0/60 recycler ( le coéf et 1.7 )) x par la textbox ( la tonne )

volume x coéf = tonnage



...........................produit............... coef

.....1 )......... 0/31.5 basalte............1.9
......2).......... 6/10 basalte...... .......1.8
......3).......... 4/6 basalte................1.8
......4).......... 0/4 basalte.................1.9

etc................

merci pour votre aide

2 réponses

Messages postés
15928
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
13 mai 2021
544
Je pars du principe que tu as lu le cours que je t'ai conseillé.

Soit la classe
Public Class Basalte
    Private leCalibre As String
    Public Property Calibre As String
        Get
            Return leCalibre
        End Get
        Set(ByVal value As String)
            leCalibre = value
        End Set
    End Property

    Private leCoef As Double
    Public Property Coeficient As Double
        Get
            Return leCoef
        End Get
        Set(ByVal value As Double)
            leCoef = value
        End Set
    End Property

    Public Overrides Function ToString() As String
        Return String.Format("{0} basalte : {1:N1}", leCalibre, leCoef)
    End Function

End Class



Pour l'exemple, je charge le listBox, puis sélectionne une valeur et extrait le coefficient pour un calcul ultérieur
        Dim lesBasaltes As New List(Of Basalte)() From
        {
            New Basalte With {.Calibre = "0/31.5", .Coeficient = 1.9},
            New Basalte With {.Calibre = "6/10", .Coeficient = 1.8},
            New Basalte With {.Calibre = "4/6", .Coeficient = 1.78},
            New Basalte With {.Calibre = "0/4", .Coeficient = 1.9}
        }

        ListBox1.DataSource = lesBasaltes

        ListBox1.SelectedIndex = 2 ' je sélectionne le calibre 4/6

        Dim coef As Double = DirectCast(ListBox1.SelectedItem, Basalte).Coeficient 'SelectedItem est de type Objet, il faut donc le caster pour pourvoir accéder aux propriétés de Basalte

Tu pourras remarquer que chef vaut 1.78 alors que dans la liste c'est affiché "1.8", c'est dû au formatage dans ToString.

Messages postés
17
Date d'inscription
samedi 14 juillet 2018
Statut
Membre
Dernière intervention
26 juillet 2018

bonjour

es que ton 1er code,je doit le collé dans une table comme Dataset ou datagrid

1) j ai fait les donnée de datagrid plus sa table rien
2) dataset aussi rien
3) j'ai fait une listbox jai ajouter une base de donneé et colle ton code dans la liste de code ( rien )

ça marche pas

je me suis planter a quelque part ? mais ou

merci pour votre aide
Messages postés
15928
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
13 mai 2021
544
es que ton 1er code,je doit le collé dans une table comme Dataset ou datagrid

Ni l’un ni l’autre.
C’est une classe, un truc de base en programmation objet, or vb.net c’est un langage objet.
Ça se met dans un fichier dédié.
Ce que tu saurais si tu avais pris la peine de suivre le cours que je t’ai déjà conseillé.

Un forum peut d’aider sur un point particulier mais ni t’apprendre la programmation de A à Z (c’est le rôle d’un cours) ni faire ton programme à ta place.

D’autre part, ta question était
comment faire pour qu’en selctionnant un item dans une listbox on puisse obtenir un coefficient
, il n’est nulle par question de base de données.