Alimenter colonne produit, Qte, PV mtant par collage

Salut le forum

Je cherche à alimenter le ticket caisse de la feuille « TICKET » par le contenu des controls(Combobox_bois, textbox_qte, textbox_PV et textbox_mtant).

Le collage doit commencer en B11 comme ceci :

Colonne B (à partir de B11 :B20) prendra les valeurs des Combobox_Bois

Colonne C (à partir de C11 :C20) prendra les valeurs des textbox_qte

Colonne E (à partir de E11 :E20) prendra les valeurs des textbox_PV

Colonne G (à partir de G11 :G20) prendra les valeurs des textbox_mtant

J’ai essayé d’adapter un code (je salue encore GVIALLE pour son code)comme ceci mais rien ne fonctionne.

Private Sub CommandButton23_Click()
'Private Sub Factur_Caisses_Click()
Dim ligExport As Long
'Dim booAddFacture As Boolean

ligExport = Feuil8.Range("b" & Rows.Count).End(xlUp).Row + 1
On Error Resume Next
'Affectation de la cellule contanant le numéro de facture à incrémenter
    'Set oCellNumFacture = ThisWorkbook.Names("NumFacture").RefersToRange

If Me.TextBox_Réf <> "" And Me.TextBox_Réf <> "" Then 'si service et ref renseignés
    For i = 11 To 20 'pour toutes les lignes
        If Me.Controls("ComboBox_Bois" & i) <> "" And Me.Controls("TextBox_Qte" & i) <> "" Then 'si tous les contrôles de la ligne sont remplis

            'export
            With Feuil8
                '.Range("a" & ligExport) = Date
                .Range("b" & ligExport) = Me.Controls("ComboBox_Bois" & i)
                .Range("d" & ligExport) = CDbl(Me.Controls("TextBox_Qte" & i))

            End With

            'incrémentation de la ligne
            ligExport = ligExport + 1
        End If
    Next i
End If
End Sub

Merci de m’aider

9ticket-caisse.xlsm (33.24 Ko)

Bonjour Zombe le forum

la feuille employé elle est ou??

la feuille base des prix elle est ou??

a+

Papou

Re Zombe le forum

Erreur

a+

Papou

Salut Paritec et le forum

Ci-joint le fichier tenant compte de vos observations.

Bonsoir Zombe le forum

je regarde cela demain matin, là maintenant repos

à +

Papou

Bonjour Zombe le forum

Erreur

a+

Papou

Bonsoir Paritec

Tout d'abord mes félicitations pour le travail abattu.

Vous avez vraiment simplifié mes codes.

alors toi qui parlait d'insuffisance, quand je vois ton fichier je me marre un peu !!

Je retiens tout simplement que c'était pas le mot juste à utiliser pour me faire comprendre et je me suis déjà excusé pour cet incident.

'If Me.TextBox_Réf <> "" And Me.TextBox_Réf <> "" Then

Ne faites pas attention à ce code.

je n'ai pas compris le pourquoi des questions pour le report des tickets????

J'ai pas bien compris la question mais certainement que vous faites allusion au report des données de l'usf sur le ticket.

une chose de sur c'est que rien n'est prévu pour mémoriser les tickets déjà émis là ???????

J'en est pensé mais je ne sais pas comment y arriver et aussi j'essaie d'aller doucement pour ne pas me perdre. Puisque vous en parlé, je suis vraiment intéressé par cette solution. Merci de voir ce que vous pourrez me proposer dans ce sens.

Et aussi rien de prévu pour le débit du stock fiche article !!!!

Faites-vous référence aux fiches de gestion de stock (Stock initial-----Entrées------Sortie----Stock final)?

Si c'est de ca vous parlez oui et je vous fait voir dans la feuille "Inventaire" ce que je compte faire pour gérer mon stock tout en étant ouvert aux idées (solutions) enrichissantes.

De façon générale, dans mon cas réel ma commande "VALIDER" contient ce code (ci-dessous) qui me permet d'alimenter ma feuille "ETAT_VENTE (voire fichier joint).

J'ai voulu également faire une déduction pour pouvoir alimenter mon ticket et je n'y arrivais pas.

Est-ce possible de concilier les 2 codes afin qu'il puisse alimenter les 2 feuilles (ETAT_VENTE et TICKET? oubien quelle est la meilleure formule?

je reste à votre disposition pour tout complément d'information qui vous permettra de bien m'aider.

Re Bonjour Zombe le forum

1) déjà pour commencer a quoi sert d'avoir une feuille inventaire alors que la feuille article possède les stock????????????

2) pourquoi dans le ticket toutes ces cellules fusionnées qui ne servent à rien ????

3) la mémorisation des tickets a mon sens doit se faire sous forme de ticket par souci de facilité

enfin je vais faire quelques modifications

a+

Papou

Bonjour Paritec

déjà pour commencer a quoi sert d'avoir une feuille inventaire alors que la feuille article possède les stock????????????

La feuille article ne possède pas les stocks. La colonne quantité que vous voyez ne représente pas de stock mais c'est le nombre de bouteilles par caisse. exemple une caisse de BEAU33 contient 24 bouteilles et une caisse de SOBBRA contient 12 bouteilles.

pourquoi dans le ticket toutes ces cellules fusionnées qui ne servent à rien ????

Avez-vous une proposition à ce effet car c'est souvent par manque d'expérience que j'ai fait comme cela.

la mémorisation des tickets a mon sens doit se faire sous forme de ticket par souci de facilité

enfin je vais faire quelques modifications

Ok merci d'avance.

Bonjour Zombe le forum

Erreur

a+

Papou

bonjour Zombe le forum

Erreur

a+

Papou

Bonsoir Paritec et le forum

Vos solutions répondent à mes attentes.

J'ai quelques préoccupations et pour cela il va falloir que je donne plus d'informations afin que vous appréciez la suite à donner.

J'ai remarqué que la validation met du temps pour se réaliser d'après les tests faits à partir de votre fichier (plus de 50 second).

Dans mon cas réel (voir fichier joint), je dois pouvoir centraliser toutes les ventes sur la feuille "CENTRALISATION" au fur et à mesure des commandes. La macro ci-dessous permet de réaliser cela mais le problème c'est comment faire pour le fusionner avec votre code qui permet d'alimenter le ticket. pour le moment j'ai utilisé le bouton "VALIDER" pour appeler les 2 codes mais je sens toujours la "lenteur".

Dim ligExport As Long
'Dim i&
ligExport = Feuil2.Range("a" & Rows.Count).End(xlUp).Row + 1
On Error Resume Next
'Affectation de la cellule contanant le numéro de facture à incrémenter
    'Set oCellNumFacture = ThisWorkbook.Names("NumFacture").RefersToRange

If Me.TextBox_Réf <> "" And Me.TextBox_Réf <> "" Then 'si service et ref renseignés
    For i = 1 To 10 'pour toutes les lignes
        If Me.Controls("ComboBox_Bois_" & i) <> "" And Me.Controls("TextBox_Qte_" & i) <> "" Then 'si tous les contrôles de la ligne sont remplis

            'export
            With Feuil2
                .Range("a" & ligExport) = Date
                .Range("b" & ligExport) = Me.Controls("ComboBox_Bois_" & i)
                .Range("c" & ligExport) = CDbl(Me.Controls("TextBox_Qte_" & i))
                .Range("d" & ligExport) = CDbl(Me.Controls("TextBox_Mtant_" & i))
                .Range("e" & ligExport) = Me.Combo_Serveur
                .Range("f" & ligExport) = Me.TextBox_Réf
                .Range("g" & ligExport) = Me.CodeExpl
                .Range("h" & ligExport) = CDbl(Me.TextBox_Encais)
                .Range("i" & ligExport) = CDbl(Me.TextBox_Avoir)
                .Range("j" & ligExport) = CDbl(Me.TextBox_Reste)
            End With

            'incrémentation de la ligne
            ligExport = ligExport + 1
        End If
    Next i
End If

Y'a t-il une solution pour bien optimiser les codes et obtenir un résultat plus satisfaisant?

La feuille "Centralisation" me permet à tout moment de pouvoir faire les statistiques de ventes et aussi pouvoir apprécier les performances des vendeurs (il est très capital pour moi).

NB :

_ sur ce post j'ai solicité une aide pour pouvoir modifier la facture car c'est une évidence:

https://forum.excel-pratique.com/viewtopic.php?f=2&t=130958

- les ticket a rappeler sont ceux du jour et ne doivent pas concerner les dates passées.

50 secondes pour remplir le ticket???

Chez moi environ 0,5 seconde

En tant que membre plus éclairé quest ce qui pourrait justifier ces écarts de lenteur (performance de la machine ou quoi)?

bonjour

Faisant suite encore à de nouvelles remarques, j'ai donc mis un compteur pour voir le temps de chargement du ticket lorsque je clique sur valider!!!!

nous sommes bien loin des 50 secondes!!!! 0,1 Seconde !!!!!!!

pour preuve la capture d'écran.

bonne journée

Papou

capture zombe

Bonjour Paritec et le forum

J'ai trouvé le problème de la lenteur du code.

IL faut noté que le gestionnaire comportait des nom qui n'avait rien a voir avec le fichier.

J'ai purgé le gestionnaire des nom fictifs et la macro fonctionnaire à la vitesse de la lumière

pouvez-vous revoir les autres préoccupations non encore solutionnées (fusion de 2code).

NB : voir dans mon post du 30/10/2019 à 20h40

Re Bonjour Zombe

Y'a t-il une solution pour bien optimiser les codes et obtenir un résultat plus satisfaisant?

Oui j'ai une solution pour que tu aies satisfaction, c'est de le faire tout seul.

Comme cela tu obtiendras un résultat plus satisfaisant et optimisé.

bonne journée

Papou

Bonjour Paritec

Je vois que vous n'avez pas lu mon précédent post.

J'ai signalé avoir localisé la cause de la lenteur du code.

Je ne critique pas vos réalisations amis je n'ai fait que remonter des difficultés constatées tout en continuant les recherches à mon niveau.

Rechercher des sujets similaires à "alimenter colonne produit qte mtant collage"