Probleme de types

Signaler
Messages postés
23
Date d'inscription
mercredi 14 octobre 2009
Statut
Membre
Dernière intervention
24 juillet 2012
-
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
-
Bonjour a tous,

Je travaille actuellement sur un programme en VB sur excel 2003.
Actuellement j'ai besoin de définir un interval de temps composé de deux variables que j'ai récupérer d'un tableau (HeureDebut 13 et HeureFin 15) et je voudrais écrire cet interval en utilisant ces deux variables et avoir un interval de la forme 1300/1500.

D'ou la ligne me posant me posant probléme et les variables associées :

Dim HeureDebut As Integer
Dim HeureFin As Integer
Dim IntervalTime As Integer

IntervalTime = HeureDebut & Chr(10) / HeureFin & Chr(10)

Message d'erreur:
Quand j'exécute j'ai une erreur 13 renvoyant a un probléme de type de variable :/
Probléme venant de ma ligne ou de mes déclarations, je ne sais pas.
Qq1 a-t-il une idée pouvant resoudre mon probléme svp?

Merci pour votre aide

7 réponses

Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
232
Bonjour,
1) des heures ne sont pas de type integer, mais de type date
2) que peut bien signifier une heure (horloge) divisée par une heure (horloge) ?
On peut diviser une durée par une durée, mais pas une heure/horloge par une heure horloge !
3) que vient faire un retour à la ligne dans une division d'entiers ?

________________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement vous dire ce qu'elle contient. Je n'interviendrai qu'en cas de nécessité de développ
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
232
Le but/finalité même de ta "démarche" reste à exposer.
Un truc qui nous éclairera et t'éclairera du même coup :
Montre ici un exemple avec :
- une heure de départ ( = ...........)
- une heure de fin (= ...........)
- le résultat attendu (= ..........) accompagné du calcul/démonstration arithmétique (pas le code : le calcul fait de manière scolaire) qui conduit à ce "résultat"


________________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement vous dire ce qu'elle contient. Je n'interviendrai qu'en cas de nécessité de développ
Messages postés
23
Date d'inscription
mercredi 14 octobre 2009
Statut
Membre
Dernière intervention
24 juillet 2012

Ok j'ai teste avec des variables de type Date et cela ne fonctionne pas!!

Il s'agit pas de diviser mais de visualiser un interval cad l'interval sera écrit 1300/1500 dans la cellule, ce qui correspond a 13h/15h, il n'y a aucune notion de division la dedans.

Et pour l'écriture de la ligne IntervalTime etc.. je suis vraiment pas sur de moi donc tu me parle de retour a la ligne, tu veux dire le "&"...je ne savais méme pas que cela renvoyé a la ligne :/ dsl..
Si tu as une autre proposition..

Merci
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
232
veux-tu bien, s'il te plait, répondre à mon dernier message (avec exemple et calcul arithmétique scolaire) ?
Et ceci m'inquiète à un point que je ne saurais décrire :
parle de retour a la ligne, tu veux dire le "&"...je ne savais méme pas que cela renvoyé a la ligne :/ dsl..

Tu écris du "code" au hasard ? Qu'est ceci, selon toi, puisque tu l'as écrit :
IntervalTime = HeureDebut & Chr(10) / HeureFin & Chr(10)


Et si tu commençais ton apprentissage à zéro (depuis le tout début du début) ? Tu parais en avoir sacrément besoin, avant même de parler de "divisions d'heures !"
________________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement vous dire ce qu'elle contient. Je n'interviendrai qu'en cas de nécessité de développ
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
232
Commence par apprendre ce qu'est une .... concaténation de variables et de chaînes de caractères . C'est là un rudiment de n'importe quel langage de développement.


________________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement vous dire ce qu'elle contient. Je n'interviendrai qu'en cas de nécessité de développ
Messages postés
23
Date d'inscription
mercredi 14 octobre 2009
Statut
Membre
Dernière intervention
24 juillet 2012

Pour repondre a ta question

- une heure de départ ( = 13)
- une heure de fin (= 15)
Ces deux variables proviennent d'un tableau excel et on etait recuperer precedemment
- le résultat attendu (= 1300/1500)
Aucun calcul arithmetique est attendu juste une ecriture comme sa

Probleme resolu:
Dim HeureDebut as byte
Dim HeureFin as Byte
Dim IntervalTime as String

IntervalTime = CStr(HeureDebut * 100) & "/" & CStr(HeureFin * 100)

Merci pour ton aide
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
232
avec ton exemple simple (
une heure entière et l'autre également
) , ce sera donc :
 Dim heuredeb As Integer, heurefin As Integer, ma_chose_etrange As String
heuredeb = 13
heurefin = 15
ma_chose_etrange = heuredeb * 100 & "/" & heurefin * 100
MsgBox ma_chose_etrange


Ce n'est pas au hasard, que j'ai donné ce nom de baptême "ma_chose_etrange" dont même la meilleure volonté du monde ne me permet pas de "voir" à quoi une telle chaîne de caractères pourrait bien servir dans un tableur
________________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement vous dire ce qu'elle contient. Je n'interviendrai qu'en cas de nécessité de développ