Comparer toute les lignes d'un tableau excel

Fermé
Sieg - 27 févr. 2008 à 11:01
Fxbrg Messages postés 710 Date d'inscription samedi 17 mars 2007 Statut Membre Dernière intervention 16 novembre 2013 - 5 mars 2008 à 12:42
Bonjour,


J'ai un ensemble de donnée que je cherche a comparer les unes avec les autres et je ne trouve aucun formule correspondante sous excel, on ma conseil de me rabattre sur les macro mais je n'ai aucune connaissance dans ce domaine donc j'en appel a vous.

Mes données sont des génotypes a comparer (biologie), se présentant dans un tableau excel fait par mes soins ^^

Le format du tableau et de ce type

Nom des individus en colonne A à partir de A2
Génotype premier gene colonne B et C à partir de B2 et C2

avec 6genes étudiés donc au totale 12colonnes a comparer entre chaque individus sur environ 200 individus.

Le but serait de comparer chaque individus a tous les autres et de me signaler en couleur par exemple les individus ayant les même valeur pour tous les génotypes en même temps ...

Comme je doute d'etre trés clair je vous donne un exemple concret :

Nom géno1 Géno2 Géno3 Géno4 Geno5 Géno6
ind1 106 106 230 230 301 304 110 105 243 244 321 367
ind2 107 106 236 230 301 304 110 109 243 244 321 367
ind3 106 106 230 230 301 304 110 105 243 244 321 367


Les individus 1 et 3 sont identiques donc il faudrait me les mettre en couleur.


Voila j'espère que c'est assez clair comme cela.


Merci a vous.

44 réponses

Fxbrg Messages postés 710 Date d'inscription samedi 17 mars 2007 Statut Membre Dernière intervention 16 novembre 2013 199
27 févr. 2008 à 18:09
Petit détail : mets j=3 à la ligne 4, pour éviter la couleur blanche...

Ca devrait fonctionner avec 150 lignes, mais pour mille ou plus, donc un grand nombre de correspondance, ça va coincer, vu que la palette de couleur n'est pas infinie...Il faudra peut-être utiliser un code couleur Et un code numérique (en colonne N par exemple, mettre un nombre...

C'est un premier pas, à améliorer :-)

Bon courage,

JF
0
Fxbrg Messages postés 710 Date d'inscription samedi 17 mars 2007 Statut Membre Dernière intervention 16 novembre 2013 199
28 févr. 2008 à 00:52
Je viens de regarder, il y a 58 couleurs dans la palette, mais certaines sont inutilisables (blanc, noir et autres très foncées), bref, ça laisse une petite cinquantaine de couleurs différentes, il ne faudrait donc pas qu'il y ait plus d'association que ça...sinon il faudra trouver une alternative (changer la police par exemple en plus de la couleur par exemple, ce qui multiplie le choix par trois)

@+,

JF
0
Raymond PENTIER Messages postés 58764 Date d'inscription lundi 13 août 2007 Statut Contributeur Dernière intervention 19 décembre 2024 17 256
28 févr. 2008 à 05:55
Tout ça est bien trop compliqué pour moi.
J'aurais fait, comme l'indique Vaucluse au post 5, une concaténation en colonne 14, puis un tri par rapport à cette dernière ; avec une petite formule en colonne 15 du style =SI(N3=N2;"Doublon";"Unique") recopiée jusqu'en bas.
Et si vraiment tu veux de la couleur, tu bases ta condition sur le mot affiché colonne 15. Une seule couleur suffit !
Ce n'est pas valable ?
0
Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 6 418
28 févr. 2008 à 07:39
Salut Raymond

Je suis un peu d'accord avec toi, mais utiliser une seul couleur ne permettra pas d'identifier les regroupements de code différents.

Ceci dit, j'ai du mal à imaginer comment on peut identifer les groupes de multiples avec 58 couleurs dans un tableau de 1000 lignes. Il va falloir avoir le sens de la nuance!

Je pense qu'il serait préférable et plus facile de lister dans d'autres champ, par regroupement de codes identiques, les individus concernés.

Ou peut être tout simplement de faire ensuite un tri (ou éventuellement un filtre) à partir de la colonne "concatenée" pour regrouper les codes identiques les uns à la suite des autres!

BCRDLMNT
0
Raymond PENTIER Messages postés 58764 Date d'inscription lundi 13 août 2007 Statut Contributeur Dernière intervention 19 décembre 2024 17 256 > Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022
28 févr. 2008 à 14:13
Mais c'est très exactement ce que j'ai proposé ! Est-ce que tu deviendrais distrait, ami Vaucluse ?
Et une seule couleur suffit pour mettre en évidence les séquences identiques, puisqu'elles sont regroupées par le tri.
0
Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 6 418 > Raymond PENTIER Messages postés 58764 Date d'inscription lundi 13 août 2007 Statut Contributeur Dernière intervention 19 décembre 2024
28 févr. 2008 à 16:13
Excuses Raymond, ça m'avait échappé. J'ai v quelques problèpmes ces temps ci suite à une chute, ça laisse des traces
CRDLMNT
0
Raymond PENTIER Messages postés 58764 Date d'inscription lundi 13 août 2007 Statut Contributeur Dernière intervention 19 décembre 2024 17 256 > Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022
28 févr. 2008 à 17:00
OK, et désolé ! Je te souhaite prompt et complet rétablissement.
0
Fxbrg Messages postés 710 Date d'inscription samedi 17 mars 2007 Statut Membre Dernière intervention 16 novembre 2013 199
28 févr. 2008 à 08:56
Salut Raymond et Vaucluse,

Les 58 couleurs (ou 50 utilisables) sont des couleurs "primaires", relativement facilement identifiables... Pour les voir, créer un bouton dans une feuille vierge et coller ce code derrière le bouton :

Private Sub CommandButton2_Click()
Dim n As Integer
For n = 0 To 56
ActiveCell.Offset(n, 0) = n
ActiveCell.Offset(n, 0).Interior.ColorIndex = n
Next
End Sub

Ceci dit, je suis assez d'accord avec vous, il faudra peut-être regrouper les groupes de lignes identiques sur une autre feuille, par ordre à définir... Mais ça c'est Sieg qui va le dire :-)
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
désolé de pas suivre plus que ca mais c'est qu'une partie de mon boulot ^^


Donc j'ai tester la macro d'hier, avec l'ensemble du fichier ca avait l'air de marcher et donc j'ai pas insister hier soir, par contre en re-regardant ce matin je me suis rendu compte que les comparaison sont pas génial, visiblement il ne compare pas toutes les colonnes de chaque ligne vu qu'il me trouve des doublons qui n'en sont pas (juste 1ou 2 génotype différent, soit 1 a 2cases différentes mais quand même ^^)

Par contre on ma aussi fournit une macro appeller GenAlex qui visiblement a été fait spécialement pour le génotype biologique ... bon ca a pas l'air évident et je pense bien trop pousser pour ce que je veux (ca semble combiner des étude statistiques et des ratio d'erreur pour chaque valeur ce qui me donnerais plus d'informtaion a traiter qu'au départ ^^).


Je devais vraiment pas etre au mieux de mon attention hier car je viens seulement de comprendre l'idée de concatenée les valeurs et de trier, oui ca ne donne pas de couleur mais il y a peut-etre possibilité de regler la question.
Je vais m'essayer a ca tout de suite et je vous tient au courant.


Merci de votre aide encore une fois ^^
0
Ah désolé oublier de préciser que le nombre de couleur a pas d'influence, je ne suis pas du tout sencer en retrouver en fait, chaque doublon est une possible erreur de manip ou alors de lecture et d'interprétation de mes donées brutes (avant le fichier excel ^^)

Donc je l'espère même sur 1000individus je ne devrais pas avoir plus de ... 15-20doublons maxi ... enfin j'espère ^^
0
Raymond PENTIER Messages postés 58764 Date d'inscription lundi 13 août 2007 Statut Contributeur Dernière intervention 19 décembre 2024 17 256
28 févr. 2008 à 17:36
Suite à mon post 25, voici un fichier de démonstration : https://www.cjoint.com/?cCrIzwk82E
0
Fxbrg Messages postés 710 Date d'inscription samedi 17 mars 2007 Statut Membre Dernière intervention 16 novembre 2013 199
28 févr. 2008 à 17:36
Salut :-)

Tu peux me faire passer (ou mettre ici) un exemple de doublon trouvé qui n'en est pas? Il doit y avoir une erreur de frappe quelque part, sinon il n'y a pas de raison qu'il ne trouve pas les doublons...:-) Ou alors, comme dans ton fichier exemple, tu as des cases vides, il se peut que la concaténation donne une valeur identique alors que les cases sont différentes...

15/20 couleurs c cool... :-)
0
Fxbrg Messages postés 710 Date d'inscription samedi 17 mars 2007 Statut Membre Dernière intervention 16 novembre 2013 199
28 févr. 2008 à 17:45
Salut Raymond,

Ton fichier est cool et simple, mais comme dit Sieg plus haut, il se peut qu'il ait des triplons ou pire, et il se peut aussi que deux paires de doublons soient à la suite, ce qui, une fois triés, les mettraient tous à la suite, pas facile à lire quoi est égal à quoi... :-)

Et si les doublons trouvés qui n'en sont pas sont liés aux cases vides, le problème sera le même, macro ou directement dans la feuille. J'attends de voir la réponse de Sieg...

:-)
0
Bon alors visiblement la combinaison concaténasion + formule si comme nous la donner Raymond fonction pas trop mal, maintenant il me suffirait juste de réussir a renvoyer les noms des individus ayant le même génotype (le noms des doublons quoi) dans une autre feuille excel, ca m'éviterais d'avoir a faire défiler toute ma liste ...

Vous voyez une possibilitée ? en cherchant dans les formules excel je trouve rien qui me permette de lier une case en fonction d'une condition validé dans une cellule d'une colonne ...

Par exemple ici j'ai gentillement demander qu'il me note le nom des deux individus ... bon en fait voila la formule que j'ai utilisé :
=SI(T5=T4;SI(T5="";"";(CONCATENER(A4;" ";A5;" Doublon")));SI(T5="";"";"Unique"))

T car j'ai compter en prennant 24génotype soit 12cases appeller locus qui contient chacun deux génotypes ^^, maintenant c'est beau mais ca m'oblige a défiler, il n'est pas possible de renvoyer sur la feuille2 les valeurs A4 A5 de mon exemple si la case ou est écrite la formule contient déja A4 A5 doublon ???



Je travail a lier le fichier pour te montrer les lieux d'erreur.
0
Raymond PENTIER Messages postés 58764 Date d'inscription lundi 13 août 2007 Statut Contributeur Dernière intervention 19 décembre 2024 17 256
28 févr. 2008 à 19:26
Je te propose une manière simple (et même simpliste) de ne lire que les noms concernés par des doublons, en Feuil2.
Tu peux ensuite faire un filtre sur la colonne A.
https://www.cjoint.com/?cCtzYwFFoJ
0
Vous etes trop réactif ^^


Oui effectivement je n'ai pas pensé a vérifier si en triant puis avec la formule SI il arriverais a me détecter des triplons voir + et même des doublons accolé ... je dois vérifier ca encore, je te lie le fichier dans ma prochaine réponse pour que tu puisse te faire une idée du probleme.
0
Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 6 418
28 févr. 2008 à 18:37
Re
je n'ais pas eu le temps de voir votre fichier mais je vous propose, à partir des suppositins suivantes:


Votre concaténation en colonne X de X2 à X200


=SI(NB.SI(X:X;X2)=1;1000;NB.SI($X$2:$X$200;X2)-NB.SI($X3:$X$200;X2))

Ainsi les codes identiques seront "incrémentés" à -1 à chaque fois et les codes seuls seront affectés de 1000 dans la colonne Y
Quand vous faires le tri, d'abord sur la colonne X et ensuite sur la Y vous aurez un tableau avec les codes identiques qui se suivent, plus une colonne qui vous donnera le N° d'ordre de la ligne, la limite du changement de code étant à 1
Vous pourrez donc identifier par formatage toutes les lignes où Y est égal à1 pour situer les chagngement de ligne de code
Attention aux signes, dans la 2° parrtie de la formule, il faut que le champ du dernier NB.SI soit en continu nune ligne en dessous pour que la formule fonctionne.(d'où le $X2
(Nombre de code dans le champ - nombre de code en dessous de la ligne)
BCRDLMT
0
Voila les lignes déja colorier qui me pose probleme, je ne sais vraiment pas d'ou cela peut venir ...


vraiment navré de vous mettre autant a contribution mais la formation excel j'y ai pas eu le droit ^^ donc je bidouille avec les formules mais les macros c'est vraiment, mais vraiment pas pour moi ...
http://www.cijoint.fr/cjlink.php?file=cj200802/cij8699252555842.xls

Fin de journée pour moi, je passerais peut-etre ce soir vous lire mais sinon bonne soirée a vous et a demain ^^
0
Fxbrg Messages postés 710 Date d'inscription samedi 17 mars 2007 Statut Membre Dernière intervention 16 novembre 2013 199
28 févr. 2008 à 18:32
Voila la bête :

- Les doublons qui n'en sont pas : corrigé, il s'agissait d'un mauvais format de variable (en gros, la variable valait du genre 1.00104.10 puissance 35, la comparaison ne se faisait que sur les premiers chiffres...)

- le fichier copie maintenant, en les associant, les doublons ou triplons ou plus sur la feuille 2... Le bouton Reset remet les couleurs à 0 ET efface la feuille 2.

Voici le lien : http://www.cijoint.fr/cjlink.php?file=cj200802/cij9492483465819.xls

Dis-voir si ça roule :-)
0
EXCELLENT ^^


Désolé a Vaucluse et a Raymond qui se sont donné du mal mais je pense rester sur la macro de Fxbrg (pas fait attention si tu avais un petit nom désolé ^^)

Elle fait trés exactement ce que je veux et en plus de maniere vraiment visuelle, un vrai bonheur pour les yeux et en terme d'efficacite ...

Un grand merci a vous tous pour votre aide précieuse, pour l'instant je ne vois rien d'autre mais je pense que vous aurez un jour ou l'autre de mes nouvelles ^^, rapide et efficace ca me plait beaucoup ...


Bonne journée a vous et a bientot (enfin peut-etre pas trop tot ca voudrais dire que je suis encore embéter ^^)
0
Fxbrg Messages postés 710 Date d'inscription samedi 17 mars 2007 Statut Membre Dernière intervention 16 novembre 2013 199
29 févr. 2008 à 10:57
Cool :-)

Au moins avec toi on travaille pour la science...lol

JF
0
Et oui, et même a la survie d'une espèce ..... de plante ^^.

J'ai essayer d'éviter les termes technique mais bon c'était pas gagner au départ ^^ ...

En plus pour ta satisfaction personnel tu peux savoir que ta macro devrait pas mal tourner dans le Labo ^^, et oui stoujours comme ca les besoins sont la mais peu cherche ..
0
J'ai encore une petite question t'en qu'a faire ^^


J'aimerais savoir/comprendre la maniere dont la macro est construite parce que les 6locus actuels (ce que j'ai appeller locus dans la feuil excel) devrait doubler voir tripler ... Donc est-ce qu'elle prend en compte toute la ligne ou juste les colonnes jusqu'a M ?
0
Oui en fait j'ai posé la question trop vite, car même sans rien connaitre a VB ca m'a pas été trop difficile d'avoir ma réponse et de savoir quoi changer et comment ...

tu prend simplement jusqu'a i, 13 suffit de pousser aussi loin qu'on veut ...

Bref derniere question est idiote désolé ^^
0
Fxbrg Messages postés 710 Date d'inscription samedi 17 mars 2007 Statut Membre Dernière intervention 16 novembre 2013 199
29 févr. 2008 à 13:58
Salut :-)

Pour l'instant, la macro ne prend en compte que les colonnes B à M.

Voici la version qui prend en compte TOUTES les colonnes, quelles qu'elle soient, il faut donc impérativement que tu n'aies que des locus dans cette feuilles, rien d'autre, sinon les concaténations et comparaisons vont pas le faire :-)

http://www.cijoint.fr/cjlink.php?file=cj200802/cij671435795948.xls

La macro prend maintenant en charge toutes les lignes, quel que soit leur nombre, et toutes les colonnes, quel que soit leur nombre...

:-)
0
Salut,


Je dois avouer ne pas avoir tester la version "toutes colonnes" vu que j'ai toujours des annotations sur le ou les cotés, par contre et vous allez etre content j'aurais encore besoin d'un peu d'aide ^^...

J'aimerais savoir ce qu'il faut que je change pour que ce qu'il me fait actuellement, a savoir comparer chacune des lignes avec toutes les autres, deviennent "comparer la premiere ligne avec toutes les autres mais seulement une colonne a la fois" ... Bref je suis pas trés clair donc exemple ^^

http://www.cijoint.fr/cjlink.php?file=cj200803/cij63819616210.xls

Dans le fichier les cases coloriées correspondent au fait que parmis les deux nombres present chez le descendant aucun de ceux ci ne se retrouve chez la Mère (ou plutot que ce qu'on trouve chez la Mère on le retrouve pas chez le descendant alors qu'on devrait retrouver au moins l'un des deux ...)

Donc ce que je voudrais c'est dans le même style que la macro précédente, a savoir comparer la mère a tous les descendant et si je ne retrouve pas au moins une des deux valeur pour chaque locus étudié alors me le signaler ^^


Dites voir messieurs les macrotistes c'est faisable ca ?
0