pb avec les nombres decimaux "long" et autre

Le
Alfred WALLACE
Bonjour,
je n'arrive pas à définir le bon type
de variable pour faire des calculs sur des durées.

j'ai une variable définie comme ceci :

Public duree_global As Long

contenant un nombre représentant des secondes,
par exemple 7800 secondes, qui représentent 2h10mn

dans un userform, j'ai un textbox dans lequel je veux mettre
la chaine de caractére suivante

UserForm1.TextBox1 = _
Int((duree_global - UserForm1.Pb_duree_global.Value) / 3600) & " h " &
_
(duree_global - UserForm1.Pb_duree_global.Value) - Int((duree_global -
_
UserForm1.Pb_duree_global.Value)) / 60 & " mn"

UserForm1.Pb_duree_global.Value est la valeur d'une progressbar
que j'incrémente chaque secondes de 1 pour voir avancer le temps.

ors, celà me donne des valeurs proche du n'importe quoi . ce qui me
fait
dire que c'est mon code qui fait ce que je lui demande, à savoir
n'importe quoi

pourriez vous m'aider à y voir plus clair ?
j'ai "option explicit" dans chacun de mes modules pour me forcer
à définir mes variables mais là, je m'y perd.

Merci

josé
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
MichD
Le #23461781
Bonjour,

Je ne sais pas ce que tes textbox contiennent... mais tu dois te rappeler si ces derniers contiennent des valeurs
numériques ou des Dates, tu dois utiliser une fonction de conversion pour transformer ce qu'affiche le contenu d'un
textbox. Ce dernier contient toujours du TEXTE peu importe les apparences.
Fonction de conversion pour les dates : Íate(Textbox1)
Fonction contenant des valeurs décimales : = Cdbl(TextBox1)
Fonction pour les entiers : = Clng(textbox1)

Important : les fonctions utilisent les paramètres définis dans le panneau de configuration Windows pour lire et
interpréter le contenu des textbox. À titre d'exemple, pour pouvoir utiliser = Cdbl(TextBox1), le séparateur décimal du
textbox doit être identique au séparateur décimal du panneau de configuration...

En dernier lieu, si ta variable peut prendre divers types de données, utilise : Public duree_global As Variant


MichD
--------------------------------------------
"Alfred WALLACE" a écrit dans le message de groupe de discussion :


Bonjour,
je n'arrive pas à définir le bon type
de variable pour faire des calculs sur des durées.

j'ai une variable définie comme ceci :

Public duree_global As Long

contenant un nombre représentant des secondes,
par exemple 7800 secondes, qui représentent 2h10mn

dans un userform, j'ai un textbox dans lequel je veux mettre
la chaine de caractére suivante

UserForm1.TextBox1 = _
Int((duree_global - UserForm1.Pb_duree_global.Value) / 3600) & " h " &
_
(duree_global - UserForm1.Pb_duree_global.Value) - Int((duree_global -
_
UserForm1.Pb_duree_global.Value)) / 60 & " mn"

UserForm1.Pb_duree_global.Value est la valeur d'une progressbar
que j'incrémente chaque secondes de 1 pour voir avancer le temps.

ors, celà me donne des valeurs proche du n'importe quoi .... ce qui me
fait
dire que c'est mon code qui fait ce que je lui demande, à savoir ...
n'importe quoi ...

pourriez vous m'aider à y voir plus clair ?
j'ai "option explicit" dans chacun de mes modules pour me forcer
à définir mes variables ... mais là, je m'y perd.

Merci

josé
Publicité
Poster une réponse
Anonyme