Control Source--vba

Dan Paul

XLDnaute Nouveau
Bonjour,

dans un formulaire, j'ai un textbox (disons A) qui doit afficher une valeur resultant d'un calcul de plusieurs autres valeurs contenues dans d'autres textbox (disons B et C).

De plus, la valeur de B doit etre traitee par une fonction qui est situe dans un module (disons fonction Decode)

Pour le moment, j'ai code pour chaque afterupdate de B ou C excel recalcule la valeur de A.

Je me demandais s'il n'etait pas mieux de passer par la propriete ControlSource du textbox A.

Mais comment fait on?!
Code:
Private Sub txtDND_AfterUpdate()
'WP Premium     (A)
txtWPrND.Value = Decode(txtDND.Value, 0, 0, 1, txtWPND.Value / 0.25, txtWPND.Value / 0.9)
End Sub

Code:
'Decode(no, 1,"un",2,"deux",...,"inconnu")
Public Function Decode(strCompare As String, ParamArray strValues() As Variant) As Variant
    Dim i As Long
    For i = LBound(strValues) + 1 To UBound(strValues) Step 2
        If strValues(i - 1) = strCompare Then
            Decode = strValues(i)
            Exit Function
        End If
    Next i
    If UBound(strValues) Mod 2 = 0 Then Decode = strValues(UBound(strValues)) Else Decode = Null
End Function

Merci!
 

Discussions similaires

Réponses
2
Affichages
309