Userform : avoir le prix selon la prestation et la date

Bonjour à tous !

Je suis en train de continuer à construire mon fichier de facturation pour la logistique.

Dans la facturation mensuelle, j'ai des dossier dont les client de nos clients doivent avoir une ligne et une seul avec des prestations spéciales.

J'ai créé un Userform pour pouvoir choisir le client, les prestations, les quantités...

Quelle est la formule VBA pour pouvoir rechercher un prix suivant la prestation et la date ?

Dans mon fichier de facturation Excel, j'ai cette formule :

=SOMMEPROD((TarifsCA!$B$12:$B$120=Facturation!$F16)*(Facturation!$N$7>=TarifsCA!$F$8:$X$8)*(Facturation!$N$7<=TarifsCA!$F$9:$X$9)*TarifsCA!$F$12:$X$120)

Mais comment la mettre au format VBA ?

Je vous joint un type de fichier test.

Merci pour votre aide !!

RQ

11facturation.xlsm (21.90 Ko)

Hey,

Essaie ça dans ton userform :

prix = Application.WorksheetFunction.SumProduct( _
    (Sheets("TarifsCA").Range("B12:B120") = Me.Prestation.Value) * _
    (Me.TextDate.Value >= Sheets("TarifsCA").Range("F8:X8")) * _
    (Me.TextDate.Value <= Sheets("TarifsCA").Range("F9:X9")) * _
    Sheets("TarifsCA").Range("F12:X120"))

En remplaçant les Me. par tes combobox

@+

Bonjour,

Merci pour ton retour,

J'ai mis le code dans le changement de la combox2(Prestation) pour qu'il m'affiche le tarif à la textbox15 suivant la date de la textbox7.

Private Sub ComboBox2_Change()
Me.TextBox15.Value = Application.WorksheetFunction.SumProduct( _
    (Sheets("TarifsCA").Range("B12:B117") = Me.ComboBox2.Value) * _
    (Me.TextBox7.Value >= Sheets("TarifsCA").Range("F8:FK8")) * _
    (Me.TextBox7.Value <= Sheets("TarifsCA").Range("F9:FK9")) * _
    Sheets("TarifsCA").Range("F12:FK117"))
End Sub

Cependant j'ai une erreur d'exécution '13' : Incomptabilité de type

Alors je suis sur qu'il y a une erreur, cependant, il est mal placé? dois-je le mettre ailleurs ?

Hello,

Peut être ça du coup ?

    formule = "SUMPRODUCT((" & _
              "TarifsCA!B12:B117=""" & Me.ComboBox2.Value & """)*" & _
              "(" & Me.TextBox7.Value & ">=TarifsCA!F8:FK8)*" & _
              "(" & Me.TextBox7.Value & "<=TarifsCA!F9:FK9)*" & _
              "TarifsCA!F12:FK117)"

    Me.TextBox15.Value = Evaluate(formule)

@+

Re-bonjour BAROUTE78,

Merci pour ton aide !!! je viens de tester la seconde formule, je n'ai plus de message d'erreur, mais la valeur est systématiquement de 0€.

@+

Bon !! j'ai réécrit la formule, j'ai fais des recherches, .... mais rien toujours le même message d'erreur :

image

Et quand je clique sur débogage voici l'erreur identifié :

image

Si quelqu'un à une idée, ce serait bienvenue !!

@+

Bonjour à tous !

Au final, je note dans mon userform uniquement les quantités sans les valeurs, il me les calculs directement dans la feuille SAVE.

Donc pour moi le sujet et résolu !

Bonne journée,

RQ

Rechercher des sujets similaires à "userform prix prestation date"