Re
Voici un code à placer en VBA dans un module et à lier à ton bouton sur ta feuille
Sub copie()
'Dan - 02/03/15
Dim lg as integer
lg = ActiveCell.Row
With ActiveSheet
If lg = 1 Or .Range("J" & lg) = "" Or .Range("K" & lg) = "" Then Exit Sub
Select Case ActiveSheet.Range("J" & lg)
Case Is = "Présent"
If .Range("K" & lg) <> "Présent" Then
.Range("A" & lg & ":D" & lg).Copy Sheets("PUBLI DATE 1").Range("A" & Sheets("PUBLI DATE 1").Range("A" & Sheets("PUBLI DATE 1").Rows.Count).End(xlUp).Row + 1)
Else: .Range("K" & lg) = "Présent"
.Range("A" & lg & ":D" & lg).Copy Sheets("PUBLI DATE 1+2").Range("A" & Sheets("PUBLI DATE 1+2").Range("A" & Sheets("PUBLI DATE 1+2").Rows.Count).End(xlUp).Row + 1)
End If
Case Is <> "Présent"
If .Range("K" & lg) = "Présent" Then
.Range("A" & lg & ":D" & lg).Copy Sheets("PUBLI DATE 2").Range("A" & Sheets("PUBLI DATE 2").Range("A" & Sheets("PUBLI DATE 2").Rows.Count).End(xlUp).Row + 1)
End If
End Select
End With
End Sub
Le code ne complétera une feuille que si tu as une donnée en J ou K et si cette donnée est contient le mot PRESENT
Amélioration serait de mettre une petite croix par exemple en colonne L, chaque fois que tu as exécuté le code ou d'effacer le mot PRESENT dans la cellule. Enfin à voir selon tes tests.
A te relire