Bonsoir le forum

Cela fait un moment que je n'avais pas eu besoin de vos conseils mais le cas suivant me cause soucis.

Le code suivant doit me faire un somme de valeur (décimale ) en fonction de criteres en texte que je veux demander par des inputbox;

Voici mon code
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
Sub Vol()
 
Dim pptaire As String, lieu As String, parcelle As String, Vol As Double, dl As Long, rep As Single
 
'Détermination des données Propriétaire, commune et parcelle
 
pptaire = Application.InputBox(prompt:="Propriétaire :", Title:="Choix du Propriétaire.", Type:=3)
lieu = Application.InputBox(prompt:="Lieu :", Title:="Commune de la Forêt", Type:=3)
parcelle = Application.InputBox(prompt:="Parcelle :", Title:="Parcelle forestière", Type:=3)
' Calcul des volumes
With Worksheets("BD")
dl = .Range("A" & .Rows.Count).End(xlUp).Row
Vol = Application.WorksheetFunction.SumProduct((.Range("P2:P" & dl) = pptaire) * (.Range("M2:M" & dl)) * 1)
 
 
End With
 rep = MsgBox(Vol, vbOKOnly + vbInformation, "Volume:")
End Sub

Le soucis est qu'il me renvoie une erreur de type 13 (incompatibilité de type à la ligne

Code : Sélectionner tout - Visualiser dans une fenêtre à part
Vol = Application.WorksheetFunction.SumProduct((.Range("P2:P" & dl) = pptaire) * (.Range("M2:M" & dl)) * 1)
Pouvez vous m'aider SVP

Cordialement

lps02