Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range) ' interuption sur saisie de cellule
Dim i As Long, mem As String, num As String ' définition de variable necessaires
If Target.Column = 4 Then ' test saisie colonne 4
If Target.Value > "" Then ' Si tu un nom dans prete à
Target.Offset(0, 1) = Date ' Met la date
Else ' Sinon si tu as supprimé un nom
Target.Offset(0, 1) = "" ' remet à blanc la date
End If
Exit Sub ' Fin du traitement de la date : je sors
End If
If Sh.Name = "Classement général" Then Exit Sub ' si c'est la 1ere page, je sors
If Target.Column <> 2 Then Exit Sub ' si ce n'est pas la colonne B je sors
If Target.Row <> Range("B65000").End(xlUp).Row Then Exit Sub ' si ce n'est pas la derniere ligne, je sors
mem = Sh.Name ' Met en memoire le nom de la feuille emetrice
num = Target.Offset(-1, -1) ' Recupere le n° immediatement à gauche et au dessus de la cellule de nom
Target.Offset(0, -1) = Left(num, 1) + CStr(Val(Mid(num, 2)) + 1) ' Met en place le nouveau n° de film
With Sheets("Classement général") ' Mise à jour sur cette feuille
i = .Range("B65000").End(xlUp).Row + 1 ' recuperation de la derniere ligne + 1
.Range("B" & i).Value = Target.Value ' Mise en place le la valeur
.Range("A" & i).FormulaLocal = "=" & mem & "!" & Target.Offset(0, -1).Address ' mise ne place de la formule recup code
.Range("C" & i).FormulaLocal = "=" & mem & "!" & Target.Offset(0, 1).Address ' mide en place de la fromule recup genre
.range("D" & i).formulalocal = "=" & mem & "!" & target.offset(0,2).address ' Mise ne place de la formule recuperant le nom du preter à
.range("D" & i).formulalocal = "=" & mem & "!" & target.offset(0,3).address ' Mise ne place de la formule recuperant la date de pret
End With
End Sub