Probleme de types

Blindavi Messages postés 23 Date d'inscription mercredi 14 octobre 2009 Statut Membre Dernière intervention 24 juillet 2012 - 29 juin 2012 à 10:57
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 - 29 juin 2012 à 11:46
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

ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
29 juin 2012 à 11:05
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
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
29 juin 2012 à 11:15
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
0
Blindavi Messages postés 23 Date d'inscription mercredi 14 octobre 2009 Statut Membre Dernière intervention 24 juillet 2012
29 juin 2012 à 11:17
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
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
29 juin 2012 à 11:23
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
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
29 juin 2012 à 11:26
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
0
Blindavi Messages postés 23 Date d'inscription mercredi 14 octobre 2009 Statut Membre Dernière intervention 24 juillet 2012
29 juin 2012 à 11:30
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
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
29 juin 2012 à 11:46
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
0
Rejoignez-nous