Bonjour la team ! Toujours aussi novice en vba, je voudrais mettre en place l'incrémentation de l'heure lorsque j'étire la date dans la colonne T
Pour être précis, en T si j'insère la date dans une case, l'heure actuelle s'affiche dans la même ligne sur la colonne X. J'aimerais du coup quand j'étire la date (sans incrémentation), que l'heure fasse la même chose. Mais actuellement j'ai juste réussi avec l'aide d'un membre à mettre la date :
Voici le code qu'il y a :
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
'Teste si on double-clique dans la zone spécifié
If Not Application.Intersect(Target, Range("S2:S99999")) Is Nothing Then
'Si la cellule est vide on y inscrit le chiffre correxpondant à sa couleur
If Target = "" Then
ActiveCell.Value = Format(Now(), "mm/dd/yyyy")
End If
End If
'Teste si on double-clique dans la zone spécifié
If Not Application.Intersect(Target, Range("T2:T99999")) Is Nothing Then
'Si la cellule est vide on y inscrit le chiffre correxpondant à sa couleur
If Target = "" Then
ActiveCell.Value = Format(Now(), "mm/dd/yyyy")
X = ActiveCell.Address
Y = Right(X, 2)
Z = "X"
a = "X" & Y
Range(a).Select
ActiveCell.Value = Format(Now(), "hh:mm")
End If
End If
'HEURE
If Not Application.Intersect(Target, Range("X2:X99999")) Is Nothing Then
'Si la cellule est vide on y inscrit le chiffre correxpondant à sa couleur
If Target = "" Then
ActiveCell.Value = Format(Now(), "hh:mm")
End If
End If
X = ActiveCell.Address
Y = Right(X, 2)
Z = "U"
a = "U" & Y
B = Range(a).Select
nb_cara = Len(Range(a))
If nb_cara = 4 Then
a = "T" & Y
B = Range(a)
D = "O" & Y
E = Range(D)
F = B - E
If F > 0 Then
MsgBox "ATTENTION DATE DE RESPECT NE PEUT PAS ETRE égale à OUI "
ActiveCell.Value = ""
End If
If F = 0 Then
a = "X" & Y
B = Range(a)
D = "P" & Y
E = Range(D)
F = B - E
If F > 0.208 Then
MsgBox "ATTENTION DATE DE RESPECT NE PEUT PAS ETRE égale à OUI "
ActiveCell.Value = ""
End If
End If
End If
End Sub
Private Sub Worksheet_Change(ByVal Target As Range)
' Inscrire automatiquement les modification de T dans X
If Not Application.Intersect(Target, Range("T2:T99999")) Is Nothing Then
Application.EnableEvents = False
For Each Cel In Target
Range("X" & Cel.Row).Value = Range("T" & Cel.Row).Value
Next Cel
Application.EnableEvents = True
End If
X = ActiveCell.Address
YA = Right(X, 2)
a = "U" & YA
B = Range(a)
If Range(X) <> "" Then
If B <> "" Then
If Target.Address = Target.Address Then
Worksheet_BeforeDoubleClick ByVal Target, True
End If
End If
End If
X = ActiveCell.Address
If Range(X) = "" Then
Y = Left(X, 2)
If Y = "$T" Then
Y = Left(Right(X, 2), 2)
Z = "X"
a = "X" & Y - 1
Range(a).Select
If YA = Y Then
ActiveCell.Value = Format(Now(), "hh:mm")
End If
End If
End If
End Sub
Sub Compareur()
X = ActiveCell.Address
Y = Right(X, 2)
Z = "U"
a = "U" & Y
B = Range(a).Select
nb_cara = Len(Range(a))
If nb_cara = 4 Then
a = "T" & Y
B = Range(a)
D = "O" & Y
E = Range(D)
F = B - E
If F > 0 Then
MsgBox "ATTENTION DATE DE RESPECT NE PEUT PAS ETRE égale à OUI "
ActiveCell.Value = ""
End If
If F = 0 Then
a = "X" & Y
B = Range(a)
D = "P" & Y
E = Range(D)
F = B - E
If F > 0.208 Then
MsgBox "ATTENTION DATE DE RESPECT NE PEUT PAS ETRE égale à OUI "
ActiveCell.Value = ""
End If
End If
End If
End Sub
Une petite chose aussi, j'ai remarqué quand je supprime la date, ca retire donc l'heure qu'il y a en face, mais ca remet l'heure actuelle sur la ligne du dessus comme sur le screen ci dessus !
Je vous souhaite une bonne journée et un bon réveil ;)
A++
PS : Je m'excuse auprès des modos pour le code sous ce format là mais je n'arrive aps à le mettre avec <> :)