Private Sub Worksheet_Change(ByVal Target As Range)
Dim li As Byte 'décalre la variable li (LIgne)
If Target.Address <> "$C$3" Then Exit Sub 'si le changement a lieu ailleurs qu'en C3, sort de la procédure
li = CByte(Target.Value) 'définit la ligne li
With Sheets("Feuil2") 'prend en compe l'onglet "Feuil2"
.Range(.Cells(li + 1, 3), .Cells(li + 1, 3).Offset(2, 0)).Name = "plage1" 'définit la plagge nommé pl1 en fonction de li
.Range(.Cells(li + 1, 4), .Cells(li + 1, 4).Offset(2, 0)).Name = "plage2" 'définit la plagge nommé pl2 en fonction de li
.Range(.Cells(li + 1, 5), .Cells(li + 1, 5).Offset(3, 0)).Name = "plage3" 'définit la plagge nommé pl3 en fonction de li
End With 'fin de la prise e compte de l'onglet "Feuil2"
With Range("B6").Validation 'prend e compte la validation de données en B6
.Delete 'supprime
.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
xlBetween, Formula1:="=plage1" 'actualise en fonction de li
End With 'fin de prise en compte de ...
With Range("C6").Validation 'prend e compte la validation de données en C6
.Delete 'supprime
.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
xlBetween, Formula1:="=plage2" 'actualise en fonction de li
End With 'fin de prise en compte de ...
With Range("D6").Validation 'prend e compte la validation de données en D6
.Delete 'supprime
.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
xlBetween, Formula1:="=plage3" 'actualise en fonction de li
End With 'fin de prise en compte de ...
End Sub