Comparaison de valeurs associees a des intervalles differents

Arkaos

XLDnaute Nouveau
Bonjour a tous,

J'ai decide de faire appel a la communaute face a un probleme qui m'echappe et que je n'ai, bien etrangement je le confesse, pas vu aborder ici ou ailleurs.

Je possede deux listes de donnees distinctes organisees comme suit, chacune en 4 colonnes:

Key from to value (environ 900 lignes) et Key2 from2 to2 value2 ( plus de 20000)

Il me faut etre capable de comparer dans un premier temps, les valeurs associees a key et key2 pour verifier que ma reference est la meme et que mes donnes sont associees au meme objet.
Ensuite pour les intervalles de la premiere liste, trouver les value2 correspondantes. Le tout sachant que les intervalles ne ciblent pas les memes choses et donc ne sont pas les memes.

Consient de ne sans doute pas etre tres clair, je joins un ficher pour illustrer le tout ainsi qu'un exemple du resultat qu'il me faut obtenir.

Merci d'avance a ceux qui s'interesseront a mon probleme et m'aideront a le resoudre.

Arkaos
 

Pièces jointes

  • Excel_question.xlsx
    10.6 KB · Affichages: 36

mapomme

XLDnaute Barbatruc
Supporter XLD
Re : Comparaison de valeurs associees a des intervalles differents

Bonjour Arkaos et bienvenue sur XLD :),

Juste un début d'ébauche de commencement (pas le temps de m'y consacrer plus cet après-midi) :(.

Le résultat est présenté d'une autre façon que celle souhaitée.

Ne fonctionne que pour une seule valeur de clef. C'est pourquoi il faut copier un jeu de valeur en cellule A2 (après avoir effacé bien sûr le jeu précédent en A2).

Si cela convient, il faudra boucler sur les différentes valeurs de clefs et optimiser le processus.

En premier lieu, cela peut-il convenir ?

nota: le code est entièrement dans le module de code de la feuille "Sheet1".

Edit: bonjour pierrejean :)
 

Pièces jointes

  • Arkaos-Excel_question v1.xlsm
    19.2 KB · Affichages: 39
Dernière édition:

Arkaos

XLDnaute Nouveau
Re : Comparaison de valeurs associees a des intervalles differents

Bonjour pierrejean,

Pas de probleme, meme si je crains d'avoir des difficultes a l'exprimer clairement.

Pour une valeur de key et key2 equivalente, il me faut en fait recuperer l'ensemble des codes de de la liste 2 (value2 donc) coexistant dans des intervalles equivalents dans la liste 1, s'il y en a.
La manipulation implique donc de comparer dans un premier temps les valeurs Key et Key2 pour travailler sur des objets equivalents, puis une fois la chose faite, de comparer les intervalles definis dans les deux listes par leurs colonnes from et to respectives afin d' en deduire de nouveaux intervalles, decouper a partir des precedents, ou vont coexister mes deux infos value et value2.
Ainsi a la fin, je dois obtenir une serie d'intervalle pour chaque Key, dont les bornes seront inclus dans ceux de ma liste 1, et auxquels seront associe les combinaisons de valeurs de Value 1 et value 2.

J'espere que j'ai su me montrer plus explicite :s

Merci en tous cas de t'interesser a mon soucis.

Arkaos
 

Arkaos

XLDnaute Nouveau
Re : Comparaison de valeurs associees a des intervalles differents

Bonjour mapomme,

C'est n'effectivement qu'un debut de reponse seulement, mais je ne minimiserai pas la chose car vu le temps que j'ai passe a essayer de resoudre ce soucis sans succes de mon cote, c'est deja un rayon de soleil dans ma journee. Un grand merci a toi donc!

Il se fait tard de mon cote du monde, mais je vais jeter un oeil a ce que tu as fait et essayer de comprendre et d'apprendre.

Merci encore,

Arkaos
 

mapomme

XLDnaute Barbatruc
Supporter XLD
Re : Comparaison de valeurs associees a des intervalles differents

Bonjour Arkaos, le forum,

Une version v2:

  • qui traite l'ensemble des données sources.
  • dont le résultat est conforme au tableau souhaité.
  • qui utilise une feuille masquée nommée "aux"
  • qui n'a pas été testée avec d'autres jeux de données et notamment avec 20 000 lignes de données
  • qui n'est pas commentée (mais c'est possible si demandé gentiment :eek:)



[...] Il se fait tard de mon cote du monde [...]
Mais où donc vis tu de ton coté du monde :confused: ?

EDIT: préférer la version v3 ICI dont quelques bogues ont été corrigés et au code commenté.
 
Dernière édition:

mapomme

XLDnaute Barbatruc
Supporter XLD
Re : Comparaison de valeurs associees a des intervalles differents

Bonjour Arkaos, le forum,

Une version v3:

  • qui traite l'ensemble des données sources.
  • dont le résultat est conforme au tableau souhaité.
  • qui utilise une feuille masquée nommée "aux"
  • qui n'a pas été testée avec d'autres jeux de données et notamment avec 20 000 lignes de données
  • dont le code est commenté
  • qui corrige quelques coquilles (notamment dans les tris des tableaux sources et dans la valeur d’un indice q)
  • dont la vitesse d'exécution n'est certainement pas optimale.
 

Pièces jointes

  • Arkaos-Excel_question v3.xlsm
    31.4 KB · Affichages: 36

Arkaos

XLDnaute Nouveau
Re : Comparaison de valeurs associees a des intervalles differents

Bonjour,

J'ai pu tester cette derniere version et aucun "bug" a deplorer pour ce que j'ai pu voir, tout roule.
Le seul petit soucis, qui n'en est pas vraiment un puisque issu d'un manque de precision de ma part a l'origine, c'est que cela plante quand dans ma premiere liste des intervalles sont renseignes par des valeurs par defaut (-999 si la position de ma donnee est inconnue). Mais je peux regler ca tres facilement en amont et derriere, ca tourne sans aucun soucis! Puis, ca me fera un petit exercice perso, pas trop complique que d'ajouter ce code la au tien :D

Encore une fois, un grand merci a toi donc et au reste de la communaute par la meme occasion pour le temps passes ici a aider ceux qui n'ont pas, encore, leurs competences.

Arkaos, heureux!!

PS: pour repondre a ta question, pour le moment je reside au Kazakhstan, d'ou mes problemes du moment avec les accents ;)
 

mapomme

XLDnaute Barbatruc
Supporter XLD
Re : Comparaison de valeurs associees a des intervalles differents

Bonjour Arkaos,


[...] J'ai pu tester cette derniere version et aucun "bug" a deplorer pour ce que j'ai pu voir, tout roule. [...]

Hé non! Tout ne roule pas. Je n'avais pas traité le cas où l'intersection des tableaux A et B retourne un tableau vide :mad:.

La version v5 doit corriger ce cas. En espérant qu'il ne subsiste pas d'autres petits cailloux dans la chaussure...
 

Pièces jointes

  • Arkaos-Excel_question v4.xlsm
    33.6 KB · Affichages: 38

Arkaos

XLDnaute Nouveau
Re : Comparaison de valeurs associees a des intervalles differents

Arf!!

Je pensais pourtant avoir teste la chose en ne donnant aucune correspondance a ma liste 1 dans la 2. Pas ete assez exhaustif dans mes tests!
En tous cas bien vu de ta part, d'autant plus que si ce n'est pas le cas avec mon probleme en cours, ca pourra l'etre tres prochainement.

Du coup, je te remercie a nouveau d'etre revenu sur la chose.

J'en profite pour te remercier aussi au sujet des commentaires dans ton code> Avec ceux-ci et le code lui-meme, j'ai deja appris quelques fonctions des plus interessantes :D

Bonne fin de journee a toi!

Arkaos
 

pierrejean

XLDnaute Barbatruc
Re : Comparaison de valeurs associees a des intervalles differents

Re

Salut mapomme
Excuse moi si j'ai un peu squatté ton fichier : cela m'a évité de créer un jeu d'essai
Voici donc ma version a base de tableaux (pas testée pour 20 000 lignes!! est-ce que le transpose passe bien ???)
Par ailleurs j'essaie de comprendre ta version
@ ArKaos (si utile je peux commenter )
 

Pièces jointes

  • Arkaos-Excel_question v4+.xlsm
    38.9 KB · Affichages: 37
  • Arkaos-Excel_question v4+.xlsm
    38.9 KB · Affichages: 43
  • Arkaos-Excel_question v4+.xlsm
    38.9 KB · Affichages: 29

mapomme

XLDnaute Barbatruc
Supporter XLD
Re : Comparaison de valeurs associees a des intervalles differents

Bonsoir pierrejean,


[...] Excuse moi si j'ai un peu squatté ton fichier : cela m'a évité de créer un jeu d'essai [...]
Aucun problème, c'est le principe du forum. Ce qui est public est public !

J'étais parti sur une idée juste pour voir si cela répondait au souhait d'Arkaos avec une présentation du résultat légèrement différente de la sienne. Ensuite j'ai eu la flemme de tout faire en tableau et j'ai persévéré dans la première méthode assez tarabiscotée :confused:. Je savais bien que le passage par tableau s'imposerait pour simplifier la méthode et accélérer le traitement pour de gros volume.

En fait je suis très heureux :) que tu te sois attelé à la tâche car, malgré tout, ça me démangeait de le faire.

A très bientôt sur le forum :).
 

Arkaos

XLDnaute Nouveau
Re : Comparaison de valeurs associees a des intervalles differents

Bonjour pierrejean,

Merci de t'interesser egalement a mon soucis. J'ai pu tester ce matin avec ta methode et la vitesse de traitement est vraiment impressionnante. Par contre, dans le tableau de resultat, des doublons sont generes. A priori, autant de doublons pour chaque valeur de key identique dans ma premiere liste. J'avoue ne pas comprendre pour le moment d'ou cela peut venir exactement d'autant plus que cela ne fait pas avec les exemples initiaux, mais seulement quand je fais le test avec ma vraie liste de donnees.

J'essaierai de faire d'autres tests dans l"apres-midi.

Pour le reste, j'ai l"impression d'abuser mais si effectivement tu trouves un moment pour commenter ton code, je suis preneur. J'aimerai faire de serieux progres en la matiere et cela s'avere tres utile :s

Encore merci

Arkaos
 

pierrejean

XLDnaute Barbatruc
Re : Comparaison de valeurs associees a des intervalles differents

Re

Voici la version commentée
Peux-tu créer un fichier exemple présentant les doublons générés (en anonymisant quelques lignes de ton vrai fichier ) ?
 

Pièces jointes

  • Arkaos-Excel_question v4+.xlsm
    39.6 KB · Affichages: 25
  • Arkaos-Excel_question v4+.xlsm
    39.6 KB · Affichages: 37
  • Arkaos-Excel_question v4+.xlsm
    39.6 KB · Affichages: 39

Statistiques des forums

Discussions
312 305
Messages
2 087 085
Membres
103 461
dernier inscrit
dams94