Matrice carrée

Résolu/Fermé
nicodrum Messages postés 147 Date d'inscription samedi 29 novembre 2008 Statut Membre Dernière intervention 19 décembre 2014 - 9 sept. 2009 à 17:36
nicodrum Messages postés 147 Date d'inscription samedi 29 novembre 2008 Statut Membre Dernière intervention 19 décembre 2014 - 10 sept. 2009 à 18:16
Bonjour à tous,

je cherche à constituer une matrice carré à partir d'une autre base de données. Je m'explique plus précisément. Je possède une base de données contenant des auteurs (1ère colonne) et la référence (un nombre) de leur projet commun (2ème colonne).

Je cherche donc à créer une matrice carré avec donc les auteurs en ligne et en colonne. L'intersection de 2 noms serait le nombre de projet qu'ils ont en commun. exemple:

La base de données que je possède

A 1
B 1
C 2
D 2
A 3
E 3

et celle que je voudrais

A B C D E
A - 1 0 0 1
B 1 - 0 0 0
C 0 0 - 1 0
D 0 0 1 - 0
E 1 0 0 0 -

Est-ce que cela est possible? Ma base de données est sur Excel et est constituée de plus de 9000 lignes.

Merci d'avance pour toutes vos idées et suggestions.

Nico

8 réponses

michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 303
9 sept. 2009 à 18:03
Bonjour,

Avant de me shooter au doliprane, petite question à p+q+n+1 Euros
Les auteurs peuvent ils être plus de 2 sur un m^me projet ?

loin d'être sûr pour moi de pouvoir de proposer une solution! (9000 lignes ==> VBA)
0
nicodrum Messages postés 147 Date d'inscription samedi 29 novembre 2008 Statut Membre Dernière intervention 19 décembre 2014 19
9 sept. 2009 à 20:06
oui, absolument, le nombre d'auteurs par projet n'est pas limité.

Ok pour VBA, une petit indication...?

Merci pour tout

Nicolas
0
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 303
9 sept. 2009 à 23:08
normalement, je devrais te proposer une solution demain dans la journée ou soirée (pour les N co-auteurs, je m'en doutais un peu, mais...)
0
nicodrum Messages postés 147 Date d'inscription samedi 29 novembre 2008 Statut Membre Dernière intervention 19 décembre 2014 19
10 sept. 2009 à 12:25
bonjour,

j'ai une solution possible. En fait, j'avais besoin de faire une matrice carrée pour une analyse réseau. Il est donc possible de faire dans un premier temps, à partir des données que j'avais, une matrice bipartite (facilement réalisable sous excel avec les tableaux croisés dynamiques) puis dans un deuxième temps, de transformer la matrice bipartite en matrice carré à l'aide d'un logiciel d'analyse de réseau. J'ai utilisé dans le cas présent UCINET (data > affiliation). La matrice carrée peut être facilement retransférable sous Excel en enregistrant sous .xls

Merci de vous être penché sur mon cas :)

Nico
0

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

Posez votre question
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 303
10 sept. 2009 à 14:11
bonjour,

Ci joint la bête maintenant que le forum CCM semble re-fonctionner (??? plusieurs essais depuis la fin de matinée….)
https://www.cjoint.com/?jklY2xIJdH

Bon, ton message 12:25 me dit que je me suis encore cassé la t^te pour rien... Tant pis, je l'envoie quand m^me
mais je crois que je vais arr^ter l'entraide sur les forums
0
nicodrum Messages postés 147 Date d'inscription samedi 29 novembre 2008 Statut Membre Dernière intervention 19 décembre 2014 19
10 sept. 2009 à 17:03
Salut,

merci bien pour ta solution, en fait tu ne t'es pas du tout cassé la tête pour rien, puisque ta solution fait gagner un temps précieux, pas de transfert logiciel en tout cas, donc moins d'erreur, etc. Est-ce qu'il y a une solution pour augmenter la capacité de la matrice, pour plus de ligne par exemple, ce qui ferait référence à plus de ligne et colonne sur la matrice carrée.

Merci pour ton aide

Nico
0
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 303
10 sept. 2009 à 17:56
si tu regardais la procédure, tu verrais que le nombre de ligne est paramétré jusqu'à la limite de l'integer, c.a.d. à 2^7 en augmentant toutefois la surface à nettoyer actuellement à 10000 lignes (tu parlais de 9000 lignes)
quant aux nombre d'auteurs il tient compte de la limite des colonnes, le Byte : 256 - j'ai XL<2003 - soit environ 250 auteurs puisque je démarre la matrice à E2.

D'ailleurs j'ai installé un chrono pour mesurer le temps de réalisation; à l'origine les messages, non passés de ce matin, te demandait d'effectuer l'expérience avec 9000 lignes sur 4 ou 5 essais mais comme tu as considéré que le problème était résolu....
0
nicodrum Messages postés 147 Date d'inscription samedi 29 novembre 2008 Statut Membre Dernière intervention 19 décembre 2014 19
10 sept. 2009 à 18:16
Bonsoir,

j'ai fait un petit test et j'obtiens une erreur d'exécution '6', donc capacité avec soit deux lignes en plus, soit deux lignes en moins et je ne sais pas le régler dans VBA. Mais en tout cas le principe est bien meilleur que le mien.

Nico
0