Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Différence de Textbox en boucle

3 réponses
Avatar
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

3 réponses

Avatar
Péhemme
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
Avatar
Péhemme
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
Avatar
Jacquouille
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