On peut bien sûr mettre à jour une plage mise sous forme de tableau à l'aide d'un UserForm.
Seule restriction: on ne peut y insérer de ligne ailleurs que derrière la dernière par la voie classique. Mais les modifications resteront minimes même par la voie prévue (instructions comme :
Set PlageLigne = LO.ListRows.Add.Range, déclarés: PlageLigne As Range, LO As ListObject, ce dernier ayant été initialisé par Set LO = UnWorksheet.ListObjects(1) ou bien = PlageQuiEnFaitPartie.ListObject)
Un de mes objets ComboBoxLiées, définis par un module de classe du même nom, conserve à votre disposition en tant que propriété Lignes la collection ListRows d'un ListObject si on lui en spécifie un au début (méthode .Plage), ou même, d'après le Range plutôt spécifié d'habitude, s'il le trouve tout seul.
Il accepte d'ailleurs alors dans ses .Add, derrière chaque ComboBox dont on lui confie la charge, un titre en guise de spécification de colonne.
Il est donc aussi conçu pour travailler avec un ListObject.