Bonjour
merci pour votre aide.
voici la private qui permet de marquer des minutes grâce en entrant en numériqeur
ex : je tape 123 et j'ai 1:23
Private Sub Worksheet_Change(ByVal Target As Range)
Dim HeurNum As String
Dim HeurHeur As String
Dim LongSaisie As Integer
If Not Intersect(Target, Range("L:S")) Is Nothing Then
'Si on saisit une formule, on sort
If Target.HasFormula Then Exit Sub
'Si on saisit du texte, on sort
If IsNumeric(Target.Value) = False Then Exit Sub
On Error Resume Next
Application.EnableEvents = False
'Initialisation des variables
HeurNum = Target.Value
LongSaisie = Len(HeurNum)
'Test de la longueur de la chaîne saisie
If LongSaisie = 1 Then
HeurNum = "00000" & HeurNum
ElseIf LongSaisie = 2 Then
HeurNum = "0000" & HeurNum
ElseIf LongSaisie = 3 Then
HeurNum = "000" & HeurNum
ElseIf LongSaisie = 4 Then
HeurNum = "00" & HeurNum
ElseIf LongSaisie = 5 Then
HeurNum = "0" & HeurNum
ElseIf LongSaisie = 6 Then
HeurNum = HeurNum
End If
'Initialisation de la variable retournée
HeurHeur = Left(HeurNum, 2) & ":" & Mid(HeurNum, 3, 2) & ":" & Right(HeurNum, 2)
'Modification de la valeur saisie
Target = HeurHeur
Application.EnableEvents = True
On Error GoTo 0
Else
End If
End Sub
A ceci je voudrais ajouter cette 2e private
permettant d'activer une formule (ou plusieurs) à chaque fois qu'une donnée est entrée dans une cellule sur fond coloré
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Interior.ColorIndex = 35 Then
l = Target.Row
Range("F" & l).Value = IIf(Cells(l, 1) = "" Or Cells(l, 2) = "", "", WorksheetFunction.Sum(Cells(l, 3), Cells(l, 4), Cells(l, 5)))
End If
End Sub
Si je souhaite ajouter d'autres formules, ou modifier
Range("F" & l).Value = IIf(Cells(l, 1) = "" Or Cells(l, 2) = "", "", WorksheetFunction.Sum(Cells(l, 3), Cells(l, 4), Cells(l, 5)))
où devrais je les placer?
merci
Zb