[VBA] soustraire une variable à une heure

soustraire une variable à une heure [VBA] - VB/VBA/VBS - Programmation

Marsh Posté le 16-06-2013 à 08:16:34    


bonjour à tous
mon problème semble facile et pourtant je bloque
 
j'ai un tableau à 9 colonnes
dans la première j'ai un numéro qui commence par 7 ou 8
la deuxième rien
la troisième une heure
et la neuvième une info
je veux que lorsque cette info=DP alors la deuxième colonne prends la valeur de la troisième -25minutes si la première colonne commence par 8, -20minutes si elle commence par 7
j'ai essayé ça mais à chaque fois j'ai l'erreur "run-time error '13' type mismatch" et "Cells(i, 2).Value = Cells(i, 3).Value - heure" surligné en jaune
je précise que les colonnes 2 et 3 sont en format "time" (13:30)
 
 
 


Dim heure As Date
For i = 50 To 3 Step -1
 
  x = Cells(i, 1).Value
  heure = "00:25"
     If Left(x, 1) = 7 Then
       heure = "00:20"
     End If
 
     If Cells(i, 9).Text = "DP" Then
       Cells(i, 2).Value = Cells(i, 3).Value - heure
     End If
Next
 
End Sub

Reply

Marsh Posté le 16-06-2013 à 08:16:34   

Reply

Marsh Posté le 16-06-2013 à 08:26:32    

je viens de voir qu'en fait heure prend la forme 00:25:00
mais la troisième colonne est sous la forme 00:25, et ça je ne pourrai pas le changer
 
comment je peux forcer le format de heure en h:mn ?


Message édité par justeleblanc le 16-06-2013 à 08:35:06
Reply

Marsh Posté le 16-06-2013 à 10:33:32    

bon j'ai fait un truc comme ça et ça marche
 

For i = 50 To 3 Step -1
 
  x = Cells(i, 1).Value
  heure = "00:25"
     If Left(x, 1) = 7 Then
       heure = "00:20"
     End If
 
     If Cells(i, 9).Text = "DP" Then
         Cells(i, 2).Value = Format(CDate(Cells(i, 3).Value) - CDate(heure), "hh:mm" )
     End If
Next


Message édité par justeleblanc le 16-06-2013 à 10:33:55
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed