Identifier les niveaux de consolidation dans un plan

Résolu/Fermé
saltemps Messages postés 2 Date d'inscription samedi 22 février 2014 Statut Membre Dernière intervention 22 février 2014 - 22 févr. 2014 à 00:23
saltemps Messages postés 2 Date d'inscription samedi 22 février 2014 Statut Membre Dernière intervention 22 février 2014 - 22 févr. 2014 à 22:00
Bonjour,
nouveau sur ce forum, je cherche une solution dans excel 2003 pour identifier si une ligne d'un plan est une ligne de niveau consolidé ou bien une ligne "élémentaire". Je m'explique : je crée une arborescence à n niveaux. le niveau 1 consolide tous les sous-niveaux, les niveaux 2 peuvent être des niveaux élémentaires (pas de sous-niveau) ou bien des niveaux consolidant des niveaux 3, et ainsi de suite. Je cherche à identifier dans l'ensemble de mon arborescence les lignes terminales, celles qui ne consolident pas de sous-niveaux. En les sommant je dois retrouver mon total de niveau 1.
ça fait un moment que je cherche la formule ou la fonction VBA qui saura faire cela.
Alors merci d'avance pour votre aide
A voir également:

2 réponses

JvDo Messages postés 1978 Date d'inscription mercredi 27 juillet 2005 Statut Membre Dernière intervention 28 septembre 2020 857
22 févr. 2014 à 04:22
Bonjour,

tu peux :
1) utiliser les fonctions Morefunc de Laurent Longre :=XLM.LIRE.CELLULE(28,A4,VRAI), =XLM.LIRE.CELLULE(30,A4,VRAI)

2) utiliser directement les anciennes fonctions d'Excel 4 : =LIRE.CELLULE(28,A4) et =LIRE.CELLULE(30,A4) en les positionnant dans des noms (tu crées 2 noms et tu y mets les formules). Tu utilises ensuite ces noms dans les formules qui t'intéressent.

3) écrire un peu de VBA avec une fonction dans le genre :
Function plan_level(vCell As Range)
Application.Volatile
plan_level = vCell.EntireRow.OutlineLevel
End Function

tu auras peut être besoin d'ajouter des macros évènementielles pour forcer le recalcul de ces valeurs.

cordialement
0
JvDo Messages postés 1978 Date d'inscription mercredi 27 juillet 2005 Statut Membre Dernière intervention 28 septembre 2020 857
22 févr. 2014 à 10:32
Pour 1) et 2) : j'ai laissé trainer des virgules dans mes fonctions.
En cas d'options régionales "France", il faut les remplacer par des points-virgules.

Dans les formules, j'ai choisi "A4". Ce qui veut dire que l'on s'intéresse à l'état de la ligne 4.

Tu trouveras la signification des paramètres 28 et 30 soit dans l'aide de Morefunc, soit sans le fichier d'aide macroxl97.hlp . Pour ce dernier, il te faudra peut-être le lecteur de fichier d'aide Windows6.1-KB917607-x86.msu.


Concernant spécifiquement le 2) : pour définir les noms, du fait qu'ils sont relatifs à la ligne, il faut se positionner d'abord sur le ligne 4 pour les définir et ne pas mettre de $ dans la référence.
Les noms ainsi définis ne seront utilisables de façon cohérente que dans des formules situées sur la ligne dont on évalue le niveau de plan.
0
JvDo Messages postés 1978 Date d'inscription mercredi 27 juillet 2005 Statut Membre Dernière intervention 28 septembre 2020 857
22 févr. 2014 à 12:46
et pour finir , un exemple : https://www.cjoint.com/?DBwmSpa4ZyF

certaines colonnes nécessitent morefunc.
0
saltemps Messages postés 2 Date d'inscription samedi 22 février 2014 Statut Membre Dernière intervention 22 février 2014
22 févr. 2014 à 22:00
Super JvDo ! Merci beaucoup pour ton aide, lasolution 2 est très simple et permettra de partager mes fichiers avec des personnes qui n'ont pas installé Morefunc.
Je cherchais la solution depuis un bon moment.
Merci encore
0