Donc voila :
Mon tableau au d=E9part contient les trois colonnes N=B0, Ref, N=B0 Amont.
Il s'agit donc de parcourir le tableau pour d=E9termin=E9 la racine de
chaque noeud, sachant qu'il peut y avoir plusieurs racines.
J'esp=E8re que c'est assez clair.
Merci =E0 ceux et celles qui voudront bien m'aider.
Donc voila : Mon tableau au départ contient les trois colonnes N°, Ref, N° Amont. Il s'agit donc de parcourir le tableau pour déterminé la racine de chaque noeud, sachant qu'il peut y avoir plusieurs racines.
J'espère que c'est assez clair. Merci à ceux et celles qui voudront bien m'aider.
Bonjour,
Cette procédure récursive permet d'obtenir tous les descendants d'un père. Je ne sais pas si cela peut t'aider.
Dim bdt, n, ligne Sub vpersonnes(parent, niv) ' procédure récursive ligne = ligne + 1 Range("B16").Offset(ligne, niv) = parent Range("B16").Offset(ligne, niv).Borders(xlEdgeLeft).Weight = xlThin Range("B16").Offset(ligne, niv).Borders(xlEdgeBottom).Weight = xlThin
For i = 1 To n If bdt(i, 2) = parent Then vpersonnes bdt(i, 1), niv + 1 End If Next i End Sub
Sub organigramme() Range("C17:M200").Clear ligne = 0 n = Application.CountA(Range("a:a")) - 1 bdt = Range("BD") vpersonnes Range("D2"), 1 End Sub
Donc voila :
Mon tableau au départ contient les trois colonnes N°, Ref, N° Amont.
Il s'agit donc de parcourir le tableau pour déterminé la racine de
chaque noeud, sachant qu'il peut y avoir plusieurs racines.
J'espère que c'est assez clair.
Merci à ceux et celles qui voudront bien m'aider.
Bonjour,
Cette procédure récursive permet d'obtenir tous les descendants d'un
père. Je ne sais pas si cela peut t'aider.
Dim bdt, n, ligne
Sub vpersonnes(parent, niv) ' procédure récursive
ligne = ligne + 1
Range("B16").Offset(ligne, niv) = parent
Range("B16").Offset(ligne, niv).Borders(xlEdgeLeft).Weight = xlThin
Range("B16").Offset(ligne, niv).Borders(xlEdgeBottom).Weight =
xlThin
For i = 1 To n
If bdt(i, 2) = parent Then
vpersonnes bdt(i, 1), niv + 1
End If
Next i
End Sub
Sub organigramme()
Range("C17:M200").Clear
ligne = 0
n = Application.CountA(Range("a:a")) - 1
bdt = Range("BD")
vpersonnes Range("D2"), 1
End Sub
Donc voila : Mon tableau au départ contient les trois colonnes N°, Ref, N° Amont. Il s'agit donc de parcourir le tableau pour déterminé la racine de chaque noeud, sachant qu'il peut y avoir plusieurs racines.
J'espère que c'est assez clair. Merci à ceux et celles qui voudront bien m'aider.
Bonjour,
Cette procédure récursive permet d'obtenir tous les descendants d'un père. Je ne sais pas si cela peut t'aider.
Dim bdt, n, ligne Sub vpersonnes(parent, niv) ' procédure récursive ligne = ligne + 1 Range("B16").Offset(ligne, niv) = parent Range("B16").Offset(ligne, niv).Borders(xlEdgeLeft).Weight = xlThin Range("B16").Offset(ligne, niv).Borders(xlEdgeBottom).Weight = xlThin
For i = 1 To n If bdt(i, 2) = parent Then vpersonnes bdt(i, 1), niv + 1 End If Next i End Sub
Sub organigramme() Range("C17:M200").Clear ligne = 0 n = Application.CountA(Range("a:a")) - 1 bdt = Range("BD") vpersonnes Range("D2"), 1 End Sub
Merci. J'ai finalement utilisé une méthode un peu plus draconienne...j'ai pas pu attendre une réponse. Je peux t'envoyer la méthode utilisé si tu veux.
Enfin merci quand même.
Merci.
J'ai finalement utilisé une méthode un peu plus draconienne...j'ai pas
pu attendre une réponse.
Je peux t'envoyer la méthode utilisé si tu veux.
Merci. J'ai finalement utilisé une méthode un peu plus draconienne...j'ai pas pu attendre une réponse. Je peux t'envoyer la méthode utilisé si tu veux.