Listbox

Bonjour à tous et une très bonne année de joie, de bonheur et de santé à vous.

Voilà, je suis en train de faire un facturier pour un resto et je vous soumets un petit problème !

La question n'est pas évidente alors je vous joint un petit fichier où ma demande est expliquée en feuille "FACTURE"

Merci à vous pour vos prochaines réponses

24essai.xlsm (56.30 Ko)

Bonjour SFD34,

Pour pouvoir déclencher un évènement sur un choix dans une liste, tu dois d'abord positionner la propriété "Locked" de chaque liste à "False".

Je propose d'ajouter le code suivant au choix sur l'évènement "Click" ou "DblClick" de la liste contenant les codes articles :

    Const cFirstRow = 5
    Dim sArt As String, lRow As Long
    Dim oSheet As Worksheet

    'On récupère la l'article

    sArt = ListBox3.Value
    If Len(sArt) > 0 Then
        Set oSheet = ThisWorkbook.Worksheets("Facture")
        'Recherche de la première ligne libre
        For lRow = cFirstRow To 24
            If Len(oSheet.Cells(lRow, 1)) = 0 Then
                Exit For
            End If
        Next
        If lRow <= 23 Then
            oSheet.Cells(lRow, 1).Value = sArt
            CAFE_INFUSION.Hide
            oSheet.Cells(lRow, 2).Select
        Else
            MsgBox "Trop de lignes dans la facture!"
        End If
    End If

Je te revois ton Excel modifié comme décrit ci-dessus pour le userform "CAFE-INFUSION".

A toi de reproduire la même chose pour le userform "PIZZAS"...

Pour le positionnement des userforms, tu ajoutes le code suivant dans le code des userforms:

Private Sub UserForm_Activate()
        Me.Top = Application.Top + 300 'Modifier 300 pour positionner le haut de la userform à l'endroit voulu
        Me.Left = Application.Left + 300 'Modifier 300 pour positionner le bord gauche de la userform à l'endroit voulu
End Sub

Je joins la version modifiée.

17essai-gvs.xlsm (60.56 Ko)

Bonsoir,

ci-jointe autre proposition via utilisation d'objets tableau pour les mets : pizzas, café_infusion, bières, digestifs, pichets, vins et d'un objet tableau pour la facture : facture

Ajout de la saisie de la quantité via double clic sur la ligne de la ListBox.

14essai2.xlsm (76.36 Ko)

Bonsoir, j'ai tardé à vous répondre car j'ai testé vos codes en situation de travail, avec toutes les cartes.

thev ton exemple est bien, mais le problème c'est que quand tu factures une/des autres lignes celles d'avant s'effacent. Par exemple je facture 2 pizzas, ok ça fonctionne bien et derrière je facture 1/4 de vin, le quart de vin va remplacer les deux pizzas.

VIALLES ton code fonctionne très bien et me convient, juste que quand je choisis un article la fenêtre disparaît (la cause "CAFE_INFUSION.Hide" par exemple) j'ai mis cette ligne en commentaire, la fenêtre reste ouverte pour d'autres choix et la sélection de la cellule pour la quantité est faite mais on ne peut pas écrire, il faut sélection la feuille (je pense que la fenêtre de choix y est pour quelque chose. Serait-il possible en gardant la fenêtre de choix dispo, de pouvoir inscrire directement la quantité sur la cellule déjà sélectionnée par ton code ?

Merci de vos réponse, c'est génial Excel et les spécialistes comme vous sont géniaux ! Et pour nous, vous êtes un peu des profs

le problème c'est que quand tu factures une/des autres lignes celles d'avant s'effacent

ci-jointe nouvelle version avec ajout d'un bouton pour réinitialiser la facture.

12essai3.xlsm (78.02 Ko)

Bonjour SDF34,

A ma connaissance (mais je ne demande qu'à être contredit), dans EXCEL il n'y a pas moyen de naviguer entre une userform et une cellule de la feuille (une userform s'affiche en mode "modal" i.e. tant qu'elle n'est pas fermée, elle garde le focus).

Une alternative (qui vaut ce qu'elle vaut): ajouter dans tes userforms une zone pour la saisie de la quantité que tu reporterais dans la bonne colonne en même temps que le code article.

Salut

c’est une proposition ,mais n ai pas encore fini :

19fctr3.xlsm (43.20 Ko)

double click sur élément selectionne

Salut GVIALLES

A ma connaissance (mais je ne demande qu'à être contredit), dans EXCEL il n'y a pas moyen de naviguer entre une userform et une cellule de la feuille (une userform s'affiche en mode "modal" i.e. tant qu'elle n'est pas fermée, elle garde le focus).

Set False ici :

tu peux essayer ça

1

Effectivement toutes mes Userforms sont en ShowModal "False".

Bonjour SDF34,

A ma connaissance (mais je ne demande qu'à être contredit), dans EXCEL il n'y a pas moyen de naviguer entre une userform et une cellule de la feuille (une userform s'affiche en mode "modal" i.e. tant qu'elle n'est pas fermée, elle garde le focus).

Une alternative (qui vaut ce qu'elle vaut): ajouter dans tes userforms une zone pour la saisie de la quantité que tu reporterais dans la bonne colonne en même temps que le code article.

Ce serait bien mais ma technique ne me permet pas de faire cela, j'ai essayé comme un grand, seul ou avec des bouts de code trouvés dans vos réponses mais ça fonctionne pas. Tu pourrais me faire voir ça, bon pour la zone Qté dans mes userforms, pas de problème, mais il en va pas de même pour reporter cela au bonne endroit à tous les coups

Bon ma userform s'ouvre, (avec les cases Qté) en face de l'article que je veux facturer je mets cette quantité et je double clic sur la réf et tout cela se met en place comme avec ton code actuel mais avec la Qté en plus, c'est comme ça que tu le vois ?

Merci de votre aide et de votre patience

Bonjour sdf34,

Peux-tu joindre la version actualisée de ton EXCEL. Je regarde le problème et te reviens.

Rechercher des sujets similaires à "listbox"