Macro excel h mn s

jeanclaude -  
 jeanclaude -
Bonjour,
Je voudrais savoir comment travailler sur 03:21:52 qui est un nombre, comme s'il s'agissait d'une chaîne. En fait, comment transformer ce nombre en chaîne?
Merci
A voir également:

8 réponses

Bidouilleu_R Messages postés 1209 Statut Membre 295
 
en utilisant simplement la fonction CSTR

x=cstr(monchiffre) renvoie une chaine
0
garion28 Messages postés 1545 Date d'inscription   Statut Membre Dernière intervention   408
 
par nombre tu veu plutot dire un datetime ?
tu peu utiliser hour, minute,second pour traiter les différentes partie (tape datetime dans l'explorateur d'objet)
0
Bidouilleu_R Messages postés 1209 Statut Membre 295
 
non pas forcément!

Sub test()
x = CDate("03:21:52") ' une heure
y = 12.5 ' un chifre à virgule
Z = CDate(1 / 3 / 2010) 'une date
i = CStr(x) ' unechaine ....

j = CStr(y)
k = CStr(Z)

End Sub
0
jeanclaude
 
Bonjour,
J'ai bien essayé, ça semble aller, mais lorsque je veux exprimer par exemple left(i,2), ça ne colle plus,comme si i n'était pas une chaîne...
0
Bidouilleu_R Messages postés 1209 Statut Membre 295
 
Peux-tu nous montrer ton code et le contenu de ta chaine?
Est-ce bien une chaine?

quel est ton besoin?
0
jeanclaude
 
Le pb est bien là je le crains, et je le dis depuis le début, il s'agit d'un niombre qui est 01:32:14 , que je veux trasformer en chaîne pour pouvoir isoler 01, et 32, et 14.
Je pense que si mon 01:32:14 est trransformé en chaîne, right(de ma chaîne,2) et left(de ma chaîne,2), pourront s'écire 14 et 01...
0

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

Posez votre question
Bidouilleu_R Messages postés 1209 Statut Membre 295
 
Sub Change_Heure()
Dim x As Date
Dim MaChaine As String
Dim ChaineHeure As String
Dim chaineMinute As String
Dim chaineSeconde As String
' en B2 j'ai 01:34:14 une heure

x = Range("B2").Value

MaChaine = CStr(x)
ChaineHeure = Left(MaChaine, 2) ' contient "01"
chaineMinute = Mid(MaChaine, 4, 2) ' contient "32"
chaineSeconde = Right(MaChaine, 2) ' contient "14"

End Sub
0
jeanclaude
 
Merci pour ton concours. En plus c'est très didactique et ça m'aidera pour autres choses.
Le temps de bien assimiler et j'essairai de suvre la piste de Garion28...
0
garion28 Messages postés 1545 Date d'inscription   Statut Membre Dernière intervention   408
 
bon ben je me répète :)

ce que tu veu manipuler est un type datetime (ou date si tu préfère) tu peux donc utiliser les fonctions hour, minute, second pour extraire les parties souhaité (et là ya pas besoin d'utiliser mid pour traiter une chaine), encore faudrai il que la variable contenant ton heure soit bien du type date
0
Bidouilleu_R Messages postés 1209 Statut Membre 295
 
hour(monheure) renvoie un variant de type integer
la question est :
Je voudrais savoir comment travailler sur 03:21:52 qui est un nombre, comme s'il s'agissait d'une chaîne.
donc je réponds à la question. sinon il faut expliciter le probleme.

A+
R
0
garion28 Messages postés 1545 Date d'inscription   Statut Membre Dernière intervention   408
 
j'en rajoute un peu :P
techniquement 03:21:52 n'est pas un nombre puisqu'il y as des :
cependant la fonction cstr (comme l'as dis bidouill_R) permet de convertir toutes valeur non objet en string
0