Page 1 sur 1

Expressions régulières : à l'aide !

Posté : 02 octobre 2016, 20:52
par Deggi
Bonjour aux spécialistes !

Je cherche à adapter l'importation manuelle d'un fichier QIF en provenance de ma banque...
Dans la zone libellé, j'ai par exemple : PAIEMENT CARTE 140916 67 LECLERC STATION
1°)Je voudrais récupérer la date de l'opération (ici 140916) pour remplacer la date qui figure dans le fichier importé.
2°) Ensuite, dans le champs libellé, je voudrais ne garder que la fin, c'est à dire supprimer tout ce qui se trouve avant la date...

Autre question : est-il également possible de piloter le flag "importer", pour par exemple n'importer que les opérations dont le libellé commence par "Paiement carte" ou "Retrait DAB" ?

Merci pour vos lumières,

Mathieu.

Re: Expressions régulières : à l'aide !

Posté : 02 octobre 2016, 21:12
par Jacques Leblond
Dans le tableau "Conditions" de la règle, tu indiques :
  • "Libellé, Tiers" "Expression régulière vérifiée" ^PAIEMENT\sCARTE.+
Dans les "Actions" :
  • Tu définis le champ "Type" avec l'expression suivante : "Carte Bancaire" sans les guillemets
  • Tu définis le champ "Carte Bancaire" par le nom de ta carte, celui défini dans les propriétés de ton compte.
  • Tu remplaces le champ "Date de valeur" par "Date de l'opération", pour mettre la date du fichier qif dans la date de valeur, il est par défaut dans la date de l'opération.
  • Tu remplaces le champ "Date de l'opération" par le champ "Libellés, Tiers"
  • Tu appliques l'expression régulière suivante sur le champ "Date de l'opération" :

    Code : Tout sélectionner

    ^PAIEMENT\sCARTE\s(\d{2})(\d{2})(\d{2})\s.+~$1/$2/20$3
    J'ai pris l'hypothèse que le format de date du fichier qif est JJ/MM/AAAA sinon il faut ajuster l'expression en conséquence.
  • Tu appliques l'expression régulière suivante sur le champ "Libellés, Tiers" :

    Code : Tout sélectionner

    ^PAIEMENT\sCARTE\s\d{6}\s(.+)~$1
Je n'ai pas vérifié ces écritures mais on ne devrait pas être loin de ce que tu recherches

EDIT:
Deggi a écrit :Autre question : est-il également possible de piloter le flag "importer", pour par exemple n'importer que les opérations dont le libellé commence par "Paiement carte" ou "Retrait DAB" ?
Tu crées une règle après la précédente :

Dans le tableau "Conditions" de la règle, tu indiques :
  • "Type" "Est différent de" Carte Bancaire
    "Type" "Est différent de" Retrait Espèce par Carte
Il faut bien sûr que tu traites aussi par une règle (avant celle-ci) les retraits DAB

Dans les "Actions" :
  • Tu supprimes le champ "Date de l'opération"
Toute opération sans date sera ignorée, par contre avec cette méthode tu ne les verras plus dans le formulaire de validation des données à importer.

Re: Expressions régulières : à l'aide !

Posté : 02 octobre 2016, 21:38
par Deggi
Jacques,

C'est parfait, sauf pour la dernière étape : le champs libellé revient tel que défini dans le fichier, sans aucune modif...
J'ai essayé de tester tes expressions régulières sur différents sites mais à chaque fois elles sortent en anomalies, même la première (pour extraire la date) qui pourtant fonctionne.... Bizarre, je ne comprend pas pourquoi...

Cordialement,

Mathieu

Re: Expressions régulières : à l'aide !

Posté : 02 octobre 2016, 21:45
par Jacques Leblond
Pour tester les expressions, je te recommande le site mentionné par Patrice ici.
Il faut aussi que tu supprimes tout ce qui suit le ~ (~ inclus). Il s'agit du caractère qu'utilise GesFine pour séparer le pattern (l'expression régulière à proprement parlé) de la chaine de remplacement.

Re: Expressions régulières : à l'aide !

Posté : 02 octobre 2016, 21:51
par Deggi
Jacques tu es le meilleur !

Tout est ok !
Merci beaucoup et bonne soirée !

Mathieu.