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
Publicité
Posté le 16-06-2013 à 08:16:34
justeleblanc
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
justeleblanc
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