.FormulaR1C1 = "=RC2-R" & Selection.Row & "C"
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Target.Column <> 5 Then Exit Sub
Cancel = True
[B:B].Interior.ColorIndex = xlNone 'RAZ
[E:E].ClearContents 'RAZ
With Cells(Target.Row, 2)
If Not .Text Like "##:##:##*" Then Exit Sub
.Interior.ColorIndex = 6 'jaune
With Target.Resize([B:B].Find("", .Cells, xlValues).Row - Target.Row)
.FormulaR1C1 = "=RC2-R" & Target.Row & "C2"
.Value = .Value 'supprime les formules
End With
End With
End Sub
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Target.Column <> 5 Then Exit Sub
Cancel = True
'[B:B].Interior.ColorIndex = xlNone 'RAZ
'[E:E].ClearContents 'RAZ
With Cells(Target.Row, 2)
If Not .Text Like "##:##:##*" Then Exit Sub
'.Interior.ColorIndex = 6 'jaune
With Target.Resize([B:B].Find("", .Cells, xlValues).Row - Target.Row)
.FormulaR1C1 = "=RC2-R" & Target.Row & "C2"
.Value = .Value 'supprime les formules
End With
End With
End Sub
[E:E].ClearContents 'RAZ est cependant utile non ?J'ai neutralisé des lignes de code dont je n'ai pas besoin !
comme dit précédemment , je reste persuadé que les données en colonne 2 ne sont pas du bon type !!! (texte avec caractère invisible)Bonjour job 75
Pas mal ça !
Le double clic, il fallait y penser !
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Target.Column <> 5 Then Exit Sub
Cancel = True
[B:B].Interior.ColorIndex = xlNone 'RAZ
[E:E].ClearContents 'RAZ
i = 1
While Cells(i, 2) <> 0
Cells(i, 5) = Cells(1, 2) - Cells(i, 2)
i = i + 1
Wend
End Sub
Il n'y a pas de "caractère invisible", simplement les données en colonne B sont des textes (importés probablement).comme dit précédemment , je reste persuadé que les données en colonne 2 ne sont pas du bon type !!! (texte avec caractère invisible)
Oui nous sommes d'accord ...Il n'y a pas de "caractère invisible", simplement les données en colonne B sont des textes (importés probablement).
Bien sûr si on les revalide on obtient des nombres.
Mon code fonctionne dans les 2 cas, textes ou nombres.
Re,[E:E].ClearContents 'RAZ est cependant utile non ?
Re,Oui nous sommes d'accord ...
mais tu passes par une fonctionnalité de feuille de calcul ...
.FormulaR1C1 = "=RC2-R" & Target.Row & "C2"
sans cette ligne, le code VBA ne sais pas interpréter les valeurs de la colonne 2
et
If Not .Text Like "##:##:##*" Then Exit Sub
devient inutile !!!
Re,Il n'y a pas de "caractère invisible", simplement les données en colonne B sont des textes (importés probablement).
Bien sûr si on les revalide on obtient des nombres.
Mon code fonctionne dans les 2 cas, textes ou nombres.
Sub test()
Dim Txt As String, Temps As Double
Txt = "00:00:30,5"
Temps = TimeValue(Left(Txt, 5)) + Mid$(Txt, 7) / 86400
MsgBox Format(Temps, "hh:mm:") & Format(Temps * 86400 - Int(Temps * 1440) * 60, "00.00")
End Sub