Aide à la convivialité

averty

XLDnaute Junior
BONJOUR À TOUS
j'ai fait pour mon travail un tableur avec tout un tas de renseignements, ce qui me permet d'avoir le maximum de données sous la main.
Mais j'aimerais maintenant mettre un peu de convivialité dans tout ça pour me permettre de faire des actions du genre ouvrir une fenêtre me proposant:
-"de quelle école voulez-vous voir le résumé?". et je choisirais dans une liste pour que ça m'ouvre un nouvel onglet avec par ordre alphabétique les personnes rattachées à l'école choisie.( avec mes maigres connaissances, j'ai fait un TCD dans l'onglet "par école" mais ça ne me plait pas des masses)
-"de quelle personne voulez-vous voir la fiche personnelle?" et je choisirais aussi dans la liste des personnes pour que ça m'ouvre un onglet avec une fiche reprenant (mise en forme à voir) toutes les infos de la personne choisie.

Il me semble que cela est déclinable à l'infini mais je ne sais pas du tout par quel bout commencer.
Dans le même temps, je suis preneur de toutes les "leçons" qui me permettraient d'arriver à de l'autonomie dans ces créations...
je joins un fichier bien sûr simplifié et anonymé mais toutes les en-têtes de colonne y sont.
un grand merci par avance.
 

Pièces jointes

  • FICHIER PERSONNEL TEST 2014 2015.xlsm
    46.5 KB · Affichages: 37

Modeste

XLDnaute Barbatruc
Re : Aide à la convivialité

Bonjour averty,

Il faudrait que tu précises si tu préfères une solution simple à comprendre (et à mettre en oeuvre) ou si tu souhaites continuer avec les macros (puisque tu en as déjà, dans le classeur!)?

Tu n'as pas joint, dans ton exemple, les données que tu veux voir s'afficher, pour une personne. Ce sera dans un autre onglet, je présume? Si le principe est le même que pour une école, tu te chargeras d'adapter?
 

averty

XLDnaute Junior
Re : Aide à la convivialité

Bonjour Modeste
à la fois j'aimerais que ce soit simple (surtout à utiliser) mais je me dis aussi que c'est peut-être une bonne façon d'apprendre avec des macros.
pour les données d'une personne, je pense aussi que ce serait bien que je me penche sur la première solution (écoles) et que j'adapte ce qui m'aiderait à me "former"
merci
 

Modeste

XLDnaute Barbatruc
Re : Aide à la convivialité

Re-bonjour,

Le problème avec les macros c'est d'essayer de ne pas refaire quelque chose qui existe déjà ... en prenant plus de temps! Dans tes bouts de code, par exemple, tu verras (en parcourant ce forum, notamment) que les '.Select' sont à éviter autant que possible, parce qu'ils ralentissent l'exécution.

Pour ma part, j'ai une affection toute particulière pour les solutions simples (en tout cas, dans un premier temps). En voici donc une pour tes écoles:
- J'ai supprimé le TCD, puisqu'il ne te convenait pas
- En A1 de la feuille "Par école", une liste déroulante avec les noms des écoles (provenant de la colonne L, comme pour ton TCD) et créée avec "Données" > "Validation"
- Dans la feuille "PUBLIC", une colonne supplémentaire, qui peut être masquée (mais ça, apparemment tu connais bien :D) avec cette formule (en BG2, par exemple):
Code:
=SI($L2='par école'!$A$1;LIGNE();"")
... à recopier vers le bas. N'apparaîtront alors, en colonne BG que le n° de ligne des écoles identiques à celle reprise en A1 de la feuille "par école"

- en Feuille "par école", indique les titres des colonnes à "récupérer" (en ligne 4, par exemple)
- en A5, cette autre formule, que tu pourras ensuite recopier à droite et en bas:
Code:
=INDEX(PUBLIC!$A$1:$BF$10;PETITE.VALEUR(PUBLIC!$BG$2:$BG$10;LIGNES($1:1));EQUIV(A$4;PUBLIC!$A$1:$BF$1;0))

A chaque sélection d'un autre école en A1, le tableau se mettra à jour.
N'hésite pas à dire si ce n'est pas clair!

Des erreurs de type #NOMBRE! vont être visibles; on peut évidemment les masquer, mais regarde déjà si tu peux mettre la proposition en oeuvre et si elle te conviendrait.
 

averty

XLDnaute Junior
Re : Aide à la convivialité

ça me parait à peu près clair. dès que j'ai un peu de temps, j'essaie de le faire moi-même sur mon tableur.
J'avoue que je préfère aussi les formules plutôt que les macros... mais peut-être que je me prive de plein de solutions sympas...
 

Modeste

XLDnaute Barbatruc
Re : Aide à la convivialité

Re²,

Je voulais simplement dire que, pour que la formule avec INDEX et EQUIV fonctionne, il faut reprendre (en A4, B4, C4, D4, etc.) les titres des colonnes dont tu veux récupérer le contenu. Dans ton TCD, il y avait Nom, Prénom, Fonction, etc. (attention ces titres doivent être identiques à ceux de la feuille "PUBLIC"!)

Tu me suis?
 

Modeste

XLDnaute Barbatruc
Re : Aide à la convivialité

Re³,

Deux solutions:
- soit une Mise en Forme Conditionnelle (dis-nous si tu ne connais pas!) mettant en blanc la police des cellules en erreur
- soit en complétant la formule en A5 comme suit:
Code:
=SI(LIGNES($1:1)<=NB(PUBLIC!$BG$2:$BG$10);INDEX(PUBLIC!$A$1:$BF$10;PETITE.VALEUR(PUBLIC!$BG$2:$BG$10;LIGNES($1:1));EQUIV(A$4;PUBLIC!$A$1:$BF$1;0));"")
... à recopier ensuite, comme précédemment
 

Discussions similaires

Statistiques des forums

Discussions
312 215
Messages
2 086 326
Membres
103 180
dernier inscrit
Vcr