Salut James,
Tout d'abord merci pour ta réponse si rapide. Comment fonctionne la macro de type Change ?
Voilà le code que j'ai commencé à écrire. Mais ce n'est utilisable que pour la ligne 15 et je voudrais donc arriver à le généraliser pour qu'il soit utilisable entre les lignes 15 et 3041. Le problème c'est qu'en faisant une boucle For i = 15 To 3041, cela exécuterait la modification sur l'ensemble des lignes 15 à 3041 et c'est extrêmement long. Je voudrais donc que cela ne modifie que la ligne en question.
Private Sub Worksheet_Change(ByVal Target As Range)
Dim i As Integer
Dim j As Integer
Dim DateDebut As Date
Dim DateFin As Date
'***LIGNE 15***
If Not Application.Intersect(Target, Range("$P$15")) Is Nothing Or Not Application.Intersect(Target, Range("$Q$15")) Is Nothing Then
i = 15
For j = 20 To 72 Step 1
DateDebut = Cells(i, 16).Value
DateFin = Cells(11, j).Value
If Cells(i, 2) = "" Then
Cells(i, j).Value = ""
ElseIf Cells(11, j).Value < Cells(i, 16).Value Then
Cells(i, j).Value = 0
ElseIf Cells(i, 19).Value >= Cells(11, j).Value Then
Cells(i, j) = NBJoursOuvres(DateDebut, DateFin) / Cells(i, 17).Value
Else
Cells(i, j) = 1
End If
Next j
End If
End Sub
Est-ce que tu vois ce que je veux dire ?
Merci par avance,
RomainBr