Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

listbox à colonne et addition

  • Initiateur de la discussion Initiateur de la discussion shiwashii
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

shiwashii

XLDnaute Nouveau
Bonjour Messieurs, Dames,

Voici mon problème, je me suis lancé sur une caisse pour mon resto (aïee), plein de userform de listbox, textbox etc.. et la, c'est le drame !!!

Avec pièce jointe, pouvez me dire comment je peux faire pour que sur mon userform2, le calcul de la somme ce fasse automatiquement ligne par ligne soit dans une autre listbox ou... faites votre choix.

je ne suis qu'un newbe en la matière car je me suis mis au vba depuis 2 mois et en piquant et adaptant des bout de code par-ci par-là sur le net, ça roule. (je remercie d'ailleurs tout les internautes qui y ont contribué).

ci-joint 3 fichiers
stock 1 et 2 à recoudre avec prog fourni (guillaume 0000, patrick 0001, etc... 0002) encore quelques petits trucs à faire dessus, mais l'ensemble tourne plutot bien.
et Tanjia2.1 qui est l'objet de la question

En vous remerciant d'avance pour l'aide que vous pouvez m'apporter

PS: Oui, je sais que cela existe déjà, mais cela ne correspond pas à mes attentes.
 

Pièces jointes

Re : listbox à colonne et addition

Bonjour shiwashii et bienvenue sur ce forum 😉

Je suis désolé de te le dire comme ça, mais il faudrait déjà comprendre le fonctionnement de ton appli !?
Et j'avoue que je suis perdu ...

A+
 
Re : listbox à colonne et addition

bonjourShiwashii
pour calcul totaux
UserForm2.ListBox1 tu ajoutes une colonne
userform1
Code:
Private Sub ListBox1_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
' si la listbox est vide...
    If UserForm2.ListBox1.ListCount - 1 < 0 Then
        'merci à didier_MDf de XLD pour ce code
        'ajouter l'élément selectionner
        UserForm2.ListBox1.AddItem "1"
        UserForm2.ListBox1.List(UserForm2.ListBox1.ListCount - 1, 1) = ListBox1.List(ListBox1.ListIndex, 0)
        UserForm2.ListBox1.List(UserForm2.ListBox1.ListCount - 1, 2) = ListBox1.List(ListBox1.ListIndex, 1)

        If IsNumeric(UserForm2.ListBox1.List(UserForm2.ListBox1.ListCount - 1, 0)) And _
           IsNumeric(UserForm2.ListBox1.List(UserForm2.ListBox1.ListCount - 1, 2)) Then
            UserForm2.ListBox1.List(UserForm2.ListBox1.ListCount - 1, 3) = _
            CDbl(UserForm2.ListBox1.List(UserForm2.ListBox1.ListCount - 1, 0)) * _
                 CDbl(UserForm2.ListBox1.List(UserForm2.ListBox1.ListCount - 1, 2))
        End If


    Else
        'sinon vérifier sa presence dans la listbox2
        For i = 0 To UserForm2.ListBox1.ListCount - 1
            'si il est présent....
            If ListBox1.List(ListBox1.ListIndex, 0) = UserForm2.ListBox1.List(i, 1) Then
                'ajouter un à la premiere colonne
                UserForm2.ListBox1.List(i, 0) = UserForm2.ListBox1.List(i, 0) + 1

        If IsNumeric(UserForm2.ListBox1.List(i, 0)) And IsNumeric(UserForm2.ListBox1.List(i, 2)) Then
            UserForm2.ListBox1.List(i, 3) = CDbl(UserForm2.ListBox1.List(i, 0)) * CDbl(UserForm2.ListBox1.List(i, 2))
        End If
                Exit Sub
            End If
        Next i
        'sinon ajouter l'élément à la suite
        UserForm2.ListBox1.AddItem "1"
        UserForm2.ListBox1.List(UserForm2.ListBox1.ListCount - 1, 1) = ListBox1.List(ListBox1.ListIndex, 0)
        UserForm2.ListBox1.List(UserForm2.ListBox1.ListCount - 1, 2) = ListBox1.List(ListBox1.ListIndex, 1)

        If IsNumeric(UserForm2.ListBox1.List(UserForm2.ListBox1.ListCount - 1, 0)) And _
           IsNumeric(UserForm2.ListBox1.List(UserForm2.ListBox1.ListCount - 1, 2)) Then
            UserForm2.ListBox1.List(UserForm2.ListBox1.ListCount - 1, 3) = _
            CDbl(UserForm2.ListBox1.List(UserForm2.ListBox1.ListCount - 1, 0)) * _
                 CDbl(UserForm2.ListBox1.List(UserForm2.ListBox1.ListCount - 1, 2))
        End If

    End If


End Sub
 
Re : listbox à colonne et addition

salut,
merci bcp pour votre rapidité, mais j'ai compris le système.
Pour Bruno, je suis désolé, mais moi newbe et ma façon de construire mon prog ne doit pas être très académic, je te l'accorde. et dis précédemment, je débute depuis 2 mois.
pour Bebere, voici comment j'ai résolu mon pb.

Private Sub ListBox1_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
' si la listbox est vide...
If UserForm2.ListBox1.ListCount - 1 < 0 Then
'merci à didier_MDf de XLD pour ce code
'ajouter l'élément selectionner
UserForm2.ListBox1.AddItem "1"
UserForm2.ListBox2.AddItem ""
UserForm2.ListBox1.List(UserForm2.ListBox1.ListCount - 1, 1) = ListBox1.List(ListBox1.listindex, 0)
UserForm2.ListBox2.List(UserForm2.ListBox2.ListCount - 1, 0) = ListBox1.List(ListBox1.listindex, 1)
UserForm2.ListBox2.List(UserForm2.ListBox2.ListCount - 1, 1) = UserForm2.ListBox1.List(UserForm2.ListBox1.ListCount - 1, 0) * UserForm2.ListBox2.List(UserForm2.ListBox2.ListCount - 1, 0)

Else
'sinon vérifier sa presence dans la listbox2
For i = 0 To UserForm2.ListBox1.ListCount - 1
'si il est présent....
If ListBox1.List(ListBox1.listindex, 0) = UserForm2.ListBox1.List(i, 1) Then
'ajouter un à la premiere colonne
UserForm2.ListBox1.List(i, 0) = UserForm2.ListBox1.List(i, 0) + 1:
UserForm2.ListBox2.List(i, 0) = ListBox1.List(ListBox1.listindex, 1)
UserForm2.ListBox2.List(i, 1) = UserForm2.ListBox1.List(i, 0) * UserForm2.ListBox2.List(i, 0)

Exit Sub
End If
Next i
'sinon ajouter l'élément à la suite
UserForm2.ListBox1.AddItem "1"
UserForm2.ListBox2.AddItem ""
UserForm2.ListBox1.List(UserForm2.ListBox1.ListCount - 1, 1) = ListBox1.List(ListBox1.listindex, 0)
UserForm2.ListBox2.List(UserForm2.ListBox2.ListCount - 1, 0) = ListBox1.List(ListBox1.listindex, 1)
UserForm2.ListBox2.List(UserForm2.ListBox2.ListCount - 1, 1) = UserForm2.ListBox1.List(UserForm2.ListBox1.ListCount - 1, 0) * UserForm2.ListBox2.List(UserForm2.ListBox2.ListCount - 1, 0)
End If
End Sub

Merci et encore bravo pour votre vivacité
 
Re : listbox à colonne et addition

re à tous,

Cette fois, autre pb avec mon userform2.listbox1 et 2.

l'addition de mon textbox qui fait le total compte double au premier rajout.
et quand je dblclick, je voudrais que mes items et les prix correspondant décrementent voir dégage si 0 item

ci joint le fichier.
 

Pièces jointes

Re : listbox à colonne et addition

Salut Bebere,

Merci de ton intérêt et de ton aide. J'ai trouvé comment faire mon truc du dessus. Entre temps, j'ai un peu avancé et simplifié mon affaire. Je t'envoie donc mon nouveau fichier avec une autre question.

Pour l'instant, seul l'exterieur.resto1 et interieur.resto17 sont codés, le reste n'étant que du copier/coller.
Alors, j'ai toujours plein de userform par lesquels je dois passer et mon problème viens du fait que je ne sais pas comment faire pour que le bouton de ma table change de couleur (voir module1) quand je click dessus et continue avec le roulement et idem pour le bouton imprimer. Donc mon problème, c'est que dès l'instant que je change de userform, le bouton revient au gris d'origine. Comment faire pour qu'il garde la couleur ??

Merci bcp,
A+

PS : shiwashii@hotmail.com
 

Pièces jointes

- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…