Sub Nommer_Plage_Dyn()
'
' Nommer_Plage_Dyn Macro
'
' demande la selection de la 1ere cellule
Set Rng = Application.InputBox("Premiere cellule?:", Type:=8)
'on se déplace sur la deuxième ligne de la même colonne
First = Cells(2, Rng.Column).Address 'Range(Rng.Address).End(xlUp).Offset(1, 0).Address
'demande du nombres de colonnes
Nb_colonne = Application.InputBox("SUR COMBIEN DE COLONNES?", "NB DE COLONNES?", Type:=1) ' nombre de colonnes
'demande du nom de la plage
Laplage = Application.InputBox("Nom de la plage?", "Nom de Plage", Type:=2) ' Nom de la plage
On Error Resume Next
'si la plage existe déjà, on la supprime
ActiveWorkbook.Names(Laplage).Delete
On Error GoTo 0
'on créer la référence "$C:$C" de la colonne sélectionnée
adr = Left(Rng.Address, 2) & ":" & Left(Rng.Address, 2)
'on créer la zone dynamique
ActiveWorkbook.Names.Add Name:=Laplage, RefersTo:="=OFFSET(" & First & ",,,COUNTA(Feuil1!" & adr & ")-1," & Nb_colonne & ")"
Range(Laplage).Select
End Sub