Comme indiqué ici je viens de baculer complétement sur Ubuntu (adieu XP), le dernier point qui restait à traiter pour faire cette bascule était de trouver un remplaçant à MS Money.

Après avoir testé divers logiciel j’ai selectionné KMyMoney.

Ne voulant pas perdre tout mon historique (depuis 2002) il me fallait importer les comptes Money dans KMyMoney, voici la procédure suivie.

Pour info j’utilisais Money 2004, les procédures peuvent donc changer si vous utilisez une autre version.


Export Money

Sur Money, exporter les comptes un à un au format QIF

Copier les fichiers générés sous Windows vers Ubuntu.


Traitement des fichiers

Les fichiers QIF généré n’ont pas pu être importés tel quel sous KMyMoney, 2 raisons :

  • le format de date : jj/mm’aaaa
  • les caractères spéciaux (é, è, à, etc.) non reconnus


Formatter la date

On veut trnasformer une date au format jj/mm’aaaa en jj/mm/aaaa.

Pour cela en ligne de commande sous Ubuntu :

sed 's/\(D[0-9]\{2\}\/[0-9]\{2\}\)./\1\//g' fichierExport.qif > fichierExportDateOK.qif


Remplacer les caractère spéciaux

La solution a été trouvée ici : http://forum.ubuntu-fr.org/viewtopic.php?pid=2384768#p2384768


Créer un fichier convertAccent.c et y copier :

 
 
  #include <stdio.h>
  int main(void)
  {
        int c = getchar();
 
        while (c != EOF)
 
                {
 
                switch (c)
 
                        {
                        case 224: putchar(195); putchar(160); break;
                        case 226: putchar(195); putchar(162); break;
                        case 231: putchar(195); putchar(167); break;
                        case 232: putchar(195); putchar(168); break;
                        case 233: putchar(195); putchar(169); break;
                        case 234: putchar(195); putchar(170); break;
                        case 235: putchar(195); putchar(171); break;
                        case 238: putchar(195); putchar(174); break;
                        case 239: putchar(195); putchar(175); break;
                        case 244: putchar(195); putchar(180); break;
                        case 246: putchar(195); putchar(182); break;
                        case 249: putchar(195); putchar(185); break;
                        case 251: putchar(195); putchar(187); break;
                        case 252: putchar(195); putchar(188); break;
 
                        case 192: putchar('A'); break;
                        case 194: putchar('A'); break;
                        case 200: putchar('E'); break;
                        case 201: putchar('E'); break;
                        case 202: putchar('E'); break;
                        case 203: putchar('E'); break;
                        case 206: putchar('I'); break;
                        case 207: putchar('I'); break;
                        case 212: putchar('O'); break;
                        case 214: putchar('O'); break;
                        case 217: putchar('U'); break;
                        case 219: putchar('U'); break;
                        case 220: putchar('U'); break;
 
                        case 128: putchar(226); putchar(130); putchar(172); break;
 
                        default: putchar(c);
                        }
 
                c = getchar();
 
                }
 
        return(1);
  }


Le compiler :

make removeAccent.c


Passer les fichiers qifs à la moulinette :

cat fichierExportDateOK.qif | ./convertAccent > fichierExportOK.qif


Importer dans KMyMoney

Il ne reste plus qu’a installer KMyMoney :

sudo aptitude install kmymoney2


Puis importer les fichiers QIF modifiés, Money n’ayant pas exporté les catégorie il conviendra de les recréer au fur et à mesure que le processus d’import en rencontre une nouvelle.



Les commentaires sont fermés.