XL 2019 fonction récursive remonter à la source du manquant nomenclature

ApprentieDranreb

XLDnaute Nouveau
Bonjour,
je suis nouveau dans le forum et je compte sur votre compréhension et votre aimabilité.
çela fait un petit moment que j'essaie de mettre en place une fonction récursive à intégrer à plusieurs niveau
c'est à dire mes champs sont dans les cellules
i = 14
G & i et L & i
variable1
tant que G & i <> L & i
variable1 = L & i
je viens chercher cette variable dans la colonne G & i
si je la trouve 1 résultat
' je créer un entête niveau 1.0
je copie ça correspondance de la colonne L & i dans une nouvelle cellule AD & i
' je créer un entête niveau 1.1
si je la trouve 2 résultats
je copie ça correspondance de la colonne L & i dans une nouvelle cellule AE & i
...........

sachant que le resultat lui meme peut avoir avec un père également et si c'est le cas

' je créer un entête niveau 2.0
je copie ça correspondance de la colonne L & i dans une nouvelle cellule A... & i cela dépend de combien de résultat j'ai trouver j'ai trouver.


MODELE TABLEAU DE BORD
Colonne GColonne LNiveau 1.01.11.22.03.03.1
AXXYZKLM
AY
AZK
ZKLM
KL
KM

j'espère être assez claire sinon n'hesitez pas à me demander plus d'explication
 

Dranreb

XLDnaute Barbatruc
Qu'est-ce qui n'est pas juste dans la descendance du dernier fichier ?
Je n'ai pas envie de vous l'écrire avec un nombre indéterminé de groupes de 19 champs. Ça me paraît complètement imbitable.
Et en ajoutant une colonne indiquant le niveau d'imbrication en plus du parent immédiat, ça n'irait pas non plus avec un seul jeu de 19 colonnes fils ?
Quelles sortes d'analyse escomptez vous pouvoir en tirer, ensuite, par exemple, qu'on puisse voir comment on pourrait les tirer de la collection ?
 

ApprentieDranreb

XLDnaute Nouveau
Je regrette sincèrement de devoir solliciter davantage, mais il est impératif que je diffuse les informations relatives à cette lignée à chaque niveau. Comme vous l'avez expliqué dans les messages précédents, il n'est pas possible de simplement copier le numéro de ligne et, au moment de la rédaction, vérifier s'il s'agit d'un ancêtre, extraire les colonnes de 1 à 19 et les placer devant ce niveau. Dans le cas contraire, il faut extraire les colonnes de 20 à 38 jusqu'à atteindre le dernier niveau. Si la variabilisation des en-têtes est trop complexe, nous pouvons partir du principe que nous avons nativement 6 niveaux * 19 = 114 colonnes.

Si cela semble trop laborieux, veuillez s'il vous plaît indiquer les étapes pour ajouter deux champs supplémentaires, et je vais essayer de les adapter pour les 38 champs.
PèreDsg pèreLibellé 3 pèreLibellé 4 pèreFilsDsq filsLibellé 3 FilsLibelle 4 fils
Colonne GColGColXColyColonne LColLColQColF
 

Dranreb

XLDnaute Barbatruc
Je n'ai jamais proposé de sortir le n° de ligne. Celui ci est seulement porté dans les objets et les collections.
Il permet de retrouver le détail des informations relatives à une chose en vue de l'afficher temporairement.
Mais à mon avis dans le résultat il ne faut pas que tout soit porté tout le temps, c'est illisible, on n'a plus aucune vue d'ensemble. Par contre afficher sur demande le détail d'une chose dans un UserForm quand on sélectionne une cellule qui la concerne, ça oui.
 
Dernière édition:

Dranreb

XLDnaute Barbatruc
Bon.
Je vous l'ai sorti comme vous le demandiez, mais je trouve ça franchement inexploitable. Même dans les données d'ailleurs, il y a tellement de colonnes qu'on ne peut presque même pas voir le nom du fils en même temps que le nom du père. Or ce serait judicieux pour pouvoir comprendre les messages d'erreurs que vous avez dans les données …
Il vaudrait mieux n'afficher que 2 ou 3 colonnes par niveau, et mettre en place un système pour n'afficher que sur demande les détails. On pourrait par exemple afficher plutôt verticalement toute la lignée décrite sur une ligne sélectionnée du synoptique.
 

Pièces jointes

  • thedarkness.elhitmy4.xlsm
    84.9 KB · Affichages: 1

Discussions similaires

Réponses
8
Affichages
789

Statistiques des forums

Discussions
314 730
Messages
2 112 275
Membres
111 486
dernier inscrit
fanchon30