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)