Format d'un groupe de cellule nombre en heure [Résolu]

Signaler
Messages postés
3
Date d'inscription
lundi 16 octobre 2006
Statut
Membre
Dernière intervention
9 mars 2007
-
Messages postés
3
Date d'inscription
lundi 16 octobre 2006
Statut
Membre
Dernière intervention
9 mars 2007
-
Bonjour
voila je voudrai transformer une cellule activée avec la souris ex D3 ou autre et si je rentre 1.00 le transformer en format heure 1:00
je vous remercie de votre aide j'ai essayé une recherche sur le forum sans resultat

Cordialement

7 réponses

Messages postés
143
Date d'inscription
dimanche 28 septembre 2003
Statut
Membre
Dernière intervention
6 septembre 2011

Si question (2) égale heures:minutes THEN' Ex:   d3 23:15,d4 23:46,d5=23:59 Reponse D10=23:00 et C10=2 jours
Public Sub ADD_Hours()
Dim Times As Date
Dim i As Double
i = Sheet1.Cells(3, 4) + Sheet1.Cells(4, 4) + Sheet1.Cells(5, 4)
Range("D10").Select
    Selection.NumberFormat = "hh:mm"If i >1 Then j i - Int(i)
Sheet1.Cells(10, 4) = j
If i >= 1 Then
Sheet1.Cells(10, 3) = Int(i)
End If
End Sub

A plus sur le site VBFrance
42wawa42 
Messages postés
6786
Date d'inscription
vendredi 16 décembre 2005
Statut
Membre
Dernière intervention
21 décembre 2011
18
Salut,

il faut gérer ce genre de chose depuis le module de code de la feuille en question.
Pour faire ceci, ouvre l'éditeur VB, double clique (à gauche) sur la feuille concernée, et colle ce code, sachant que TOUT les points seront remplacé par les deux points. A toi de modifier en conséquence :

Private Sub Worksheet_Change(ByVal Target As Range)
On Local Error Resume Next
    If InStr(1, CStr(Target.Value), ".") > 0 And Target.Value <> vbNullString Then Target.Value = MyReplace(CStr(Target.Value))
End Sub

Private Function MyReplace(ByVal sValue As String) As String
    Dim lPos As Long: lPos = InStr(1, sValue, ".")
    
If lPos > 0 Then MyReplace = "'" & Left$(sValue, lPos - 1) & ":" & Right$(sValue, Len(sValue) - lPos)

End Function

~ <small> Mortalino ~ Colorisation automatique </small>

Je place une apostrophe en premier dans la variable car avec 12.36, 123.45, etc.., ça fonctionne, mais s'il n'y a qu'un seul chiffre avant le point, le résultyat n'était pas celui désiré (ex avec 1.2, ça me met 4:30555555555556E-02)

@++

<hr width ="100%" size="2" />
  --Mortalino--
Le mystérieux chevalier, "Provençal, le Gaulois"
/DIV>
Messages postés
3
Date d'inscription
lundi 16 octobre 2006
Statut
Membre
Dernière intervention
9 mars 2007

Bonjour
Merci pour cette réponse aussi rapise mortalino le code fonctionne parfaitement mais ne me donne pas le résultat esperé je pense que mon explication n'étais pas bonne
une petite image lorsque je rentre en D3  1 le résultat est 24:00 
ainsi qu'en D10 les cellules D3 a D10 on
le format personalisée [H]:MM peut etre
que cele viens de la donc peut etre peut on
par un code vba  formatter les cellules activées de facon a rentré 1 qui ce tranforme en format [H]:MM 1:00 (qui sont des heures)
et en D10 je peus laissé la formule
=NZ(SOMME(D2:D8)) NZ étant une
fontion qui evite l'affichage des Zéro et laissé
aussi le format personnalisé [H]:MM pour
calculer les heures de D3 a D9
j'espere que cela est plus explicite
Merci de votre Réponse

Cordialement
Messages postés
143
Date d'inscription
dimanche 28 septembre 2003
Statut
Membre
Dernière intervention
6 septembre 2011

Question (1) tu additionnes des minutes ou des heures:minutes ?
Question (2) le total des heures et >= 24 après le calcule D3 a D9 ?




<?xml:namespace prefix o ns "urn:schemas-microsoft-com:office:office" /??>
 







 






Si question (1) égale minutes THEN




 






Public Sub ADD_Time()





Dim Times As Date





Times = Sheet1.Cells(3, 4) + Sheet1.Cells(4, 4)





Sheet1.Cells(10, 4) Formula "dd-mm-yyyy HH:MM"





Sheet1.Cells(10, 4) = Times





End Sub






 






Attention maximum heures < 24:00






 






Pour la réponse numéro 2  MINUTES ……je cherche






 






A plus sur site de VBFrance





42wawa42
Messages postés
3877
Date d'inscription
mardi 19 mars 2002
Statut
Membre
Dernière intervention
23 août 2018
18
Est-ce que tu sépares les chiffres avec un point ou avec une virgule ou si ça peut être les deux selon l'humeur... ¦¬)

MPi
Messages postés
143
Date d'inscription
dimanche 28 septembre 2003
Statut
Membre
Dernière intervention
6 septembre 2011

Non avec deux points ":" comme pour le format de l'heure normal
42wawa42
Messages postés
3
Date d'inscription
lundi 16 octobre 2006
Statut
Membre
Dernière intervention
9 mars 2007

bonjour

Un grand merci a tous pour ces réponses et pris de votre temps pour un débutant comme  moi 42wawa42 ca a résolu mon probleme

Cordialement