[EXCEL] organisation d'une arborescence
Résolu
nataly93
Messages postés
71
Statut
Membre
-
eriiic Messages postés 25847 Date d'inscription Statut Contributeur Dernière intervention -
eriiic Messages postés 25847 Date d'inscription Statut Contributeur Dernière intervention -
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
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:
- [EXCEL] organisation d'une arborescence
- Liste déroulante excel - Guide
- Déplacer une colonne excel - Guide
- Word et excel gratuit - Guide
- Si ou excel - Guide
- Trier une colonne excel - Guide
16 réponses
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
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
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.
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.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
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 ?
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 ?
(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 :)
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 :)
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:
Bien sûr il faut que le niveau de sécurité d'excel permette d'accepter les macros
eric
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 Subexemple: 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
Merci beaucoup...
C'est tout à fait ce qu'il me fallait.
Cependant j'ai une question...
Dans ton code :
=> 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 ;)
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 ;)
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
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
Tu es mon héros !!! :D
Merci infiniement. T'es super !!
Je vais pouvoir terminer mon fichier c'est parfait !!
Merci encore... :D
Merci infiniement. T'es super !!
Je vais pouvoir terminer mon fichier c'est parfait !!
Merci encore... :D
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
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
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
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
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
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