Retour d'arguments fonctions
Bonjour,
Je suis débutant en VBA, ceci dit je cherche ici à calculer l'étendue d'une plage ip en fonction du masque. J'essaye d'utiliser le passage de valeur par référence.
Normalement si tout se passe bien, les valeurs passées en paramètre devraient être modifiées ou pas par la fonction après exécution.
Par exemple "=range(A1;B1;C1;D1;E1)"
Cela ne devrait-il pas modifier directement ces cellules après exécution ? Car cela ne fait que m'afficher 0 dans la cellule où est appelée la fonction. Les cellules A1-D1 qui devraient être modifiées, elles restent égales à elles-mêmes.
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
|
Function Range( ByRef o1, ByRef o2, ByRef o3, ByRef o4, m As Integer )
If (24 <= m And m < 32) Then
o4 = o4 + 2 ^ (32 - m) - 1
End If
If (16 <= m And m < 24) Then
o3 = o3 + 2 ^ (24 - m) - 1
o4 = 255
End If
If (8 <= m And m < 16) Then
o2 = o2 + 2 ^ (16 - m) - 1
o3 = 255
o4 = 255
End If
If (1 <= m And m < 8) Then
o1 = o1 + 2 ^ (8 - m) - 1
o2 = 255
o3 = 255
o4 = 255
End If
End Function |
Merci d'avance.