[EXCEL] organisation d'une arborescence

Résolu/Fermé
nataly93 Messages postés 67 Date d'inscription mercredi 21 février 2007 Statut Membre Dernière intervention 27 avril 2020 - 14 janv. 2008 à 10:19
eriiic Messages postés 24603 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 15 décembre 2024 - 4 juin 2008 à 19:16
Bonjour,

j'ai besoin de faire un fichier d'aide sous excel avec une liste de codes que pourrons utilisé les salarié de mon entreprise. Ces codes sont classés par domaines d'application (chaque domaine ayant ces propres codes). Pour chaque domaines, les codes sont classés par bénéficiaires.

J'ai donc besoin de faires une liste par domaine et par bénéficiaires, mais de façon à ne pas afficher la totalité de ces codes. Au départ j'ai choisis de les regrouper pour en faire une arborescence, seulement beaucoup de personne n'en comprennent pas le mode de fonctionnement. J'aimerais donc pourvoir (si possible) organiser cette liste de façon à ce qu'en cliquant sur le domaine, la liste des bénéficiaires apparait puis en cliquant sur la liste des bénéficiaires, la liste des codes correspondant apparaissent. Comme une arborescence (mais sans le système de regroupement).

Est-ce possible ? Si oui comment ?

Merci d'avance.

PS: je ne m'y connais pas du tout en VBA
A voir également:

16 réponses

nataly93 Messages postés 67 Date d'inscription mercredi 21 février 2007 Statut Membre Dernière intervention 27 avril 2020 9
14 janv. 2008 à 13:07
svp aidez moi :'(

^^
1
bjr

y a t'il moyen d'envoyer un exemple ou ton fichier

car tout dépend comment sont classer tes valeurs

http://www.cijoint.fr/index.php
0
gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 4 712
14 janv. 2008 à 17:39
bonjour

Ton explication est certainement très claire avec le classeur devant les yeux.

Nous n'avons pas le classeur et c'est difficile d'imaginer ta conception aussi si tu nous mettais un exemple avec des données banalisées :
domaine1,domaine2,etc
bénéficiaire1,bénéficiaire2,etc
code1,code2,etc
cela serait beaucoup plus explicite.

Tu le mets sur https://www.cjoint.com/index.php et tu tu nous donnes ici le code à récupérer.
0
nataly93 Messages postés 67 Date d'inscription mercredi 21 février 2007 Statut Membre Dernière intervention 27 avril 2020 9
15 janv. 2008 à 10:55
Voici mon fichier de travail :

https://www.cjoint.com/?bpk2PGfRUg

Merci d'avance
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 4 712
16 janv. 2008 à 09:29
bonjour

Ton organisation des informations est très esthétique mais difficile à utiliser simplement.

J'essaie de trouver les formules pour s'en servir mais c'est pas simple.

Ne serait-il pas possible lors de ton extraction de ventiler tes codes services différemment ?
0
nataly93 Messages postés 67 Date d'inscription mercredi 21 février 2007 Statut Membre Dernière intervention 27 avril 2020 9
16 janv. 2008 à 11:08
(Re) Bonjour,

et bien le soucis est le suivant...

Mon (super ?) boss veut que que je liste les codes par domaines... il y a une 12aine de domaines (donc déjà 12 pages en plus de toutes les autres). Ensuite il y a une 10aine de bénéficiaires... On m'a déjà proposer de faire un onglet par domaines et par bénéficiaires soit (12 x 10) 120 onglets. Ca fait beaucoup surtout que mon fichier doit ensuite être inétégré dans une base de donnée consultable par tout un pôle de l'entreprise.

J'ai donc fait un onglet par domaine dans lequel est lister les codes classés par bénéficiaires. Au départ j'avais choisis de faire des regroupements pour ne faire apparaitre (à l'ouverture) que les listes de bénéficiaires et ainsi cacher les codes. Mais on boss souhaite que je trouve un autre moyen car il craint que les utilisateurs de mon fichier ne comprennent pas le système de mon arborescence.

Au pire s'il n'y a aucun moyen je garderais mon système d'arborescence et j'inscrirais en gros et en rouge "cliquez ici pour faire apparaître les codes" mais s'il y a une solution j'en serais ravies :D

Merci :)
0
eriiic Messages postés 24603 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 15 décembre 2024 7 248
16 janv. 2008 à 22:57
Bonsoir,

Pourtant elle n'est pas bete ton idée de départ je trouve...
En attendant mieux je te propose juste de la rendre un peu plus ergonomique avec une macro.
Un clic sur une des 3 cellule 'beneficiaire'de ta liste (jaune donc mais je ne me base pas sur la couleur) repliie tout et déplie la partie cliquée.
Un clic en dehors de ta zone liste nommée replie tout.
Cette solution nécessite tjs 12 onglets...
Note qu'il faut nommer toute ta zone de liste et que ce nom est repris dans la macro, il faudra adapter ce nom à chaque feuille. Mis en gras ci-dessous.
A coller dans toutes les feuilles concernées:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    Application.ScreenUpdating = False
    If Intersect(Target, Range("CodesPilotage")) Is Nothing Then
        ActiveSheet.Outline.ShowLevels RowLevels:=1
    Else
        ActiveSheet.Outline.ShowLevels RowLevels:=1
        ActiveCell.Rows.Offset(1, 0).ShowDetail = True
    End If
    Application.ScreenUpdating = True
End Sub
exemple: http://www.cijoint.fr/cij9650129651555.xls (ouvrir dans excel et non dans le navigateur)
Bien sûr il faut que le niveau de sécurité d'excel permette d'accepter les macros

eric
0
eriiic Messages postés 24603 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 15 décembre 2024 7 248
16 janv. 2008 à 23:09
PS: et dans les options tu peux supprimer l'affichage des symboles du plan (les +)
http://www.cijoint.fr/cij11897356831523.xls
0
nataly93 Messages postés 67 Date d'inscription mercredi 21 février 2007 Statut Membre Dernière intervention 27 avril 2020 9
17 janv. 2008 à 13:48
Merci beaucoup...

C'est tout à fait ce qu'il me fallait.

Cependant j'ai une question...

Dans ton code :
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    Application.ScreenUpdating = False
    If Intersect(Target, Range("CodesPilotage")) Is Nothing Then
        ActiveSheet.Outline.ShowLevels RowLevels:=1
    Else
        ActiveSheet.Outline.ShowLevels RowLevels:=1
        ActiveCell.Rows.Offset(1, 0).ShowDetail = True
    End If
    Application.ScreenUpdating = True
End Sub


=> CodesPilotage correspond à quoi ? Je n'ai pas tout à fait saisie. Tu me dis de nommer ma zone de liste, mais comment ?
(je suis conciente qu'il s'agit d'une question surement bête et que je dirais "aaaahh ouiiii" en voyant ta réponse ^^)

En tout cas merci beaucoup de ton aide ;)
0
eriiic Messages postés 24603 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 15 décembre 2024 7 248
17 janv. 2008 à 19:40
Il faut nommer la zone cad :
Tu déroules tout en cliquant sur le petit 2 de ton plan.
Tu sélectionnes toute ta liste sauf la 1ère ligne de titre soit $F$13:$H$144
Ensuite au choix pour nommer:
- menu 'insertion / nom / définir' et tu saisis le nom de ta zone et tu contrôles que 'fait référence à' désigne bien ta zone avant de valider.
- ou bien tu le saisis au-dessus des n° de colonne, là où est inscrit la référence de ta cellule active (normalement F13) et tu valides par enter.
Au passage tu remarques à droite de cette zone de saisie un triangle de liste déroulante, par cette liste tu peux sélectionner directement toutes les références définies par un nom sur ta feuille.

Ensuite dans les formules et en vba tu désignes cette zone par son nom, d'abord c'est plus parlant et si ta zone change de taille ou de position tu n'as que cette définition à changer même si c'est repris dans 5 formules et 8 fois dans une procédure vba.

Prends des noms différents dans chaque feuille

eric
0
nataly93 Messages postés 67 Date d'inscription mercredi 21 février 2007 Statut Membre Dernière intervention 27 avril 2020 9
18 janv. 2008 à 11:51
Tu es mon héros !!! :D

Merci infiniement. T'es super !!

Je vais pouvoir terminer mon fichier c'est parfait !!

Merci encore... :D
0
nataly93 Messages postés 67 Date d'inscription mercredi 21 février 2007 Statut Membre Dernière intervention 27 avril 2020 9
18 janv. 2008 à 15:26
Bon finalement je suis triste...

Elle veut plus marcher... J'ai rajouter des lignes, j'ai renomé ma zone de liste, mais elle ne veut pas marcher..

Voici le message "Erreur d'exécution 1004 Impossible de définir la propriété show Detail de la classe Range"

Mais que se passe t-il ? Ca marchait si bien avant !! snif
0
nataly93 Messages postés 67 Date d'inscription mercredi 21 février 2007 Statut Membre Dernière intervention 27 avril 2020 9
18 janv. 2008 à 15:30
Je retire en fait j'ai trouver...

Tu es toujours mon héros !!

:D
0
eriiic Messages postés 24603 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 15 décembre 2024 7 248
18 janv. 2008 à 17:22
Ah ouffff, j'ai eu peur un temps... ;-)
Tout va pour le mieux donc...
Bon we à toi :-)
0
nataly93 Messages postés 67 Date d'inscription mercredi 21 février 2007 Statut Membre Dernière intervention 27 avril 2020 9
18 janv. 2008 à 18:43
Merci beaucoup à toi aussi ;)
0
Bonjour à vous,

J'ai a peu près le meme souci que nataly93 : je dois faire une base de données Excel et je dois donner les coordonnées complètes du siège d'un groupe, puis, par arborescence, je pensais faire apparaitre les différentes filiales et leurs coordonnées.

Toutefois, les fichiers cjoint n'étant plus actifs, il est, comme vous le disiez, un peu difficile de comprendre ! Serait-il possible de les renvoyer ?

Merci
0
eriiic Messages postés 24603 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 15 décembre 2024 7 248
4 juin 2008 à 19:16
Bonsoir,

J'ai a peu près le meme souci

Chaque problème a souvent ses caractéristiques propres et celui décrit ici est vraiment pas courant, ça m'étonnerait que ça s'adapte à ton cas.
De plus je ne garde pas les fichiers exemple...
Le mieux est de démarrer une nouvelle discussion et exprimant clairement et précisément ton besoin.
N'hésite pas à déposer un fichier exemple sur cijoint.fr sans oublier de coller ici le lien fourni . Les réponses n'en seront que plus rapides et plus exactes.
Tu peux aussi t'inscrire sur le site, ça te permettra de suivre plus facilement ta question.

eric
0