Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

XL 2016 UserForm avec gestionnaire de noms et tableaux

Bullrot

XLDnaute Junior
Bonjour à tous

Je sais c'est encore moi et mes questions parfois simpliste, parfois complexe, voir irréalisable

Petit defis pour la communauté (l)

Toujours sur mon projet et afin de pouvoir l'utiliser à 100% par le client, je voudrais réaliser un USERFORM qui sera en POPUP dans un sheet.

Explication de la partie à effectuer:

-Il y a un sheet "FONCTION"
-Il y a un sheet "UNIT_SERVICE"
-Il y a un sheet "SERVICES_FONCTION"
-Il y a un sheet "FONCTION_NUM"

Dans le sheet "FONCTION"

Il y a DEPARTMENT = à une colonne dans UNIT_SERVICE (TRIGRAMME)

La liste se fait via une liste en cascade. Qui dit cascade, dit Noms dans "Gestionnaire de noms" dans l'onglet formule

Premiere chose qui m'est imposée c'est le signe "_" en debut de nom, dans le gestionnaire de noms parce qu'il n'autorise pas les nom commencant par un chiffre, ainsi que les noms avec espace/ et "-".
Pour que la cascade fonctionne pour la colonne C et D du sheet "FONCTION", il faut travailler avec un =INDIRECT("_"&$B3;0) (colonne B représente les départments) qui donnera effectivement _XXX)

le meme principe s'applique pour chaque Sheet précedement cité. Dans le dernier qui est le sheet FONCTION_NUM, il reprend le nom des fonctions presente dans le sheet SERVICES_FONCTION et on y ajoute un numero. Dans le code qui sera créé, on va pas donner de numero à la fonction parce que je sais pas comment le faire, alors j'ai pensé mettre un TBD en face de la cellule de la nouvelles fonction.


Pour résumer:

Le USERFORM prendra ce genre de présentation:

UNIT (Trigramme):"champs libre" + add
SERVICE: "champs libre" + add
FONCTION: "champs libre" + add


Simulation d'ajout d'une nouvelle fonction:

Le client donne l'unité dans le champs "UNIT (Trigramme)"si elle n'existe pas: il devra sélèctionner, avec un systeme de coche, les differents services qui existe deja (dans le sheet "SERVICES_FONCTION" (colonne A et dans la ligne 1). Si l'unité existe, alors dans le champs SERVICE L'userform proposera une liste avec les differents services déjà existante.

Si le service est nouveau, alors le client devra remplir le champs libre et faire "ADD" ou autre astuce . Le service va alors apparaitre dan le sheet "SERVICE_FONCTION" (colonne A et dans la ligne 1) la ligne 1 représente chacun des services, les fonctions viendront s'y ajouter avec le champs "FONCTION" du Userform.

Pour la fonction, idem que le service mais on attribue pas de numéro, mais des TBD en face de chaque nouvelles FONCTION dans un nouveau service. Si le service etait deja existant, alors il regarde la dizaine qui lui est attribué et donne les choix disponnible de "exemple 00 à 09 ou de 10 à 19 etc" (facile non?)


et parce qu'il faut faire simple chaque noms de services et d'unité doit se retrouver dans le gestionnaire de noms avec "_" devant le nom de celle ci, si le client met un espace dans le nom du service, il faut aussi le changer par un "_"


Merci de m'avoir lu

Soan je t'avais promis un truc compliqué (peut etre que c'est que dur pour moi) ^^

Bullrot

ps: la le tableau n'est pas évolutif :/ je vois pas comment faire pour adapter les formules si on ajoute des colonnes dans le sheet IER (ca c'est le petit bonus)
 

Pièces jointes

  • CISSM_2.1.xlsm
    390.4 KB · Affichages: 29
Dernière édition:

Discussions similaires

Réponses
3
Affichages
348
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…