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
949
Réponses
1
Affichages
946

Membres actuellement en ligne

Statistiques des forums

Discussions
314 749
Messages
2 112 460
Membres
111 553
dernier inscrit
cecilou47