Créer un "arbre" à partir d'1 base de données

sabdani Messages postés 26 Statut Membre -  
Heremion Messages postés 564 Statut Membre -
Bonjour,

Je viens de nouveau chercher un peu d'aide. J'ai une base de données dans laquelle ma colonne B contient des numéros, dont certains sont indépendants et d'autres sont liés. Je m'explique : les numéros de la colonne B sont en fait des identifiants d'échantillons. Ces échantillons peuvent être soit des échantillons d'origine soit des échantillons provenant d'autres échantillons déjà listés auparavant dans cette meme base de donnees. Si un echantillon provient d'un autre, le numero de l'echantillon précédent est listé dans une colonne. Ce que je voudrais faire est retrouver la "suite logique" de tous les échantillons que je possède pour un même échantillon d'origine, sachant que parfois, à partir d'un échantillon, plusieurs nouveaux échantillons sont crées. Petite illustration
Col A : ID Echantillon Col B : Echantillon d'origine Col C : Echantillon précédent
A B C
1 A
2 B
3 C
4 A 1
5 A 1
6 B 2
7 A 4
8 A 4
9 A 5

Je voudrais que pour l'échantillon A, excel me renvoie quelquechose comme

A 1 4 7
8
5 9

Je ne vois pas comment faire ça avec une formule donc je pense qu'il faut que je passe par une macro. Seulement je suis novice là dedans donc avant de me lancer dans ce casse tête j'aimerais déjà savoir s'il est possible d'obtenir ce résultat.
Merci d'avance

A voir également:

1 réponse

Heremion Messages postés 564 Statut Membre 102
 
Bonjour Sabdani,

Dans une macro, par exemple sur le Worksheet.SelectionChange, tu peux mettre le code suivant :

Dim imax, i

    imax = Range("A65536").End(xlUp).Row
    For i = 1 To imax
        If Cells(i, 1) = "A" Then
            Cells(1, 3).Value = Cells(1, 3).Value & " " & i
        End If
    Next i


Ce code va regarder dans la colonne A, si la cellule contient la valeur "A" alors il met dans la cellule D1 la ligne où il l'a trouvé. En l'occurence, dans ton exemple, en D1, tu auras 1 4 5 7 8 9
0