$key)) { printf('Colonne "%s" manquante sur ligne %d' . PHP_EOL, $key, $l); continue(2); } } $out[] = $c; } fclose($fp); // Création du CSV de sortie $fp = fopen($dest, 'w'); fputcsv($fp, ['Numéro d\'écriture', 'Date', 'Libellé', 'Compte de débit', 'Compte de crédit', 'Montant', 'Numéro pièce comptable', 'Référence paiement', 'Notes']); static $notes_keys = ['Nom', 'Objet', 'Remarque']; foreach ($out as $c) { $label = $c->Type; if ($c->Nom) { $label = $c->Nom . ' - ' . $label; } $notes = ''; $ref = $c->{'Numéro de transaction'}; foreach ($notes_keys as $k) { if ($c->{$k}) { $notes .= $c->{$k} . "\n"; } } $notes = trim($notes); if ($c->Commission != '0,00') { $amount = preg_replace('/\s+/U', '', $c->Commission); fputcsv($fp, ['', $c->Date, 'Commission PayPal sur transaction', '', '', $amount, '', $ref, $notes]); } $amount = preg_replace('/[\s ]+/U', '', $c->{'Avant commission'}); fputcsv($fp, ['', $c->Date, $label, '', '', $amount, '', $ref, $notes]); } fclose($fp);