Display custom field content in node.tpl
There are two parts in your problem: one is getting the values, and the second is themeing them.

As far as getting the values is concerned, if you don't mind using the Entity and File Entity modules, a simpler way to access field content is to use entity metadata wrappers. This way you don't need to worry about deltas and languages.

You can write code as follows:

$w = entity_metadata_wrapper('node', $node);
foreach ($w-&gt;field_objectif_bts-&gt;getIterator() as $file_w) {
  // $file_w-&gt;file returns the wrapper of the File entity. You can
  // then address it's values as:
  $name = $file_w-&gt;file-&gt;name-&gt;value();
  $mime = $file_w-&gt;file-&gt;mime-&gt;value();
  $custom_field = $file_w-&gt;file-&gt;field_custom_field-&gt;value();
  // etc. You can see all available fields by inspecting the
  // return value of $file_w-&gt;file-&gt;getPropertyInfo()
}


As far as themeing the table goes, I think your call to theme is correct (If unsure, you can check the documentation for theme_table)