Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Control Source--vba

  • Initiateur de la discussion Initiateur de la discussion Dan Paul
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

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!
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
1
Affichages
421
Réponses
3
Affichages
835
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…