Incompatibilité de type
Résolu
DGVDR
Messages postés
158
Date d'inscription
Statut
Membre
Dernière intervention
-
DGVDR Messages postés 158 Date d'inscription Statut Membre Dernière intervention -
DGVDR Messages postés 158 Date d'inscription Statut Membre Dernière intervention -
A voir également:
- Incompatibilité de type
- Clear type - Guide
- Type de ram - Guide
- Comment changer le type de fichier - Guide
- Incompatibilité de type vba ✓ - Forum VB / VBA
- Faiblesse type spectre ✓ - Forum Jeux vidéo
2 réponses
Re-Bonjour,
Décidément on ne se quitte plus...
Aurais-tu, par le plus grand des hasards, des nombres décimaux à saisir dans tes textbox???
Si oui, remplace CInt par CDbl...
Décidément on ne se quitte plus...
Aurais-tu, par le plus grand des hasards, des nombres décimaux à saisir dans tes textbox???
Si oui, remplace CInt par CDbl...
J'ai maintenant compris ce que tu voulais faire.
Regarde ce code :
Nota : Ce code n'est fonctionnel que si les numéros des taxtbox que tu veux sommer se suivent. Dans mon exemple, du textbox3 au 6. Dans le cas contraire, dis le, il y a également une solution...
Regarde ce code :
Private Sub TextBox3_Change() Label1 = SommeTextBox(3, 6) End Sub Private Sub TextBox4_Change() Label1 = SommeTextBox(3, 6) End Sub Private Sub TextBox5_Change() Label1 = SommeTextBox(3, 6) End Sub Private Sub TextBox6_Change() Label1 = SommeTextBox(3, 6) End Sub Function SommeTextBox(IndicDeb As Integer, IndicFin As Integer) As Double Dim i As Integer For i = IndicDeb To IndicFin If Me.Controls("TextBox" & i) <> "" Then SommeTextBox = SommeTextBox + Val(Me.Controls("TextBox" & i)) Next i End Function
Nota : Ce code n'est fonctionnel que si les numéros des taxtbox que tu veux sommer se suivent. Dans mon exemple, du textbox3 au 6. Dans le cas contraire, dis le, il y a également une solution...
Pour une seule, on ne va rien changer de fondamental, mais juste ajouter un test :
Function SommeTextBox(IndicDeb As Integer, IndicFin As Integer) As Double Dim i As Integer For i = IndicDeb To IndicFin If Me.Controls("TextBox" & i) <> "" And i <> 9 Then SommeTextBox = SommeTextBox + Val(Me.Controls("TextBox" & i)) Next i End Function
Et bien, oui ça peut arriver... Je vais donc remplacer par CDbl
Cependant lors de mes tests c'est au chargement de l'UF que ça pose problème, les textbox sont alors vides...
Après remplacement de CInt par CDbl, l'UF se charge mais lorsque je j'écris dans une textbox, on retrouve mon problème cité plus haut ...
Merci,
DGVDR
Pourquoi faire le total à chaque caractère saisi dans ce textbox?
Est ce la même chose dans les événements Change() de tous tes textbox?
Pourquoi ne pas avoir mis un bouton de commande pour calculer ce total?
Oui c'est la même chose dans toutes les textbox.
J'aurais en effet pu mettre un bouton, mais je trouvais ça plus simple avec l'événement ()Change, ceci évitant de recliquer sur un bouton...