Salut Biquette, salut le forum,
Je suis nul en formules mais je te propose ça avec un code VBA à placer dans la feuille qui contient tes données. Comme le 15 septembre est passé j'ai fait commencé en ligne 21 pour le mois d'octobre. Cette macro ne s'exécute pas automatiquement. Il te faudra ouvrir le classeur et déplacer le curseur au moins une fois n'importe où pour qu'elle s'exécute. J'espère que cela te conviendra.
Pour placer ce code au bon endroit fais comme indiqué :
Copie les lignes du code ci-dessous.
Clique du bouton droite de la souris sur l'onglet contenant les données.
Choisis l'option Visualiser le code. Tu es maintenant dans Visual Basic Editor.
Clique dans la grand cadre blanc à droite.
Colle le code.
Alt+F11 pour revenir à Excel.
Sauve le fichier.
'début du code :
Option Explicit
Private test As Byte 'déclare la variable test
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
'à chaque changement de sélection
Dim j As Byte 'déclare la variable j
Dim m As Byte 'déclare la variable m
Dim plage As Range 'déclare la variable plage
j = Day(Date) 'définit la variable j (jour de la date en cours)
m = Month(Date) 'définit la variable m (mois de la date en cours)
Set plage = Rows(16) 'définit la variable plage (ligne 16)
If m = test Then Exit Sub 'si le mois = test, sort de la procédure
If j = 25 Then 'condition1 : j=25
If Range("A21").Value = "" Then 'condition2 : A20 vide
test = m 'définit la variable test (=mois en cours)
plage.Copy Destination:=Range("A21") 'copy la ligne 16 en 20
Else 'condition2 A20 non vide
test = m 'définit la variable test (=mois en cours)
plage.Copy Destination:=Range("A65536").End(xlUp).Offset(1, 0) 'copy la ligne 16 dans la première ligne non vide
End If 'fin condition2
End If 'fin condition1
End Sub
'fin du code
À plus,
Robert