Te cuento...
sprintf utiliza el % (acompañado de 1 o varios caracteres) para saber que "imprimir" en la cadena.
El uso correcto en tu caso, sería este:
Código PHP:
$insertSQL = sprintf("INSERT INTO tabla (nombre, codigo) VALUES ('%s', '%s')", $_POST['nombre'], $_POST['listas']);
Bueno, excepto que es mala práctica no tratar antes el "contenido" del POST o GET, para evitar inyecciones sql xD
Puedes leer más aqui:
sprintf
(Siempre va bien consultar el manual xD)