Différence de Textbox en boucle

Le
Péhemme
Bonjour à Tous,

À l'ouverture d'un Userform, j'ai 8 TextBox qui se remplissent à la lecture
d'une Base de Données.
Jusque là pas de problème.
Sur ce même Userform, je souhaite remplir 4 autres TextBox dont la valeur de
chacune est la différence des deux précédentes.
Pour ce faire, dans le UserForm_Initialize, j'écris, entre autres choses :

i = 1
j = 5
For k = 9 To 12
Controls("TextBox" & k) = CInt(Controls("TextBox" & i).Value) -
CInt(Controls("TextBox" & j).Value)
i = i + 1
j = j + 1
Next k

Cette boucle passe une première fois et répond à mes attentes.
Lors du second passage, j'obtiens un message d'erreur "erreur d'exécution
13, incompatibilité de type".

Mes variables i,j et k sont chacune typées as Byte.
Pour les valeurs :
. j'ai bien essayé la fonction de conversion CDbl mais j'obtiens le même
message d'erreur
. j'ai même testé sans fonction de conversion : même résultat.

Problème de syntaxe ? (j'ai testé avec et sans les .value des TextBox sans
plus de succès).
Quelque chose m'échappe et je ne vois pas où se trouve mon erreur.

Merci d'avance de me remettre sur la voie.
Michel
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Péhemme
Le #26115202
Ahrr !
Je crois entr'apercevoir mon erreur.
J'ai des textbox à "" et il faut que la boucle lise que si "" then 0.
J'écris ce contrôle et vous dis quoi.
Michel


"Péhemme" a écrit dans le message de groupe de discussion :
lk8a90$jsl$

Bonjour à Tous,

À l'ouverture d'un Userform, j'ai 8 TextBox qui se remplissent à la lecture
d'une Base de Données.
Jusque là pas de problème.
Sur ce même Userform, je souhaite remplir 4 autres TextBox dont la valeur de
chacune est la différence des deux précédentes.
Pour ce faire, dans le UserForm_Initialize, j'écris, entre autres choses :

i = 1
j = 5
For k = 9 To 12
Controls("TextBox" & k) = CInt(Controls("TextBox" & i).Value) -
CInt(Controls("TextBox" & j).Value)
i = i + 1
j = j + 1
Next k

Cette boucle passe une première fois et répond à mes attentes.
Lors du second passage, j'obtiens un message d'erreur "erreur d'exécution
13, incompatibilité de type".

Mes variables i,j et k sont chacune typées as Byte.
Pour les valeurs :
. j'ai bien essayé la fonction de conversion CDbl mais j'obtiens le même
message d'erreur
. j'ai même testé sans fonction de conversion : même résultat.

Problème de syntaxe ? (j'ai testé avec et sans les .value des TextBox sans
plus de succès).
Quelque chose m'échappe et je ne vois pas où se trouve mon erreur.

Merci d'avance de me remettre sur la voie.
Michel
Péhemme
Le #26115192
Pardon pour le dérangement, c'était effectivement mon problème de "" à
transformer en 0.
C'était évident :-)
Bonne soirée à tous
Michel


"Péhemme" a écrit dans le message de groupe de discussion :
lk8a90$jsl$

Bonjour à Tous,

À l'ouverture d'un Userform, j'ai 8 TextBox qui se remplissent à la lecture
d'une Base de Données.
Jusque là pas de problème.
Sur ce même Userform, je souhaite remplir 4 autres TextBox dont la valeur de
chacune est la différence des deux précédentes.
Pour ce faire, dans le UserForm_Initialize, j'écris, entre autres choses :

i = 1
j = 5
For k = 9 To 12
Controls("TextBox" & k) = CInt(Controls("TextBox" & i).Value) -
CInt(Controls("TextBox" & j).Value)
i = i + 1
j = j + 1
Next k

Cette boucle passe une première fois et répond à mes attentes.
Lors du second passage, j'obtiens un message d'erreur "erreur d'exécution
13, incompatibilité de type".

Mes variables i,j et k sont chacune typées as Byte.
Pour les valeurs :
. j'ai bien essayé la fonction de conversion CDbl mais j'obtiens le même
message d'erreur
. j'ai même testé sans fonction de conversion : même résultat.

Problème de syntaxe ? (j'ai testé avec et sans les .value des TextBox sans
plus de succès).
Quelque chose m'échappe et je ne vois pas où se trouve mon erreur.

Merci d'avance de me remettre sur la voie.
Michel
Jacquouille
Le #26115482
Mais, Michel, cela nous a permis de te lire et de te faire un petit coucou.
C'est bien de continuer à t'accrocher. -)
Jacques.



Jacquouille

" Le vin est au repas ce que le parfum est à la femme."
"Péhemme" a écrit dans le message de groupe de discussion :
lk8asj$lir$

Pardon pour le dérangement, c'était effectivement mon problème de "" à
transformer en 0.
C'était évident :-)
Bonne soirée à tous
Michel


"Péhemme" a écrit dans le message de groupe de discussion :
lk8a90$jsl$

Bonjour à Tous,

À l'ouverture d'un Userform, j'ai 8 TextBox qui se remplissent à la lecture
d'une Base de Données.
Jusque là pas de problème.
Sur ce même Userform, je souhaite remplir 4 autres TextBox dont la valeur de
chacune est la différence des deux précédentes.
Pour ce faire, dans le UserForm_Initialize, j'écris, entre autres choses :

i = 1
j = 5
For k = 9 To 12
Controls("TextBox" & k) = CInt(Controls("TextBox" & i).Value) -
CInt(Controls("TextBox" & j).Value)
i = i + 1
j = j + 1
Next k

Cette boucle passe une première fois et répond à mes attentes.
Lors du second passage, j'obtiens un message d'erreur "erreur d'exécution
13, incompatibilité de type".

Mes variables i,j et k sont chacune typées as Byte.
Pour les valeurs :
. j'ai bien essayé la fonction de conversion CDbl mais j'obtiens le même
message d'erreur
. j'ai même testé sans fonction de conversion : même résultat.

Problème de syntaxe ? (j'ai testé avec et sans les .value des TextBox sans
plus de succès).
Quelque chose m'échappe et je ne vois pas où se trouve mon erreur.

Merci d'avance de me remettre sur la voie.
Michel


---
Ce courrier électronique ne contient aucun virus ou logiciel malveillant parce que la protection avast! Antivirus est active.
http://www.avast.com
Publicité
Poster une réponse
Anonyme