Ingénierie VOLUME()

Nairolf

XLDnaute Accro
Salut,

Suite à une demande d'inversion de la fonction MASSE() que j'ai partagée la semaine dernière, voici le calcul du volume sur le même principe (à partir de la masse et de la masse volumique) :
VB:
Function VOLUME(MASSE As Double, Unité_Masse As String, Masse_Volumique As Double, Unité_Masse_Volumique As String, Unité_Volume As String)

Dim uv As Double
Dim umv As Double
Dim um As Double

Select Case Unité_Volume
    Case "mm3", "mm^3"
        uv = 1 / 1000000000
    Case "ml", "mL", "cm3", "cm^3"
        uv = 1 / 1000000
    Case "cl", "cL"
        uv = 1 / 100000
    Case "l", "L", "dm3", "dm^3"
        uv = 1 / 1000
    Case "hl", "hL"
        uv = 1 / 10
    Case "m3", "m^3"
        uv = 1
    Case Else
        VOLUME = "Pb unité Volume"
        Exit Function
End Select

Select Case Unité_Masse_Volumique
    Case "kg/l", "kg/L", "kg/dm3", "kg/dm^3"
        umv = 1000
    Case "kg/m3", "kg/m^3", "g/l", "g/L"
        umv = 1
    Case "g/cm3", "g/cm^3"
        umv = 1 / 1000
    Case Else
        VOLUME = "Pb unité Masse Volumique"
        Exit Function
End Select

Select Case Unité_Masse
    Case "kg"
        um = 1
    Case "g"
        um = 1 / 1000
    Case Else
        VOLUME = "Pb unité Masse"
        Exit Function
End Select

VOLUME = (MASSE * um) / (Masse_Volumique * umv) / uv

End Function
Et l'exemple correspondant :
Code:
=VOLUME(1;"kg";1000;"kg/m3";"l")
Il faut mettre les unités entre guillemets.
 

Discussions similaires

Réponses
3
Affichages
808
Réponses
1
Affichages
743

Statistiques des forums

Discussions
312 282
Messages
2 086 767
Membres
103 390
dernier inscrit
BMatoul