target1111
Messages postés3Date d'inscriptionlundi 16 octobre 2006StatutMembreDernière intervention 9 mars 2007
-
2 mars 2007 à 04:13
target1111
Messages postés3Date d'inscriptionlundi 16 octobre 2006StatutMembreDerniè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
42wawa42
Messages postés143Date d'inscriptiondimanche 28 septembre 2003StatutMembreDerniè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
mortalino
Messages postés6786Date d'inscriptionvendredi 16 décembre 2005StatutMembreDernière intervention21 décembre 201118 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)
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>
target1111
Messages postés3Date d'inscriptionlundi 16 octobre 2006StatutMembreDerniè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