Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1800 connectés 

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  [RESOLU] problème de temps dans un userform

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[RESOLU] problème de temps dans un userform

n°2177657
rsuinux
Si tu sais, partage. Si tu ne
Posté le 26-02-2013 à 19:53:10  profilanswer
 

bonjour;
Je suis débutant en vba et j'ai un soucis avec une donnée venant d'excel et récupérée dans mon userform.
Petite explication:
J'ai une feuille ou je place toutes mes formations avec un calcul de temps de formation (entre autre). Depuis le début de l'année, ma cellule cachée contient

Code :
  1. =somme(e2;e51)


et la valeur actuelle est de 42h40 (j'utilise la possibilité des formats de cellule pour afficher comme il faut le contenu)
Seulement, quand je récupère le contenu dans mon userform, je perds mon formatage en heure/minute et je retrouve selon que j'utilise une variable 'date' ou 'string' :  '31/12/1899 18:40:00' ou '1,7777777.....8'
voila mon code (en partie):

Code :
  1. Private Sub UserForm_Initialize()
  2.     Temps.Enabled = False
  3.     Dim valeur As Date, mdate As String
  4.     valeur = Sheets("Formations 2013" ).Range("A2" )
  5.     mdate = valeur
  6.     Temps = mdate
  7. End Sub


Temps est un textedit non modifiable (je rappel que je débute avec vba et même avec excel d’ailleurs)
 
[Il faudra aussi que je vous demande de l'aide pour mon userform, mais cela fera l'objet d'un autre fl de discution.]
 
Ceci étant décrit, maintenant, je fait comment pour garder mon temps en affichage 'heure/minute'?
J'ai essayé de regarder du côté de Format() mais sans être convaincu.
 
Auriez vous une idée, s'il vous plaît?
Merci.
Rémi.


Message édité par rsuinux le 27-02-2013 à 15:13:28
mood
Publicité
Posté le 26-02-2013 à 19:53:10  profilanswer
 

n°2177693
galopin01
Posté le 27-02-2013 à 08:43:50  profilanswer
 

Bonjour,
Une fonction personnalisée pour ça :

Code :
  1. Function CDUR$(Plage)
  2. Dh = Fix(Plage * 24)
  3. Dm = WorksheetFunction.Round((Plage * 24 - Dh) * 60, 2)
  4. CDUR = Dh & ":" & Dm
  5. End Function


 
et dans le initialize :

Code :
  1. Private Sub UserForm_Initialize()
  2.     Temps.Enabled = False
  3.     Temps = CDUR(Sheets("Formations 2013" ).Range("A2" )
  4. End Sub


A+

n°2177704
Marc L
Posté le 27-02-2013 à 10:20:09  profilanswer
 

 
           Bonjour.     Tout simplement pour garder l'affichage de la cellule :

Code :
  1. Private Sub UserForm_Initialize()
  2.     Temps.Enabled = False
  3.             Temps = Sheets("Formations 2013" ).[A2].Text
  4. End Sub


 

n°2177707
rsuinux
Si tu sais, partage. Si tu ne
Posté le 27-02-2013 à 10:26:14  profilanswer
 

Merci de vos solutions.
Je teste ça de suite !
 
Et la seconde méthode est la plus simple et la plus efficace! Merci beaucoup!
 
Reste à gérer l'userform....


Message édité par rsuinux le 27-02-2013 à 10:33:29

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  [RESOLU] problème de temps dans un userform

 

Sujets relatifs
Probleme espace membreVBA: Problème Lecture/Ecriture en simultané sur Access
problème retour à la ligneproblème avec la console et la commande "php"
Problème programme CProblème connexion DBF
[Access] Problème formulaire requêteFancybox > problème flèche
LIER UN CONTROLE IMAGE USERFORM A UNE PHOTOProblème avec JOptionPane
Plus de sujets relatifs à : [RESOLU] problème de temps dans un userform


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR