Private Sub BtAjoutComm_Click()
'**********************************************
'event bouton Ajouter COMMANDE
'**********************************************
Application.ScreenUpdating = False
Txt1erAcompte = Format(TxtPrixTTC * 40 / 100, "0.00 €")
Txt2emeAcompte = Format(TxtPrixTTC * 40 / 100, "0.00 €")
TxtSolde = Format(TxtPrixTTC * 20 / 100, "0.00 €")
'ALERTE CHAMPS OBLIGATOIRE NON REMPLI
If TxtDateConfClient = "" Then MsgBox "Il manque la date de la Commande": Exit Sub
If TxtCommercial = "" Then MsgBox "Vous devez Sélectionner le COMMERCIAL": Exit Sub
If TxtNomClient = "" Then MsgBox "Vous devez Saisir le NOM du CLIENT": Exit Sub
If TxtPrenomCl = "" Then MsgBox "Vous devez Saisir le Prénom du CLIENT, si c'est une Société, mettre un point": Exit Sub
If TxtPrixAchatComm = "" Then MsgBox "Vous devez Saisir le PRIX D'ACHAT de la Commande": Exit Sub
If TxtTelClient = "" Then MsgBox "Vous devez Saisir le TELEPHONE du Client": Exit Sub
If TxtVille2 = "" Then MsgBox "Vous devez Saisir la VILLE du Client ": Exit Sub
If TxtPrixHT = "" Then MsgBox "Vous devez Saisir le PRIX DU DEVIS H.T ": Exit Sub
If TxtPrixTTC = "" Then MsgBox "Vous devez Saisir le PRIX DU DEVIS T.T.C ": Exit Sub
If TxtTempsPose = "" Then MsgBox "Vous devez Saisir le TEMPS DE POSE ": Exit Sub
If TxtNbPers = "" Then MsgBox "Vous devez Saisir le NOMBRE DE POSEUR(S) ": Exit Sub
If ObFermeture = False And ObVeranda = "" Then MsgBox "Vous devez Sélectionner une SOCIETE ": Exit Sub
If CbProd1 <> "" And (CbQte1 = "" Or TxtPrix1 = "") Then MsgBox "Il manque un Prix ou une Quantité du 1er Produit": Exit Sub
If CbProd2 <> "" And (CbQte2 = "" Or TxtPrix2 = "") Then MsgBox "Il manque un Prix ou une Quantité du 2ème Produit": Exit Sub
If CbProd3 <> "" And (CbQte3 = "" Or TxtPrix3 = "") Then MsgBox "Il manque un Prix ou une Quantité du 3ème Produit": Exit Sub
If CbProd4 <> "" And (CbQte4 = "" Or TxtPrix4 = "") Then MsgBox "Il manque un Prix ou une Quantité du 4ème Produit": Exit Sub
If CbProd5 <> "" And (CbQte5 = "" Or TxtPrix5 = "") Then MsgBox "Il manque un Prix ou une Quantité du 5ème Produit": Exit Sub
If CbProd6 <> "" And (CbQte6 = "" Or TxtPrix6 = "") Then MsgBox "Il manque un Prix ou une Quantité du 6ème Produit": Exit Sub
If CbProd7 <> "" And (CbQte7 = "" Or TxtPrix7 = "") Then MsgBox "Il manque un Prix ou une Quantité du 7ème Produit": Exit Sub
If CbProd8 <> "" And (CbQte8 = "" Or TxtPrix8 = "") Then MsgBox "Il manque un Prix ou une Quantité du 8ème Produit": Exit Sub
If CbProd9 <> "" And (CbQte9 = "" Or TxtPrix9 = "") Then MsgBox "Il manque un Prix ou une Quantité du 9ème Produit": Exit Sub
If CbRef1 <> "" And (CbQteCons1 = "" Or CbCons1 = "") Then MsgBox "Il manque un Prix ou une Désignation Du Cosommable 1": Exit Sub
If CbRef2 <> "" And (CbQteCons2 = "" Or CbCons2 = "") Then MsgBox "Il manque un Prix ou une Désignation Du Cosommable 2: Exit Sub"
If CbRef3 <> "" And (CbQteCons3 = "" Or CbCons3 = "") Then MsgBox "Il manque un Prix ou une Désignation Du Cosommable 3": Exit Sub
If CbRef4 <> "" And (CbQteCons4 = "" Or CbCons4 = "") Then MsgBox "Il manque un Prix ou une Désignation Du Cosommable 4": Exit Sub
If CbRef5 <> "" And (CbQteCons5 = "" Or CbCons5 = "") Then MsgBox "Il manque un Prix ou une Désignation Du Cosommable 5": Exit Sub
If CbRef6 <> "" And (CbQteCons6 = "" Or CbCons6 = "") Then MsgBox "Il manque un Prix ou une Désignation Du Cosommable 6": Exit Sub
If CbRef7 <> "" And (CbQteCons7 = "" Or CbCons7 = "") Then MsgBox "Il manque un Prix ou une Désignation Du Cosommable 7": Exit Sub
If CbRef8 <> "" And (CbQteCons8 = "" Or CbCons8 = "") Then MsgBox "Il manque un Prix ou une Désignation Du Cosommable 8": Exit Sub
If CbRef9 <> "" And (CbQteCons9 = "" Or CbCons9 = "") Then MsgBox "Il manque un Prix ou une Désignation Du Cosommable 9": Exit Sub
With [TbCommande].ListObject
' initiles Produits pour Fiche Navette
If CbProd1 <> "" Then p = Application.Match(Me.CbProd1, [TBProduit[PRODUITS]], 0): TxtIniProd1.Value = Application.Index([TBProduit[Initiales Produits]], p)
If CbProd2 <> "" Then p = Application.Match(Me.CbProd2, [TBProduit[PRODUITS]], 0): TxtIniProd2.Value = Application.Index([TBProduit[Initiales Produits]], p)
If CbProd3 <> "" Then p = Application.Match(Me.CbProd3, [TBProduit[PRODUITS]], 0): TxtIniProd3.Value = Application.Index([TBProduit[Initiales Produits]], p)
If CbProd4 <> "" Then p = Application.Match(Me.CbProd4, [TBProduit[PRODUITS]], 0): TxtIniProd4.Value = Application.Index([TBProduit[Initiales Produits]], p)
If CbProd5 <> "" Then p = Application.Match(Me.CbProd5, [TBProduit[PRODUITS]], 0): TxtIniProd5.Value = Application.Index([TBProduit[Initiales Produits]], p)
If CbProd6 <> "" Then p = Application.Match(Me.CbProd6, [TBProduit[PRODUITS]], 0): TxtIniProd6.Value = Application.Index([TBProduit[Initiales Produits]], p)
If CbProd7 <> "" Then p = Application.Match(Me.CbProd7, [TBProduit[PRODUITS]], 0): TxtIniProd7.Value = Application.Index([TBProduit[Initiales Produits]], p)
If CbProd8 <> "" Then p = Application.Match(Me.CbProd8, [TBProduit[PRODUITS]], 0): TxtIniProd8.Value = Application.Index([TBProduit[Initiales Produits]], p)
If CbProd9 <> "" Then TxtIniProd9.Value = CbProd9.Value
Dim r, X, V, i&, reponse
X = Application.IfError(Application.Match(TxtRefComm, .Range.Columns(13), 0), 0) ' test si ref commande existe déjà
If X <> 0 And TxtRefComm <> "" Then MsgBox "Cette référence existe déjà" & vbCrLf & " Veuillez choisir une autre référence": Exit Sub
PxAchatComm = IIf(TxtPrixAchatComm.Value = "", 0, TxtPrixAchatComm.Value) ' valeur numérique à 0
QteProd1 = IIf(CbQte1.Value = "", 0, CbQte1.Value): QteProd2 = IIf(CbQte2.Value = "", 0, CbQte2.Value): QteProd3 = IIf(CbQte3.Value = "", 0, CbQte3.Value): QteProd4 = IIf(CbQte4.Value = "", 0, CbQte4.Value): QteProd5 = IIf(CbQte5.Value = "", 0, CbQte5.Value): QteProd6 = IIf(CbQte6.Value = "", 0, CbQte6.Value): QteProd7 = IIf(CbQte7.Value = "", 0, CbQte7.Value): QteProd8 = IIf(CbQte8.Value = "", 0, CbQte8.Value): QteProd9 = IIf(CbQte9.Value = "", 0, CbQte9.Value):
PxProd1 = IIf(TxtPrix1.Value = "", 0, TxtPrix1.Value): PxProd2 = IIf(TxtPrix2.Value = "", 0, TxtPrix2.Value): PxProd3 = IIf(TxtPrix3.Value = "", 0, TxtPrix3.Value): PxProd4 = IIf(TxtPrix4.Value = "", 0, TxtPrix4.Value): PxProd5 = IIf(TxtPrix5.Value = "", 0, TxtPrix5.Value): PxProd6 = IIf(TxtPrix6.Value = "", 0, TxtPrix6.Value): PxProd7 = IIf(TxtPrix7.Value = "", 0, TxtPrix7.Value): PxProd8 = IIf(TxtPrix8.Value = "", 0, TxtPrix8.Value): PxProd9 = IIf(TxtPrix9.Value = "", 0, TxtPrix9.Value):
QteCons1 = IIf(CbQteCons1.Value = "", 0, CbQteCons1.Value): QteCons2 = IIf(CbQteCons2.Value = "", 0, CbQteCons2.Value): QteCons3 = IIf(CbQteCons3.Value = "", 0, CbQteCons3.Value): QteCons4 = IIf(CbQteCons4.Value = "", 0, CbQteCons4.Value): QteCons5 = IIf(CbQteCons5.Value = "", 0, CbQteCons5.Value): QteCons6 = IIf(CbQteCons6.Value = "", 0, CbQteCons6.Value): QteCons7 = IIf(CbQteCons7.Value = "", 0, CbQteCons7.Value): QteCons8 = IIf(CbQteCons8.Value = "", 0, CbQteCons8.Value):: QteCons9 = IIf(CbQteCons9.Value = "", 0, CbQteCons9.Value)
PrixFact1 = IIf(TxtPxFact1.Value = "", 0, TxtPxFact1.Value): PrixFact2 = IIf(TxtPxFact2.Value = "", 0, TxtPxFact2.Value): PrixFact3 = IIf(TxtPxFact3.Value = "", 0, TxtPxFact3.Value): PrixFact4 = IIf(TxtPxFact4.Value = "", 0, TxtPxFact4.Value): PrixFact5 = IIf(TxtPxFact5.Value = "", 0, TxtPxFact5.Value): PrixFact6 = IIf(TxtPxFact6.Value = "", 0, TxtPxFact6.Value): PrixFact7 = IIf(TxtPxFact7.Value = "", 0, TxtPxFact7.Value): PrixFact8 = IIf(TxtPxFact8.Value = "", 0, TxtPxFact8.Value): PrixFact9 = IIf(TxtPxFact9.Value = "", 0, TxtPxFact9.Value):
heure = IIf(TxtHeure.Value = "", 0, TxtHeure.Value): acompte1 = IIf(Txt1erAcompte.Value = "", 0, Txt1erAcompte.Value): solde = IIf(TxtSolde.Value = "", 0, TxtSolde.Value)
acompte2 = IIf(Txt2emeAcompte.Value = "", 0, Txt2emeAcompte.Value)
Datetest = Now
' On constitue la liste de données à Ajouter à la liste
V = Array(TxtCommercial, TxtNomClient, TxtPrenomCl, TxtRefDevis, TxtTelClient.Value, TxtVille2, CDbl(TxtPrixHT), CDbl(TxtPrixTTC), TxtDatePosePrevue, _
TxtDateConfClient, CDbl(acompte1), Abs(ObMetOui), Abs(ObMetNon), CDate(heure), TxtRefComm, CDbl(TxtTempsPose), CDbl(TxtNbPers), _
TxtDateMetrage, CbMetreur, TxtAdresse, TxtVille, TxtCp, TxtDateComFourn, TxtDateLivToury, CDbl(PxAchatComm), TxtCommentaire, CbPoseur, _
CbPoseur2, Abs(ChbAttTVA), Abs(ChbCGV), Abs(ObDechetOui), Abs(ObDechetNon), CbProd1, CbDetail1, CDbl(QteProd1), CDbl(PxProd1), _
CbProd2, CbDetail2, CDbl(QteProd2), CDbl(PxProd2), CbProd3, CbDetail3, CDbl(QteProd3), CDbl(PxProd3), CbProd4, CbDetail4, CDbl(QteProd4), _
CDbl(PxProd4), CbProd5, CbDetail5, CDbl(QteProd5), CDbl(PxProd5), CbProd6, CbDetail6, CDbl(QteProd6), CDbl(PxProd6), CbProd7, CbDetail7, _
CDbl(QteProd7), CDbl(PxProd7), CbProd8, CbDetail8, CDbl(QteProd8), CDbl(PxProd8), CbProd9, CbDetail9, CDbl(QteProd9), CDbl(PxProd9), CbRef1, _
CDbl(QteCons1), CbCons1, CbRef2, CDbl(QteCons2), CbCons2, CbRef3, CDbl(QteCons3), CbCons3, CbRef4, CDbl(QteCons4), CbCons4, CbRef5, _
CDbl(QteCons5), CbCons5, CbRef6, CDbl(QteCons6), CbCons6, CbRef7, CDbl(QteCons7), CbCons7, CbRef8, CDbl(QteCons8), CbCons8, CbRef9, _
CDbl(QteCons9), CbCons9, TxtCommPassee)
For i = LBound(V) To UBound(V)
If IsNumeric(V(i)) Then V(i) = CDbl(V(i))
Next
.ListRows.Add.Range.Cells(1).Resize(, 96) = V ' On ajoute la ligne à la base de données
LigSal = .ListRows.Count
.ListRows(LigSal).Range.Cells(116).Resize(, 12) = Array(LblInitCommercial.Caption, TxtIniProd1, TxtIniProd2, _
TxtIniProd3, TxtIniProd4, TxtIniProd5, TxtIniProd6, TxtIniProd7, TxtIniProd8, TxtIniProd9, CDbl(acompte2), CDbl(solde))
.ListRows(LigSal).Range.Cells(132).Resize(, 3) = Array(Abs(ObFermeture), Abs(ObVeranda), Abs(ChbProspect))
.ListRows(LigSal).Range.Cells(138).Resize(, 2) = Array(CDate(Format(Datetest, "dd/mm/yyyy hh:mm")), LblInit)
End With
Remplir_Navette
Archive_Fiche_Navette
Vidange
UserForm_Initialize 'on remet la listbox a jour automatiquement
Application.ScreenUpdating = True
End Sub