Index Equiv avec 2 conditions en VB

Bonjour,

J'ai créé un fichier Excel avec des sierreur & index equiv avec 2 conditions.

(=SIERREUR(INDEX('Rapport 4'!$K:$K;EQUIV(Resil!$B3&Resil!D3;'Rapport 4'!$A:$A&'Rapport 4'!$J:$J;0));SIERREUR(INDEX('Rapport 4'!$K:$K;EQUIV(Resil!$B3&Resil!E3;'Rapport 4'!$A:$A&'Rapport 4'!$J:$J;0));SIERREUR(INDEX('Rapport 4'!$M:$M;EQUIV(Resil!$B3&Resil!D3;'Rapport 4'!$A:$A&'Rapport 4'!$L:$L;0));SIERREUR(INDEX('Rapport 4'!$M:$M;EQUIV(Resil!$B3&Resil!E3;'Rapport 4'!$A:$A&'Rapport 4'!$L:$L;0));SIERREUR(INDEX('Rapport 4'!$O:$O;EQUIV(Resil!$B3&Resil!D3;'Rapport 4'!$A:$A&'Rapport 4'!$N:$N;0));SIERREUR(INDEX('Rapport 4'!$O:$O;EQUIV(Resil!$B3&Resil!E3;'Rapport 4'!$A:$A&'Rapport 4'!$N:$N;0));SIERREUR(INDEX('Rapport 4'!$Q:$Q;EQUIV(Resil!$B3&Resil!D3;'Rapport 4'!$A:$A&'Rapport 4'!$P:$P;0));SIERREUR(INDEX('Rapport 4'!$Q:$Q;EQUIV(Resil!$B3&Resil!E3;'Rapport 4'!$A:$A&'Rapport 4'!$P:$P;0));SIERREUR(INDEX('Rapport 4'!$E:$E;EQUIV(Resil!$B3&Resil!D3;'Rapport 4'!$A:$A&'Rapport 4'!$D:$D;0));SIERREUR(INDEX('Rapport 4'!$E:$E;EQUIV(Resil!$B3&Resil!E3;'Rapport 4'!$A:$A&'Rapport 4'!$D:$D;0));SIERREUR(INDEX('Rapport 4'!$G:$G;EQUIV(Resil!$B3&Resil!D3;'Rapport 4'!$A:$A&'Rapport 4'!$F:$F;0));SIERREUR(INDEX('Rapport 4'!$G:$G;EQUIV(Resil!$B3&Resil!E3;'Rapport 4'!$A:$A&'Rapport 4'!$F:$F;0));SIERREUR(INDEX('Rapport 4'!$I:$I;EQUIV(Resil!$B3&Resil!D3;'Rapport 4'!$A:$A&'Rapport 4'!$H:$H;0));SIERREUR(INDEX('Rapport 4'!$I:$I;EQUIV(Resil!$B3&Resil!E3;'Rapport 4'!$A:$A&'Rapport 4'!$H:$H;0));0)))))))))))))))

Cependant j'ai plus de 30 000 lignes a verifier.

Aujourd'hui mon ordinateur met 24h pour faire les calculs et sauvegarder le fichier.

Est il possible de faire du VB afin d'accelerer les calculs (extrait du fichier en PJ)?

D'avance merci pour votre aide.

Bien à vous.

16resil.xlsx (14.24 Ko)

Bonjour,

Je suis pas sûr que VBA vous aide dans votre cas précis.

Déjà, la formule ne teste pas 30000 lignes mais plus d'un million. Vous devriez donc mettre vos données de Rapport 4 sous forme de tableau structuré et changer toutes les colonnes ainsi :

'Rapport 4'!$K:$K

devient

NomTableau[NomColonneEnK]

Ensuite, B3 associé à la colonne A est toujours présent dans chacun des INDEX EQUIV, ce qui implique qu'on peut le factoriser dans un SI et s'éviter un calcul matriciel.

Enfin, je n'ai pas regardé votre fichier mais il y a fort à parier que l'enchainement des SIERREUR peut être contourné.

Cdlt,

Rechercher des sujets similaires à "index equiv conditions"