Re,
En effet, mais les tables en enfilade ce serait aussi plutôt à éviter...
J'ai "rustiné" la chose avec des plages nommées limitées à 1 cellule : Excel devrait adapter le nom, sans casser la plage puisqu'il ne peut séparer une cellule d'elle-même !
'Chantier
Private Sub OK_Click()
[Chant].Offset(5).Resize(5).EntireRow.Insert
[Chant].Offset(5).Resize(5) = NUMERO_CHANTIER
[Chant].Offset(7, 1) = NOM_CHANTIER
Range("Chant").Resize([Chant].End(xlDown).Row - [Chant].Row + 1, 3).Sort key1:=[Chant], _
order1:=xlAscending, Header:=xlNo
Unload AJOUT_CHANTIER
End Sub
'Technicien
Private Sub OK_Click()
[Techn].Rows(2).Insert
[Techn].Cells(2, 1) = NOM_TECH
[Techn].Resize([Techn].End(xlDown).Row - [Techn].Row + 1) _
.Sort key1:=[Techn], order1:=xlAscending, Header:=xlNo
Unload AJOUT_TECH
End Sub
Compacté, mais surtout sans numéros de lignes qui vont se déplacer avec les insertions...