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
796
Réponses
1
Affichages
730

Membres actuellement en ligne

Aucun membre en ligne actuellement.

Statistiques des forums

Discussions
312 069
Messages
2 085 037
Membres
102 762
dernier inscrit
Ucef