Problème de code VBA pour ma caisse
Bonjour,
J’ai un problème de code VBA sur ma caisse.
Il faut compléter le paiement, quantité, et le code barre.
Le code barre (correspond aux articles qui se trouvent sur la feuille Nouvel Article).
Puis cliquer sur le bouton valider et s’inscrivent en dessous de la liste des articles (il faudrait qu’il me marque toutes les données qui correspondent au code barre qui sera scanné et qui se trouve sur la feuille nouvel article.
En cliquant sur le bouton Prix ttc au-dessus il doit marquer le total de tous les articles que le client a acheté.
Et pour finir quand on clique sur le bouton sauvegarder (toutes les informations vont se trouver sur la feuille caisse)
Voici les codes que j’ai notés en frmCaisse :
Private Sub btnEfface_Click()
If MsgBox("Etes-vous certain de vouloir supprimer la commande ?", vbYesNo, "Demande de confirmation") = vbYes Then
With Sheets("caisse")
dlf = .Range("a" & Rows.Count).End(xlUp).Row
If dlf > 1 Then .Range("a2:l" & dlf).ClearContents
txtCB = ""
txtQuantite = ""
txtPrix = ""
LiboListedetoutlesarticle = ""
cboGenre.Clear
End With
End If
End Sub
Private Sub btnFermer1_Click()
Unload Me
Private Sub btnPrix_Click()
With Sheets("Caisse")
dlf = .Range("a" & Rows.Count).End(xlUp).Row
If dlf > 1 Then
For i = 2 To dlf
Total = Total + .Range("l" & o)
Next o
End If
End With
txtPrix = Format(Total, "Currency")
End Sub
Private Sub btnSauvegarde_Click()
If MsgBox("Etes-vous certain de vouloir sauvegarder la commande ?", vbYesNo, "Demande de confirmation") = vbYes Then
If cboGenre = "" Then
MsgBox "Vous devez impérativement renseigner le mode de paiement et le nom du client pour sauvegarder la commande", vbInformation
cboGenre.SetFocus
Exit Sub
End If
paiement = cboGenre
With Sheets("Caisse")
dlf = .Range("a" & Rows.Count).End(xlUp).Row
dlf2 = Sheets("Caisse").Range("a" & Rows.Count).End(xlUp).Row + 1
If dlf > 1 Then
For i = 2 To dlf
.Range("b" & o) = CodeBarre
.Range("k" & o) = paiement
Next o
.Range("a2:f" & dlf).Copy Destination:=Sheets("Caisse").Range("a" & dlf2)
.Range("a2:f" & dlf).ClearContents
End If
End With
txtCB = ""
txtQuantite = ""
txtPrix = ""
LiboListedetoutlesarticle = ""
cboGenre.Clear
End If
End Sub
Private Sub btnvaliderlacommande_click()
If cboPaiement = "" Or TextQuantite = "" Then
MsgBox "Vous devez impérativement remplir le mode de paiement,et la quantitée ainsi l'article avant de valider", vbInformation
Exit Sub
End If
dlf_bdd = Sheets("Nouvel Article").Range("a" & Rows.Count).End(xlUp).Row
Set Table = Sheets("Nouvel Article").Range("c:j" & dlf_bdd)
ith Sheets("Caisse")
dlf = .Range("a" & Rows.Count).End(xlUp).Row + 1
.Range("a" & dlf) = Date
.Range("b" & dlf) = txtCB
.Range("c" & dlf) = Description
.Range("d" & dlf) = txtQuantite
.Range("e" & dlf) = Marque
.Range("f" & dlf) = Genre
.Range("g" & dlf) = tailleoutranchedage
.Range("h" & dlf) = Numérodedépôt
.Range("i" & dlf) = Datedébutdudépôt
.Range("j" & dlf) = Datedefindudépôt
.Range("k" & dlf) = Prix
.Range("l" & dlf) = Total
.Range("l" & dlf) = .Range("d" & dlf) * Application.WorksheetFunction.VLookup(.Range("c" & dlf), Table, 2, 0)
LiboListedetoutlesarticle.AddItem (txtCB & " x " & txtQuantite)
txtCB = ""
txtQuantite = ""
End Sub
- Messages
- 2'417
- Excel
- 2019
- Inscrit
- 13/07/2017
- Emploi
- Formateur, animateur,tech.informatique
Bonjour
un petit oubli sur le bouton btnFermer1_Click il manque End Sub
Private Sub btnFermer1_Click()
Unload Me
End Subcrdlt,
André
j'ai effectuer la modification, mais ça ne fonctionne toujours pas
Merci
- Messages
- 2'417
- Excel
- 2019
- Inscrit
- 13/07/2017
- Emploi
- Formateur, animateur,tech.informatique
re,
il manque beaucoup de déclarations de variable
i, o
----dans l'userform frmCaisse
dans Private Sub btnvaliderlacommande_click()
de With Sheets("Caisse")
btnvaliderlacommande_click
1/manque le W de With (ith)
2/ manque le End With
Bonjour à tous
Salut André
En effet beaucoup d'erreurs dans ton code comme le dit André
D'autre part, dans ton formulaire caisse, je ne vois pas la notion de client.
Tu vas chercher le prix dans ta feuille Caisse où tu n'as aucune ligne de saisie.... Ton calcul de prix se fait par total alors que si l'on a saisi dans la feuille caisse 2 articles , on devrait avoir prix unitaire multiplié par 2 ????
Donc, pour que l'on puisse t'aider, il faut que tu revois un peu tout cela avant de revenir à nous....
Car là, c'est pour nous la noyade assurée...
Bon courage et reviens lorsque cela est démêlé
A +
- Messages
- 2'417
- Excel
- 2019
- Inscrit
- 13/07/2017
- Emploi
- Formateur, animateur,tech.informatique
Coucou Patty
@zibourou
Je n'ai pas trop bien compris le fonctionnement code barre sans doute
j'ai légèrement un peu arrangé
à voir re-modeler re-travailler re-bosser se re-poser dessus
Effectués :
- (Onglet Nouvel Article) inversion lors du lancement de l'usf des colonnes Description & Quantités
crdlt,
André