Numérotation WBS avec formule ou VBA

Bonjour,

Je souhaite realiser une numérotation WBS (work breakdown structure) d'une arborescence.

Lorsque j'extrait l'arborescence suivante, j'ai seulement le texte, je n'ai pas la colonne de gauche que je fais moi même a la main.

les différents niveaux sont définit par la colonne dans lequel le texte est placé (sur excel), je souhaiterais donc me servir de cette régularité pour creer une formule permettant d'établir la numérotation automatiquement. Pour info il n'y a que 5 niveaux maximum dans mon arborescence.

J'éspère être assez clair ahah

Merci par avance pour votre aide

Vincent

Bonjour,

Tu mettrais un classeur, on pourrait travailler dessus !

Codialement.

Bonsoir,

Oui en effet désolé j'suis allé un peu vite pour rédiger le message j'ai pas pensé à insérer le tableau aha..

Réflexe de faire des mails .. :-/

En tout cas voici la version excel!

Merci pour votre aide

Bonsoir,

Le système qui me paraît le plus économique pour l'instant : 5 colonnes à masquer, 1 visible qui les concatène.

Cordialement.

En effet ça fait le boulot aha même si c'est pas tout simple a mettre en place.

En même temps si ça l'était je vous aurait peu être pas demandé

Merci pour ta réponse en tout cas M. Ferrand, je laisse le sujet ouvert encore un peu au cas ou quelqu'un trouve une solution plus simple ^^

++

Si je peux me permettre... cette solution est ce que j'ai trouvé de plus simple ! Ce qu'on recherche toujours est une solution plus compacte, mais qui a-priori n'est pas plus simple à réaliser (mais plus facile à utiliser une fois mise en place).

Attends, quelqu'un peut peut-être te concocter ça... !

En matière de chaîne, on arrive souvent à simplifier avec VBA, mais là je n'ai pas trouvé que ça pouvait aboutir à plus simple, et une fonction personnalisée aurait été moins simple à utiliser.

J'étais peut-être pas très en forme quand je me suis penché dessus, mais pas eu d'autre idée depuis !

Bonne continuation.

Aha ne t'en fait pas je remet pas en doutes tes talents, loin de là (puis même si c'était le cas mon jugement vaudrait pas grand chose ), et je te remercie encore pour ton travail ^^

J'ai juste pensé que si un autre avais une idée plus "compacte" comme tu dis ça pourrait lui laisser le temps d'y réfléchir un peu

Après c'est "mission accompli" puisque ta solution fonctionne, je pensais que c'était faisable dans une formule mais je sais pas trop je maîtrise pas vraiment ... et j'ai donc probablement tord

Bonne soirée

Du coup tu m'as fait faire un petit effort en VBA ! Petit car j'allais partir sur un plus grand mais je me suis ravisé pour revenir à une fonction qui s'appuie sur le numéro WBS précédent pour fournir le nouveau...

Function NUMWBSSUIV(préc, lgn As Range) As String
    Dim i%, h, P
    Application.Volatile
    For i = 1 To lgn.Columns.Count
        If lgn.Cells(1, i) <> "" Then Exit For
    Next i
    If préc = "" Then préc = "0"
    If i <= lgn.Columns.Count Then
        P = Split("." & préc, ".")
        If i = UBound(P) + 1 Then
            P(UBound(P)) = P(UBound(P)) & ".1"
        ElseIf i <= UBound(P) Then
            h = CInt(P(i)) + 1: P(i) = CStr(h)
            If i < UBound(P) Then
                For h = i + 1 To UBound(P)
                    P(h) = "@"
                Next h
            End If
        End If
        If i <= UBound(P) + 1 Then
            P = Replace(Join(P, "."), ".", "", 1, 1)
            P = Replace(P, ".@", "")
            NUMWBSSUIV = P
            Exit Function
        End If
    End If
    NUMWBSSUIV = CVErr(xlErrNA)
End Function

Il lui faut deux arguments :

  • la valeur précédente, donc on lui met la réf de la cellule de la ligne au-dessus (pour le premier où elle doit produire "1", il faut que la cellule "précédente" sur laquelle on la fait pointer soit vide)
  • et en 2e argument la ligne qu'elle doit numéroter, sous forme de référence de plage.

L'essai est en colonne M.

Cordialement.

Ohoh! Un petit effort qui valait le coup c'est parfaitement ce qu'il me fallait

Merci beaucoup pour ton aide sans laquelle j'aura du tout me taper à la main!

Bonne soirée, bonnes fêtes aussi tant qu'on y est aha!

Je passe le topic en résolu

Bonne continuation et joyeuses fêtes !

Rechercher des sujets similaires à "numerotation wbs formule vba"