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

Forum dédié à la création des règles associées aux formats d'importation

Modérateur : Patrice15220

Répondre
Deggi
Messages : 129
Enregistré le : 14 février 2014, 21:55

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

Message 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.
Modifié en dernier par Deggi le 02 octobre 2016, 21:51, modifié 1 fois.
Jacques Leblond
Administrateur
Messages : 6723
Enregistré le : 04 janvier 2010, 20:03
Localisation : France (Yvelines 78)
Contact :

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

Message 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.
Deggi
Messages : 129
Enregistré le : 14 février 2014, 21:55

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

Message 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
Jacques Leblond
Administrateur
Messages : 6723
Enregistré le : 04 janvier 2010, 20:03
Localisation : France (Yvelines 78)
Contact :

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

Message 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.
Deggi
Messages : 129
Enregistré le : 14 février 2014, 21:55

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

Message par Deggi »

Jacques tu es le meilleur !

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

Mathieu.
Répondre