XL 2016 Formulaire Excel VBA : Afficher dynamiquement des cases à cocher en fonction d'une liste déroulante

MyloX

XLDnaute Nouveau
Bonjour à tous et toutes,



Après plus d'un mois d'essai et de recherche sur les forums, je suis désespérément à la recherche d'un méthode pour créer un formulaire dynamique afin d'ajouter et modifier du contenu dans un fichier Excel à plusieurs onglets. Je me tourne donc vers vous afin que vous, je l'espère, puissiez m'éclairer...


Mon but est de proposer deux formulaires différents dans le but de remplir et modifier deux onglets distincts :
  • Un premier formulaire a pour but de lier des formations à un produit (remplissage et modification de l'onglet "BDD_PRODUITS") :
    • Une première partie du formulaire est dédiée à la sélection du produit :
      • 2 listes déroulantes (sélection de la famille de produit (données issues de la colonne B de BDD_PRODUITS sans doublon) + sélection du code de l'article (données issues de la colonne C de BDD_PRODUITS)) ;
      • 1 textbox pour la désignation de l'article (affichage auto selon les listes déroulantes précédentes (colonne D de BDD_PRODUITS)) ;
      • 1 case à cocher si le produit a le statut "ADT" (permet la MFC, ajoute "x" en colonne A de BDD_PRODUITS).
    • Une deuxième partie du formulaire est dédiée à la sélection des formations liées au produit sélectionné auparavant :
      • 1 liste déroulante pour la sélection du secteur de formation (données issues de la colonne A de BDD_FORMATIONS) ;
      • Plusieurs cases à cocher qui apparaissent de manière dynamique en fonction du choix de secteur de formation (données issues de la colonne B de BDD_FORMATIONS).
    • Une troisième partie destinée à la gestion des informations saisies précédemment :
      • 3 boutons (création (= ajout de nouvelles données dans BDD_PRODUITS) + modification (= changement d'informations déjà rentrées dans BDD_PRODUITS) + quitter).

  • Un deuxième formulaire a pour but de gérer les informations des formations (remplissage et modification de l'onglet "BDD_FORMATIONS") :
    • Une première partie destinée à la sélection des informations concernant les formations :
      • 5 listes déroulantes (secteur de formation (données issues de la colonne A de BDD_FORMATIONS sans doublon) + indice formation (simple indicé lettré pouvant prendre de A à Z) + matricule d'un référant (données issues de la colonne A de BDD_REFERANTS sans doublon) + poste de travail associé (données issues de la colonne G de BDD_FORMATIONS sans doublon) ;
      • 2 textbox (désignation (restriction de la liste via le secteur sélectionné) + n° de référence formation (remplissage auto en fonction du secteur et de la désignation)).
    • Une deuxième partie consacrée à la gestion des informations saisies précédemment :
      • 3 boutons (création + modification + quitter).

Les différents points bloquants pour moi sont :
  • associer des listes sans doublon aux listes déroulantes correspondantes ;
  • faire en sorte de s'assurer, lors de la création de données, que ces informations ne vont pas en écraser d'autres ;
  • réaliser des remplissages automatiques en fonction des valeurs rentrées ;
  • pour le formulaire destiné à l'édition de l'onglet BDD_PRODUIT, afficher dynamiquement les cases à cocher correspondant aux formations liées au produit sélectionné en fonction du secteur de formation choisi.

Je laisse un fichier .xlsm en pièce jointe pour mieux comprendre la structure du problème.

Je n'ai pas trop de mal à adapter les codes VBA et je voudrais volontiers apprendre à m'améliorer sur l'utilisation des formulaires et de VBA. Je ne demande en aucun à une personne de réaliser le fichier seul de son côté mais je serai ravi d'une quelconque collaboration.

Je vous remercie d'avance pour tout type d'aide.


Cordialement,

MyloX
 

Pièces jointes

  • Form Excel VBA DYN.xlsm
    22.4 KB · Affichages: 37

Robert

XLDnaute Barbatruc
Bonjour Mylox, bonjour le forum,

En pièce jointe un premier brouillon.
Je n'ai pas compris ce que permettait la CRÉATION...
Ajouter une famille : oui / non ?
Ajouter un code article : oui / non ?
Ajouter une désignation : oui / non ?
Ajouter un Secteur : oui / non ?
Ajouter une formation : oui/non ?

En attendant tes réponses pour la version02...
 

Pièces jointes

  • Mylox_ED_v01.xlsm
    26.6 KB · Affichages: 17

MyloX

XLDnaute Nouveau
Bonjour Robert, le forum,

Le bouton création doit autoriser l'ajout de :
  • familles ;
  • codes articles ;
  • désignations ;
  • secteurs ;
  • formations.
En bref, la création permet de rajouter toute une ligne de données, que ce soit dans BDD_PRODUITS ou dans BDD_FORMATIONS.

Merci pour ce premier jet qui fonctionne nickel sur la partie produit, à l'exception de la la partie "Formation associées" du formulaire lié aux produits.

En fait, je cherche à faire apparaître dans la partie "Formations associées" des cases à cocher correspondant aux formations du secteur sélectionné dans la liste déroulante (je ne sais absolument pas si cela est possible...). Selon les cases cochées dans le formulaire, des "x" doivent apparaître dans BDD_PRODUITS.

Encore merci beaucoup pour ton aide.

Cordialement,
MyloX
 

Robert

XLDnaute Barbatruc
Re,

Visiblement j'ai commencé par la mauvaise UserForm. En effet, l'UserForm1 ne permettra pas de créer, comme tu le dis, un secteur et/ou une formation. Il faudra d'abord passer par l'UserForm2 pour cela.
Et, dans cette UserForm2, tu as mis des Comboboxes mais pas les données qui permettent de les alimenter. La liste des indices de formation, la liste des Postes associé et celles des matricules référents.
• Faut-il se servir uniquement des données des onglet BDD_FORMATIONS et BDD_REFERANTS ?
 

MyloX

XLDnaute Nouveau
Robert, le forum,

En effet, l'UserForm 1 permet uniquement la création de nouvelles références de produits (statut ADT + famille + code article + désignation) et d'y affecter des formations par secteur.

Et, dans cette UserForm2, tu as mis des Comboboxes mais pas les données qui permettent de les alimenter. La liste des indices de formation, la liste des Postes associé et celles des matricules référents.

J'ai rajouté un onglet avec listes qui manquaient. Pour les matricules référents, ils figurent tous sur l'onglet BDD_REFERANTS.

• Faut-il se servir uniquement des données des onglet BDD_FORMATIONS et BDD_REFERANTS ?

Pour compléter l'onglet BDD_FORMATIONS, il faut utiliser uniquement l'onglet BDD_REFERANTS pour les matricules référents et l'onglet BDD_DIVERS pour les postes de travail et les indices de formations.

Merci pour ton aide.
 

Pièces jointes

  • Mylox_ED_v01.xlsm
    27.6 KB · Affichages: 10

MyloX

XLDnaute Nouveau
Bonjour tout le monde,


Un peu de nouveau depuis la dernière fois...

Pour des raisons de simplicité d'exploitation du document, j'ai à nouveau réaliser un refonte du fichier. Désormais, un menu permet de réaliser les différentes actions pour lesquelles le fichier a été créé.

Les résultats de l'onglet RECHERCHE peuvent désormais être directement imprimer grâce à la création d'une zone d'impression variante par le biais d'une variable.

J'ai également rajouter un nouveau formulaire destiné exclusivement à créer des nouveaux produits. Il s'agit de l'UserForm3 (fond rouge pâle). Ainsi, l'UserForm1 (fond jaune pâle) permet désormais uniquement de réaliser les liens entre les formations et les produits.

Ensuite, afin de maîtriser les modifications apportées au fichier, je vous propose une autre version de mon fichier (qui sera celle déployée dans mon unité) qui permet de cacher certaines parties de la version standard d'Excel. Il s'agit du fichier avec le suffixe visual, si jamais ceci en intéresse parmi vous...

Petit point pour récapituler le but des différents UserForm :
  • l'UserForm1 (fond jaune pâle) permet de lier des formations à des produits. Dans l'idéal, j'aimerais qu'après avoir entrer les différentes infos concernant le produit étudié, la liste déroulante dédiée au choix de secteur de formation permette l'affichage dynamique de cases à cocher correspondant à la totalité des formations rattachées au secteur choisi. Ainsi, les cases cochées renvoient "X" dans les intersections entre la ligne du produit et les colonnes des formations sélectionnées dans l'onglet BDD_PRODUITS.
  • l'UserForm2 (fond bleu pâle) permet de créer et de modifier les informations de formations (secteur, désignation, n° de référence, indice, etc...). Ces informations sont renvoyées dans l'onglet BDD_FORMATIONS.
  • l'UserForm3 (fond rouge pâle) permet uniquement la création d'un nouveau produit (ajout d'une ligne dans l'onglet BDD_PRODUITS).

Merci à tous ceux qui pourront m'aider.
Cordialement,
MyloX
 

Pièces jointes

  • Mylox_ED_v03.xlsm
    97 KB · Affichages: 19
  • Mylox_ED_v03-visual.xlsm
    96.8 KB · Affichages: 12

MyloX

XLDnaute Nouveau
Bonjour tout le monde,

Je me permet de repost pour avoir des nouvelles concernant une éventuelle aide ?
Je bloque vraiment au niveau de l'apparition des Checkbox en fonction du secteur sélectionné sur le Userform 1...

Merci d'avance.
Cordialement,
MyloX
 

Statistiques des forums

Discussions
291 805
Messages
1 918 118
Membres
179 932
dernier inscrit
Starsat1200
Haut Bas