Bonjour à tous, Bonjour LouReeD,
Comme la date en E1 est potentiellement changeante je me doutais qu'il faudrait du VBA. Donc voici un code horriblement moche mais fonctionnel avec le tableau fourni (par contre dès que vous modifierez la structure, les données de votre tableau de la feuille 2 ça ne fonctionnera plus ..) :
Private Sub Worksheet_Change(ByVal Target As Range)
Dim L%
If Target.Cells.Count > 1 Then Exit Sub
If Not Application.Intersect(Target, [E3:E15]) Is Nothing And Target <> "" Then
With Worksheets("Feuil2")
For L = 4 To 15
If Month(.Cells(L, 3)) = Month([E1]) Then L = L: Exit For
Next L
If Target > 10 Then
.Cells(L + 14, Target - 7) = "x"
Else
.Cells(L, Target + 3) = "x"
End If
End With
End If
End Sub
Vu que vous ne nous avez pas donné de détail sur le fonctionnement final je ne me suis pas occupé de la partie effacement de données, plage plus grande que E3:E15, nombre déjà présents, etc ... Je suis parti du principe qu'à chaque fois qu'une valeur était ajoutée sur la plage E3:E15 de votre 1ère feuille, elle se retrouvait sur la 2ème.
Si ça ne correspond pas merci de bien préciser le besoin.
Cdlt,
Edit ; Quasiment les mêmes remarques que LouReeD !