Lenteur calcul formule matricielle

scorpio94

XLDnaute Nouveau
Bonjour,

J'ai, dans un classeur, une feuille avec des données (confidentielles) en vrac récupérées d'un fichier txt que j'ai converti afin de le structurer un minimum.
Dans une seconde feuille, j'ai une formule qui me permet de réccupérer la valeur d'une cellule ainsi que celle de la cellule d'à côté (ex: A1->B1). Il s'agit d'une formule matricielle. Le problème est qu'il y a énormément de données à traiter donc le calcul prends un temps fou à calculer la feuille.

La formule est la suivante :

=SIERREUR(INDEX('20190729'!$A:$A;PETITE.VALEUR(SI('20190729'!$A:$A="ACCOUNT NUM :";LIGNE($A:$A));LIGNE($A1)));"")

Pensez-vous qu'il est possible de simplifier cette formule sans la valider en matricielle ?

Ps: Un TCD ne me convient pas car les données ne sont pas structurées sous forme de tableau, il s'agit d'un fichier txt récupéré à l'état brut.

Merci de votre aide !
 
Dernière édition:

Hasco

XLDnaute Barbatruc
Repose en paix
Bonjour,

Peut-être qu'en réduisant déjà la plage de recherche au lieu de rechercher sur la colonne entière ( 1 048 576 lignes).
si ça ne va pas mieux il vous faudra vous fendre d'un classeur exemple et même d'un exemple du fichier texte anonymisé et des tenants et aboutissants de votre histoire.

Cordialement
 

scorpio94

XLDnaute Nouveau
Merci de ta réponse.

J'ai déjà essayé en réduisant la plage de recherche mais il y a à peu près 90 000 lignes à exploiter et c'est toujours le même souci.

Je te mets en pièce jointe un fichier exemple qui pourrait te permettre d'y voir un peu plus clair. Dans la feuille 1 se trouvent toutes les données à exploiter (je n'en ai mis que quelques unes, le fichier en question est bien plus important). Dans la feuille 2 se trouve la formule matricielle qui me permet de récupérer la valeur de la cellule "Account Num" et celle de la cellule d'à coté (A2 et B2 par exemple).

Merci beaucoup de ton assistance.

Cordialement,
 

Pièces jointes

  • Formule Matricielle.xlsx
    18.5 KB · Affichages: 4

Hasco

XLDnaute Barbatruc
Repose en paix
Bonjour,

Tel quel ce sera toujours long par formule matricielle. C'est pourquoi je vous demandait de nous donner également le fichier texte anonymisé ainsi que les tenants et aboutissants de la chose (quelles informations en retirer, dans quelle(s) condition(s), etc. ) .

Bon après-midi
 

scorpio94

XLDnaute Nouveau
Bonjour,

Voici le fichier texte contenant les données. Chaque bloc d'information dans ce fichier est indépendant des autres blocs.
Je voudrais extraire dans un fichier Excel les valeurs correspondantes à "Account Num " ainsi que celles correspondantes à "Acquirer Ref" pour chaque bloc. La valeur de "Acquirer Ref" est liée à celle de "Account Num" du même bloc.

N'hésitez pas si toutefois je n'ai pas été clair dans mon explication.

Merci encore une fois.
 

Pièces jointes

  • Fichier données.txt
    4.7 KB · Affichages: 5

Hasco

XLDnaute Barbatruc
Repose en paix
Bonjour,

Dans le fichier joint, j'ai utilisé l'utilitaire microsoft powerquery(page de téléchargement).
Comme vous ne dites pas s'il faut retourner la totalité des lignes correspondantes dans l'exemple, seule les deux premières colonnes sont retournées.
PowerQuery est un peu Bestiau à prendre en main mais une fois fait c'est magique et offre de nombreuses possibilités, de transformations de données sources sur de grands fichiers de données.

Bon après-midi
 

Pièces jointes

  • Scorpio-Rob.xlsx
    18.5 KB · Affichages: 4

scorpio94

XLDnaute Nouveau
Merci beaucoup pour votre retour.

Je viens d'installer Power Query, pouvez-vous simplement m'expliquer comment l'utiliser afin d'extraire les données dont j'ai besoin (de la même manière que vous l'avez fait sur votre fichier joint) ?

Cordialement,