Un seul fichier pour gérer les changements et d'autres listes

Salut la communauté, j'espère pouvoir trouver des membres qui peuvent m'aider dans ma requête dont voici les détails :

J'aurai besoin d'un fichier qui contiendrait :

=> Une feuille "SERS" qui contiendrait 2 boutons : "Nouvelle commande" et "Mise à jour de la commande".

=> Une feuille "CHANGE NOTES" qui contiendrait un tableau dont les données seront remplies automatiquement à chaque ouverture du classeur par extraction de données d'autres classeurs situés dans un dossier à part.

=> Une feuille "BOM" qui contiendrait un tableau dont les données seront remplies automatiquement à chaque ouverture du classeur par extraction de données d'autres classeurs situés dans un dossier à part.

=> Une feuille "DCC FOLLOW-UP" qui contiendrait 1 bouton : "Nouveau niveau IHS".

=> Une feuille "PARTS" qui contiendrait une cellule dans laquelle je dois mettre un numéro de série et m'afficher un lien d'un document dont son nom porte le même numéro de série et qui est situé dans un dossier à part.

Maintenant je vais détailler la structure de chaque feuille et le fonctionnement désiré :

=> Sur la feuille "SERS" :

Je veux avoir un tableau "SERS_Table" avec les colonnes suivantes (dans cet ordre):

1.REQUISITION N°

2.PURCHASE ORDER

3.CREATION DATE

4.JUSTIFICATION

5.NOW WITH

6.DELIVERY DATE

La feuille doit contenir les 2 boutons de préférence en haut et que les lignes des cellules sur lesquels ils seront mis doivent être figés (pour un accès plus rapide).

  • Le bouton "Nouvelle commande" doit m'ouvrir un userform où je dois remplir toutes les données nécessaire, c'est-à-dire les 6 colonnes et en respectant ceci :

1.REQUISITION N° : doit être rempli dans un champ vide (grâce à un copier/coller que je peux faire).

2.PURCHASE ORDER : cette donnée n'étant pas toujours disponible, un choix doit me s'offrir à ce niveau soit "Not yet created" ou bien je fais un copier/coller de la donnée que je dois entrer.

3.CREATION DATE : là ça sera formidable d'avoir accès à un mini-calendrier qui s'affiche juste en tapant sur le champ vide - Le calendrier doit impérativement montrer les numéros de semaine, le Lundi soit déclaré comme 1er jour de la semaine, les jours du week-end c'est-à-dire Samedi et Dimanche doivent paraître dans une mise en forme légèrement différente afin de mieux les distinguer des autres jours. Une fois la date choisie elle doit être rapporté sur le champ vide.

4.JUSTIFICATION : un champ vide assez grand pour pouvoir écrire genre 50 caractères.

5.NOW WITH : une liste d'un ensemble de noms de personnes doit apparaître pour faire un choix - La liste des noms peut être remplie une seule fois et elle est inchangeable.

6.DELIVERY DATE : encore une fois j'aurai besoin du calendrier utilisé dans le champ "CREATION DATE" pour faire un second choix de date

Tout les champs doivent être obligatoirement remplis.

Seulement après avoir renseigné toutes les données nécessaires et cliqué sur le bouton "Valider", il faut les reporter dans le tableau "SERS_Table". Avant de pouvoir reporter ses données il est préférable qu'une vérification de doublon de valeur "REQUISITION N°" soit faite entre le champ renseigné et le tableau "SERS_Table", Si un doublon existe il vaut mieux annuler l'entrée des données et retourner à la userform en indiquant, avec une police rouge d'une petite taille juste au dessus du champ "REQUISITION N°", qu'un doublon existe déjà dans le tableau.

Chaque nouvelle entrée de données doit se faire automatiquement au début du tableau et décaler le reste vers le bas.

  • Je passe maintenant au deuxième bouton "Mise à jour de la commande" : Comme vous pouvez le déduire ce bouton va me permettre de mettre à jour les données de mon tableau, tout cela grâce à un userform qui s'affichera une fois que je clique sur ce bouton. Le userform aura la même structure que celui de premier bouton à une exception dans le champ "REQUISITION N°" je dois avoir une liste qui me permettra de choisir une valeur et une fois que je la valide les autres champs doivent être remplis instantanément depuis mon tableau "SERS_Table" comme ça je pourrai modifier/mettre à jour une ou plusieurs données en fonction de ce que j'ai sous les yeux. A la fin je dois pouvoir valider ma mise à jour avec un bouton "Mettre à jour"

Ces 2 userforms doivent avoir un bouton "Annuler" au cas où je pourrai annuler ma saisie.

Une 7ème colonne peut s'avérer très utile pour moi, nommée "TIME TO DELIVERY DATE", qui pourrait représenter la différence entre la date "DELIVERY DATE" et "CREATION DATE" en ayant une mise en forme conditionnelle (plus la différence est proche de zéro plus elle tend vers le rouge). La différence doit se calculer en jours sans prendre en considération les week-ends, congés et jours de fêtes (et donc que les jours ouvrables).

=> Sur la feuille "CHANGE NOTES" :

Vous aller trouver dans le fichier ci-joint un fichier nommée "XFK_B-PT2-20-549" qu'on prendra comme exemple, dans ce fichier j'aimerai extraire plusieurs données vers un tableau "CHANGE_NOTES_Table" dans cette feuille qui aura pour colonnes :

1.FACILITY

2.CHANGE NOTE N°

3.CUSTOMER ISSUE LEVEL

4.DFC DATE

5.DCI DATE

6.DESCRIPTION OF CHANGE NOTE

Les colonnes ci-dessous doivent avoir un en-tête commun (sous forme d'alignement centrée) nommée "NEW PARTS"

7.DESCRIPTION OF NEW PARTS

8.RSA REFERENCE OF NEW PARTS

9.SWS REFERENCE OF NEW PARTS

10.QUANTITY OF NEW PARTS

Les colonnes ci-dessous doivent avoir une en-tête commun (sous forme d'alignement centrée) nommée "OLD PARTS"

11.DESCRIPTION OF OLD PARTS

12.RSA REFERENCE OF OLD PARTS

13.SWS REFERENCE OF OLD PARTS

14.QUANTITY OF OLD PARTS

Je passe maintenant détailler de quel endroit extrait la valeur de chaque colonne depuis le/les fichiers sources.(Le tableau doit charger les données automatiquement à chaque réouverture du classeur et pour chaque fichier ajouté dans le dossier d'origine - Tous les fichiers ont une forme/structure similaire à une exception d'un tableau qui peut contenir +/- de lignes de données en fonction de chaque fichier, je vais venir aux détails après).

De la colonne 1 à 6 vous trouverez dans l'image nommée "CHANGE_NOTE_N°" dans le fichier ci-joint les emplacements des données par numéro de colonne - La feuille du fichier source étant toujours nommé "DESIGN CHANGE FRONT PAGE". La 5éme colonne de notre tableau doit être vide par défaut (Elle peut être remplie après suite à une requête initié par un bouton "Définir une date DCI" que je vais détailler après).De la colonne 7 à 14 vous trouverez dans l'image nommée "CHANGE_NOTE_BOM" dans le fichier ci-joint les emplacements des données par numéro de colonne - La feuille du fichier source étant toujours nommé "BOM 1". Il faut faire attention avec le tableau de la feuille "BOM 1", surtout avec les colonnes "Cust. P/N", "Int. P/N" et "Description" du fichier source car ils contiennent des lignes qui se référent aux colonnes de notre tableau : "RSA REFERENCE OF NEW PARTS", "SWS REFERENCE OF NEW PARTS" et "DESCRIPTION OF NEW PARTS" de l'en-tête "New parts" et "RSA REFERENCE OF OLD PARTS", "SWS REFERENCE OF OLD PARTS" et "DESCRIPTION OF OLD PARTS" de l'en-tête "Old parts". Les données des colonnes de l'en-tête "New parts" de notre tableau ont une couleur de fond "Bleue" dans le tableau du fichier source tandis que celles des colonnes de l'en-tête "Old parts" ont une couleur de fond "Rouge", ce qui veut dire que la logique d'extraction de ces données va se baser soit sur la couleur de fond des cellules (plus compliquée), soit sur la valeur des colonnes "Before" et "After" de l'en-tête "Quantity" (plus simple étant donnée que si par exemple une valeur de cellule de la colonne "Before" est nulle revient forcement à dire que celle de sa cellule adjacente de la colonne "After" est non nulle). Il faut garder dans l'esprit que ce tableau "Bill of Material" dans le fichier source est dynamique (peut changer de nombres de lignes d'un fichier à l'autre - Des fois on ne trouve aucune donnée et donc il faut prendre en considération ce point là lors de la réalisation). le nombre total de ligne créée sur notre tableau doit correspondre au nombre total de ligne qu'on a sur le tableau "Bill of Materials" de la feuille "BOM 1" de notre fichier source (les valeurs des colonnes de 1 à 6 de notre tableau doivent se répéter et ce sur chaque ligne créée et pour chaque fichier source - Pour améliorer la lisibilité on peut par exemple jouer sur la mise en forme pour donner illusion qu'on a "fusionner les lignes" qui ont la même valeur et ce pour chaque valeur distincte de la colonne 2 qui est une colonne à donnée unique reflétant ainsi chaque fichier source séparement). Aussi ça serait génial d'avoir accès, grâce à l'hypertexte, aux fichier sources par un simple clic sur les cellules de la colonne 2.

La structure de notre feuille "CHANGE NOTES" doit avoir un bouton "Définir une date DCI" en haut a gauche avec figeage de la ligne où le bouton est situé (comme ça il reste toujours visible lors de la consultation de la feuille), le bouton doit permettre d'afficher un userform avec toutes les valeurs, sans doublons, de la colonne "CHANGE NOTE N°" sous forme de cases à cocher et à côté un champ vide "Date DCI" qui va, lorsque je clique dessus, m'afficher un mini-calendrier où je vais choisir ma date, après je valide la date sur un ou plusieurs valeurs de la colonne "CHANGE NOTE N°" en appuyant sur un bouton "Valider la date DCI" (Normalement le tableau doit mettre à jour la date choisie sur chaque ligne dont les valeurs "CHANGE NOTES N°" correspondent à celles que j'ai coché.

Pour le reste de ce fichier je vais l'aborder en détail dans une future réponse à ce post (J'aimerai d'abord tester les premiers résultats de ce que je viens de demander pour ensuite ré-ajuster le besoin si nécessaire).

Merci pour cette fantastique et vive communauté que je viens de découvrir par hasard sur Google.

Up !

Bonjour,

Hum... Ici c'est pas une 2S2I gratuite ou on réalise ce que vous demandez.

Ça peut nous arriver (rarement) mais en général c'est plutôt nous qui définissons la forma la plus adaptée au besoin exprimé.

Ainsi par exemple il ne viendrait pas à l'idée de faire 2 Userform pour gérer la création ou la modification de données...

De la même manière 2 boutons sont inutiles puisque c'est le même formulaire qui gère la chose...

Puisque tu as l'air de très bien savoir ce dont tu as besoin, le mieux est de commencer à le réaliser : Pas trop vite !

Le mieux est de demander conseil à chaque étape ainsi ça t'évitera peut-être de créer un 2ème UserForm inutile ou un tableau incomplet.

En particulier puisque c'est de tableau de données dont il est question, personnellement je ne m'aventurerai pas dans un tel projet si la première colonne n'est pas un colonne d'index. (iD) C'est un recommandation assez communément admise quand on envisage la réalisation d'un projet "lourd", au même titre due la déclaration des variables en VBA.

C'est d'autant plus nécessaire qu’apparemment tu envisages joyeusement la création de doublons.

Enfin la réalisation de documents de type graphique (PNG) est inutile dans cette situation...

A+

Rechercher des sujets similaires à "seul fichier gerer changements listes"