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

Moyenne macro avec 2 TextBox

  • Initiateur de la discussion Initiateur de la discussion mikael2235
  • 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 !

mikael2235

XLDnaute Occasionnel
Bonjour,

Je cherche à faire une moyenne avec les valeurs de 2 TextBox.

J'ai essayé ceci :
Code:
Private Sub CommandButton1_Click()
Moyenne1 = Average(UserForm2.TextBox1.Value, UserForm2.TextBox9.Value)
MsgBox (Moyenne1)
End Sub
Mais il me met une erreur

Et j'ai aussi essayé ça :
Code:
Private Sub CommandButton1_Click()
Moyenne1 = "=Average(UserForm2.TextBox1.Value, UserForm2.TextBox9.Value)"
MsgBox (Moyenne1)
End Sub

Mais la il me met ce qui est entre parenthèses.

Merci
 
Re : Moyenne macro avec 2 TextBox

Calcul Brut

Code:
Private Sub CommandButton1_Click()
Moyenne1 = (cdbl(TextBox1) + cdbl(TextBox9))/2
MsgBox (Moyenne1)
End Sub

Ton code fonctionne, Merci. Mais que veut dire cdbl ?

Bonjour,

essaye peut être ainsi :

Code:
moyenne1 = Application.Average(CDbl(TextBox1.Value), CDbl(TextBox2.Value))
MsgBox (moyenne1)

bon après midi
@+

Merci Pierrot pour ta proposition, mais il met "Incompatibilité de type"
 
Re : Moyenne macro avec 2 TextBox

Tout à fait Pierrot, je n'avais pas vu, d'où l'erreur rencontrée !

Sinon j'ai eu un autre soucis en changeant d'ordinateur, sur certains pc la séparation se fait avec une virgule, et sur d'autres avec un point.

Donc si l'utilisateur tape un point au lieu de la virgule et inversement, il y a l'erreur "Incompatibilité de type"

Savez vous si il est possible de lui spécifier le paramètre par défaut du pc au début de la macro ?
Et sinon comment faire ?

Merci
 
Re : Moyenne macro avec 2 TextBox

Re,

pas ce problème chez moi, mais bon j'ai le "." dans les paramètres régionaux windows, et j'i beau changer dans Excel au niveau des options, onglet "international" le séparateur, ne me renvoie pas d'erreur quelque soit celui employé.... sinon, le code ci-dessous te renverra celui utilisé par Excel...

Code:
Dim x As String
x = Application.DecimalSeparator

bon après midi
@+
 
Re : Moyenne macro avec 2 TextBox

Re,

tu peux essayer ce code à placer en adaptant le nom pour chacune de tes "textbox", n'autorisera que de la saisie numérique avec le séparateur décimal utilisé :

Code:
Private Sub TextBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
Dim x As String
x = Application.DecimalSeparator
If InStr("0123456789" & x, Chr(KeyAscii)) = 0 Then KeyAscii = 0
End Sub
 
Re : Moyenne macro avec 2 TextBox


Il me met à chaque fois : Erreur d'éxécution 438, Propriété ou méthode non gérée par cet objet.
 
Re : Moyenne macro avec 2 TextBox

Re,

comprends pas, pas ce problème chez moi sous 2003... tu as bien modifié le nom du textbox ? et placé le code dans le module de l'usf ? quelle ligne provoque cette erreur ?
 
Re : Moyenne macro avec 2 TextBox

Re,

une solutaion ainsi, en gérant l'erreur :

Code:
Private Sub CommandButton1_Click()
Dim moyenne1 As Double
On Error GoTo monerreur
moyenne1 = Application.Average(CDbl(TextBox1.Value), CDbl(TextBox2.Value))
On Error GoTo 0
MsgBox moyenne1
Exit Sub
monerreur:
If Err.Number = 13 Then
    If InStr(TextBox1, ".") > 0 Or InStr(TextBox2, ".") > 0 Then
        TextBox1 = Replace(TextBox1, ".", ",")
        TextBox2 = Replace(TextBox2, ".", ",")
    Else
        TextBox1 = Replace(TextBox1, ",", ".")
        TextBox2 = Replace(TextBox2, ",", ".")
    End If
End If
Resume
End Sub

par contre mettre impérativement ce contrôle de saisie..

Code:
Private Sub TextBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
If InStr("0123456789.,", Chr(KeyAscii)) = 0 Then KeyAscii = 0
End Sub

bonne soirée
@+
 
- 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
4
Affichages
229
Réponses
9
Affichages
385
Réponses
10
Affichages
661
Réponses
5
Affichages
573
Réponses
4
Affichages
732
Réponses
41
Affichages
1 K
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…