regrouper des données

Le
Bertrand
Bonsoir à tous,

J'ai une base de données d'entreprises (20000 lignes) et je souhaite mettre
en evidence les liens d'actionnariat entre elles.
J'ai fait un petit exemple (fichier sur: http://cjoint.com/?cevoWYglI5 )

NOM SOCIETE ACTIONNAIRE
HOLTAU LARIVIERE
MECA ROULT
APC DES
LARIVIERE VOLFONY
VOLFONY MULL
ROULT DESENFAN



Je souhaiterais arriver à quelquechose du style:

NOM SOCIETE ACTIONNAIRE
HOLTAU LARIVIERE
LARIVIERE VOLFONY
VOLFONY MULL
ROULT DESENFAN
APC DES
MECA ROULT


Le tableau met en evidence que les 3 premieres sociétés ont un lien entre
elles (elle sont regroupées alors qu'elles ne l'étaient pas dans le tableau
de départ)

J'ai essayé de faire quelquechose avec un RECHERCHEV mais sans succès (je
n'arrive pas a trouver le moyen pour regrouper les données "liées" les une
apres les autres). Quelqu'un aurait une idée sur la maniére de procéder

Merci par avance de vos idées pour traiter le problème,
Bertrand
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Michel
Le #5283631
Salut,
un truc vite fait et teste selon ton exemple.
A toi de definir le nombre de ligne la ca va de la ligne 2 jusqu'a la ligne
7
@+
Michel.


Sub essai()

For I = 2 To 7
Range("A" & I).Select
ligne = I

col1 = Range("A" & I).Value
col2 = Range("B" & I).Value

Cells.Find(What:=col1, After:¬tiveCell, LookIn:=xlFormulas, _
LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:úlse).Activate
If ActiveCell.Column = 2 And ActiveCell.Row > I Then
Selection.Cut
Rows(I + 1).Select
Selection.Insert Shift:=xlDown
End If
Range("B" & I).Select

Cells.Find(What:=col2, After:¬tiveCell, LookIn:=xlFormulas, _
LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:úlse).Activate
If ActiveCell.Column = 1 And ActiveCell.Row > I Then
Rows(ActiveCell.Row).Select
Selection.Cut
Rows(I + 1).Select
Selection.Insert Shift:=xlDown
End If
Next I
End Sub


"Bertrand" news:47a77310$0$18052$
Bonsoir à tous,

J'ai une base de données d'entreprises (20000 lignes) et je souhaite
mettre en evidence les liens d'actionnariat entre elles.
J'ai fait un petit exemple (fichier sur: http://cjoint.com/?cevoWYglI5 )

NOM SOCIETE ACTIONNAIRE
HOLTAU LARIVIERE
MECA ROULT
APC DES
LARIVIERE VOLFONY
VOLFONY MULL
ROULT DESENFAN



Je souhaiterais arriver à quelquechose du style:

NOM SOCIETE ACTIONNAIRE
HOLTAU LARIVIERE
LARIVIERE VOLFONY
VOLFONY MULL
ROULT DESENFAN
APC DES
MECA ROULT


Le tableau met en evidence que les 3 premieres sociétés ont un lien entre
elles (elle sont regroupées alors qu'elles ne l'étaient pas dans le
tableau de départ)

J'ai essayé de faire quelquechose avec un RECHERCHEV mais sans succès (je
n'arrive pas a trouver le moyen pour regrouper les données "liées" les une
apres les autres). Quelqu'un aurait une idée sur la maniére de procéder

Merci par avance de vos idées pour traiter le problème,
Bertrand




Brunos
Le #5283621
J'ai une base de données d'entreprises (20000 lignes) et je souhaite mettre
en evidence les liens d'actionnariat entre elles.
J'ai fait un petit exemple (fichier sur: http://cjoint.com/?cevoWYglI5 )
NOM SOCIETE ACTIONNAIRE
HOLTAU LARIVIERE
MECA ROULT
APC DES
LARIVIERE VOLFONY
VOLFONY MULL
ROULT DESENFAN
Je souhaiterais arriver à quelquechose du style:
NOM SOCIETE ACTIONNAIRE
HOLTAU LARIVIERE
LARIVIERE VOLFONY
VOLFONY MULL
ROULT DESENFAN
APC DES
MECA ROULT
Le tableau met en evidence que les 3 premieres sociétés ont un lien entre
elles (elle sont regroupées alors qu'elles ne l'étaient pas dans le tableau
de départ)
J'ai essayé de faire quelquechose avec un RECHERCHEV mais sans succès (je
n'arrive pas a trouver le moyen pour regrouper les données "liées" les une
apres les autres). Quelqu'un aurait une idée sur la maniére de procéder


Bonsoir,
Voici une méthode (assez) simple, sans macro, pour faire apparaître des
liens, mais sans trier.
Dans ton exemple, les sociétés sont en colonne B, je nomme la liste
"societe". Les actionnaires sont en colonne C, je nomme la liste
"action".
On fait apparaître les liens en colonne A et D.
En colonne A, =INDEX(societe;EQUIV(B6;action;0)), apparaissent les
sociétés dont l'actionnaire est une société dans la colonne B.
En colonne D, =INDEX(action;EQUIV(C6;societe;0)), apparaissent les
actionnaires dont la société est un actionnaire dans la colonne C.

Exemple sur ton tableau : http://cjoint.com/data/cexwCYOjLm.htm
Dans l'exemple j'ai utilisé =SI(ESTNA(... pour éliminer les valeurs
#N/A qui ne font pas joli.
=SI(ESTNA(EQUIV(C6;societe;0));"";INDEX(action;EQUIV(C6;societe;0))).

--
Brunos

Bertrand
Le #5282901
Merci Michel et Bruno pour vos réponses.
Je vais regarder cela attentivement ce soir (et surtout essayer de
comprendre :) )


Bertrand

"Bertrand" news: 47a77310$0$18052$
Bonsoir à tous,

J'ai une base de données d'entreprises (20000 lignes) et je souhaite
mettre en evidence les liens d'actionnariat entre elles.
J'ai fait un petit exemple (fichier sur: http://cjoint.com/?cevoWYglI5 )

NOM SOCIETE ACTIONNAIRE
HOLTAU LARIVIERE
MECA ROULT
APC DES
LARIVIERE VOLFONY
VOLFONY MULL
ROULT DESENFAN



Je souhaiterais arriver à quelquechose du style:

NOM SOCIETE ACTIONNAIRE
HOLTAU LARIVIERE
LARIVIERE VOLFONY
VOLFONY MULL
ROULT DESENFAN
APC DES
MECA ROULT


Le tableau met en evidence que les 3 premieres sociétés ont un lien entre
elles (elle sont regroupées alors qu'elles ne l'étaient pas dans le
tableau de départ)

J'ai essayé de faire quelquechose avec un RECHERCHEV mais sans succès (je
n'arrive pas a trouver le moyen pour regrouper les données "liées" les une
apres les autres). Quelqu'un aurait une idée sur la maniére de procéder

Merci par avance de vos idées pour traiter le problème,
Bertrand




Publicité
Poster une réponse
Anonyme