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)
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
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"
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
Dernière édition: