Recherche se base sur les paiements effectués

CarineVL Messages postés 342 Statut Membre -  
CarineVL Messages postés 342 Statut Membre -

Encore Re ...

La recherche se base sur les paiements effectués par American Express sur le compte bancaire …

2  cellules seraient  à alimenter suivant une formule :

  • La cellule (à titre d’exemple) BM76 où il faudrait reprendre la date de vente (et non de paiement) figurant dans la cellule I76 où la date de vente figure dans le milieu de la cellule (17/02).

Est-il possible de faire une recherche uniquement sur ces 5 caractères dans le cas où la communication changerait ne fusse que d’un caractère dans sa présentation ?

  • La cellule (à titre d’exemple) BO76 où il faudrait reprendre le montant brut (1140,00) dans la même cellule I76 …figurant dans cette cellule …

De la même manière, est-il possible de faire une recherche uniquement sur ces 7 caractères dans le cas où la communication changerait dans le futur ne fusse que d’un caractère dans sa présentation ?

Encore merci …

Possible ?

https://www.cjoint.com/c/OCeoPEu7fVt


A voir également:

2 réponses

Résumé de la discussion

Le problème porte sur l’extraction, d’un champ texte décrivant des paiements American Express, de la date de vente et du montant brut pour alimenter BM76 et BO76, de façon robuste face à de légères variations de présentation.
Les solutions proposées utilisent des expressions régulières pour cibler la date au format dd/mm dans I76 et le montant sous forme numérique, avec des motifs tels que « [0-3][0-9]/[0-1][1-9] » pour la date et « \d*,\d{2} » pour le montant, en s’appuyant sur REGEX.EXTRAIRE et REGEX.TEST.
Pour que le montant soit exploitable, il est fréquemment recommandé de convertir le texte extrait en nombre via CNUM, par exemple SI(REGEX.TEST(I6;"american express";1);CNUM(REGEX.EXTRAIRE(I6;"\d*,\d{2}"));"").
Des échanges signalent aussi des limites pratiques, notamment des erreurs lorsque les valeurs sont vides (ex. #VALEUR! dans certaines colonnes) et des ajustements selon Excel 365 qui supporte REGEX.EXTRAIRE, sans conclusion sur une résolution unique du fil.

Généré automatiquement par IA
sur la base des meilleures réponses
danielc0 Messages postés 2058 Date d'inscription   Statut Membre Dernière intervention   250
 

Bonjour,

Avec Excel 365 :

1. =REGEX.EXTRAIRE(I76;" [0-3][0-9]/[0-1][1-9] ")

2. =REGEX.EXTRAIRE(I76;"\d*,\d{2}")

Daniel


0
CarineVL Messages postés 342 Statut Membre 9
 

Bonjour Daniel,

C'est top et ok sauf pour la cellule BN76 qui m'affiche #VALEUR!

0
danielc0 Messages postés 2058 Date d'inscription   Statut Membre Dernière intervention   250 > CarineVL Messages postés 342 Statut Membre
 

Mets en BN76 :

=SI(BM76="";"";DATEVAL(BM76))

Daniel

0
danielc0 Messages postés 2058 Date d'inscription   Statut Membre Dernière intervention   250
 

... Sinon, qu'est-ce qu'il y a d'invariant ? Est-ce que "AX" est constant ?

Daniel


0
CarineVL Messages postés 342 Statut Membre 9
 

Re Daniel,

avec la formule en BN76

=SI(BM76="";"";DATEVAL(BM76))

c'est ok ...

Par contre, AX j'ai pas trop compris car cette colonne fait référence à autre chose ...

Bien à vous,

Carine

1
CarineVL Messages postés 342 Statut Membre 9 > CarineVL Messages postés 342 Statut Membre
 

Un grand merci Daniel ...

Bien à vous,

Carine

0
danielc0 Messages postés 2058 Date d'inscription   Statut Membre Dernière intervention   250 > CarineVL Messages postés 342 Statut Membre
 

Essaie :

1. =SI(REGEX.TEST(I76;"american express";1);REGEX.EXTRAIRE(I76;" [0-3][0-9]/[0-1][1-9] ");"")

2. =SI(REGEX.TEST(I76;"american express";1);REGEX.EXTRAIRE(I76;"\d*,\d{2}");"")

Daniel

1
danielc0 Messages postés 2058 Date d'inscription   Statut Membre Dernière intervention   250 > CarineVL Messages postés 342 Statut Membre
 

Bonjour,

En BQ6, à recopier vers le bas :

=SIERREUR(SI(SOMME(BO6-BP6)=0;"";SOMME(BO6-BP6));"")

Daniel

1
danielc0 Messages postés 2058 Date d'inscription   Statut Membre Dernière intervention   250 > CarineVL Messages postés 342 Statut Membre
 

OK. C'est parce que les montants sont du texte. Il faut les convertir en nombre :

En BO6, à recopier vers le bas :

=SI(REGEX.TEST(I6;"american express";1);CNUM(REGEX.EXTRAIRE(I6;"\d*,\d{2}"));"")

Daniel

1