Bon voilà, en tant qu'amateur j'ai essayé ça :
Private Sub Worksheet_Change(ByVal Target As Range)
On Error Resume Next
With Sheets(Target.Value)
DerLig = .Range("A65536").End(xlUp).Row + 1
.Range("A" & DerLig) = Cells(Target.Row, 2)
.Range("C" & DerLig) = Cells(3, Target.Column)
.Range("F" & DerLig).Formula = "=E" & DerLig & "-D" & DerLig
If Target = "Hs" Then
.Range("I" & DerLig).Formula = "=IF(A" & DerLig & "=HsIndiv!$C$14,"""",IF(OR(C" & DerLig & "<HsIndiv!$F$13,G" & DerLig & "<>""A payer""),"""",A" & DerLig & ")"
.Range("J" & DerLig).Formula = "=IF(OR(A" & DerLig & "<>HsIndiv!$C$14,C" & DerLig & "<HsIndiv!$F$12,C" & DerLig & ">HsIndiv!$F$13,G" & DerLig & "<>""A payer""),"""",MAX(J$1:J" & DerLig - 1 & ")+1)"
.Range("K" & DerLig).Formula = "=IF(OR(A" & DerLig & "<>Heures!$B$5,G" & DerLig & "<>""A récupérer""),"""",MAX($K:K" & DerLig & ")+1)"
End If
If Target = "Ré" Then
.Range("G" & DerLig).Formula = "=IF(A" & DerLig & "<>Heures!$B$5,"""",MAX($G:G" & DerLig & ")+1)"
End If
.Select
End With
End Sub
Pour les IF THEN ça fonctionne c'est méga cool.
La formule de la colonne J apparaît bien,
mais la formule pour les colonnes I K et G n'apparait pas à la ligne suivante.
formule DerLig colonne I:
=SI(A676=HsIndiv!$C$14;"";SI(OU(C676<HsIndiv!$F$12;C676>HsIndiv!$F$13;G676<>"A payer");"";A676))
formule Derlig colonne J:
=SI(OU(A676<>HsIndiv!$C$14;C676<HsIndiv!$F$12;C676>HsIndiv!$F$13;G676<>"A payer");"";MAX(J$1:J675)+1)
formule Derlig colonne K:
=SI(OU(A676<>Heures!$B$5;G676<>"A récupérer");"";MAX(K$1:K675)+1)
Ou est l'erreur ? Pourquoi cela fonctionne avec J mais pas I et K ?
Quel casse-tête !!