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
933
Réponses
1
Affichages
922

Statistiques des forums

Discussions
314 492
Messages
2 110 186
Membres
110 693
dernier inscrit
AZERED