Format d'un groupe de cellule nombre en heure

Résolu
target1111 Messages postés 3 Date d'inscription lundi 16 octobre 2006 Statut Membre Dernière intervention 9 mars 2007 - 2 mars 2007 à 04:13
target1111 Messages postés 3 Date d'inscription lundi 16 octobre 2006 Statut Membre Dernière intervention 9 mars 2007 - 9 mars 2007 à 02:33
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

42wawa42 Messages postés 143 Date d'inscription dimanche 28 septembre 2003 Statut Membre Dernière intervention 6 septembre 2011
5 mars 2007 à 00:04
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 
3
mortalino Messages postés 6786 Date d'inscription vendredi 16 décembre 2005 Statut Membre Dernière intervention 21 décembre 2011 18
2 mars 2007 à 06:49
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>
0
target1111 Messages postés 3 Date d'inscription lundi 16 octobre 2006 Statut Membre Dernière intervention 9 mars 2007
2 mars 2007 à 21:41
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
0
42wawa42 Messages postés 143 Date d'inscription dimanche 28 septembre 2003 Statut Membre Dernière intervention 6 septembre 2011
4 mars 2007 à 18:02
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
0

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

Posez votre question
cs_MPi Messages postés 3877 Date d'inscription mardi 19 mars 2002 Statut Membre Dernière intervention 17 août 2018 23
4 mars 2007 à 19:28
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
0
42wawa42 Messages postés 143 Date d'inscription dimanche 28 septembre 2003 Statut Membre Dernière intervention 6 septembre 2011
4 mars 2007 à 23:07
Non avec deux points ":" comme pour le format de l'heure normal
42wawa42
0
target1111 Messages postés 3 Date d'inscription lundi 16 octobre 2006 Statut Membre Dernière intervention 9 mars 2007
9 mars 2007 à 02:33
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
0
Rejoignez-nous