Microsoft 365 Calcul TEXTBOX dans Userform

eric72

XLDnaute Accro
Bonjour,
Je cherche à faire des calculs de Textbox dans un Userform en sachant qu'elles ne sont pas toujours toutes renseignées à chaque fois, malgré cela j'aimerais que le calcul se fasse quand même en tenant compte de celles renseignées, donc j'ai adapté ce code mais ça ne va pas.
Ou est la boulette?
Merci à tous
 

Pièces jointes

  • Gestion Fiche Produit test.xlsm
    204 KB · Affichages: 31

patricktoulon

XLDnaute Barbatruc
Ca veut bien dire que dans la feuille "Produit" je peux virer les colonnes comme:
PLANTE Transport/achat
Prix Revient Plante
POT Prix Franco
Prix Revient Pot
Toutes celles issues d'un calcul, c'est bien ça?
heu.. commence pas a y aller a coup de secateur tu sais pas faire ;)
et non il faut pas le supprimer il apparait au depart non ? quand tu selectionne un item
laisse le il mage pas de pain sinon on va etre obligé de refaire les array V


oui si tu veux protege /deprotege ca n'a pas très grande utilité mais si tu veux
fait ca dans les boutons et pas ailleurs !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!


reste toujours a remplir le tbproduit dans données pour l'ajout ne l'oublie pas je n'ai pas encore les informations
 

eric72

XLDnaute Accro
Oui c'est bien 3.5
Pour le TbProduit il faut juste :
Libellé/Code Article/Prix Vente/Cdt
et après on peut modifier les autres champs dans l'USFModifGeneral (déjà fait par toi même), lol!!!
Ce tableau me sert après à établir un "Référencement" que je y'expliquerais après (ça c'est la cerise sur le gâteau, hi hi hi!!!)
 

patricktoulon

XLDnaute Barbatruc
ok voila l'evant ajout
VB:
'***********************************
'event bouton ajouter
'***********************************
Private Sub BtnValider_Click()
       If ActiveControl.Name <> "BtnValider" Then Exit Sub
    If NomPlante = "" Then MsgBox "pas de produit a ajouter": Exit Sub
    If Me.PrixVente.Value = "" Then MsgBox "veuillez saisir le prix de vente SVP": Exit Sub
    If CDbl(PrixVente) < CDbl(CoutRevient) Then MsgBox "prix de vente incohérent avec le cout de revient " & vbCrLf & "veuillez corriger cela SVP": Exit Sub
    Dim X&, V, I&
    With [BDProduit].ListObject
        X = Application.IfError(Application.Match(NomPlante, .Range.Columns(1), 0), 0)
        If X <> 0 Then MsgBox "ce produit exite déja" & vbCrLf & " Veuillez choisir un autre nom": Exit Sub

        V = Array(NomPlante, CodeArticle, CdtPlante, PrixAchatPlante, CoeffPlante, "", "", DiamPot, CoeffPot, "", "", RefPlaque, CoeffPlaque, _
                  "", "", "", TxtCoutHrMO, TxtTempsMO, "", RefChromo, "", "", RefEntourage, "", "", RefEtiquette, "", "", RefCdt, "", QteSoie, "", QteCordelette, _
                  "", QteEtiCar, "", CoeffCdt, "", RefEmballage, Qte1, "", RefEmballage2, Qte2, "", RefEmballage3, Qte3, "", "", TxtRefAccessoire, _
                  TxtDetPrixAccess, TxtPrixAccessoire, TxtCoeffAccess, "", PoidsPlante, "", NomTransVente, "", CbTransporteur, PrixVente, "", _
                  Abs(ObNonRempotee), Abs(ObRempotee), Abs(ChbCoeffPot), Abs(ChbCoeffPlaque), Abs(ChbCoeffCdt), Abs(ChbCoeffAccess), Abs(ChbCoeffPlante))

        For I = 0 To UBound(V)
            If IsNumeric(V(I)) Then V(I) = CDbl(V(I))
        Next
        .ListRows.Add.Range.Value = V
    End With
    
    With Range("TbProduit").ListObject
    .ListRows.Add.Range.Resize(, 4) = Array(NomPlante, CodeArticle, CDbl(PrixVente), Val(CdtPlante))
    End With
    
    triorder
    rempliLesLISTE
    suppl = suppl + 1
End Sub
 

Discussions similaires

Réponses
10
Affichages
345

Membres actuellement en ligne

Statistiques des forums

Discussions
312 069
Messages
2 085 037
Membres
102 762
dernier inscrit
Ucef