Remplir un tableau via un UserForm

Bonjour à tous,

Je lis avec attention les tutos et les réponses que vous apportez sur ce forum et j'ai moi même une petite interrogation. Je découvre en ce moment même le VBA et il se trouve que ça pourrait être d'une grande aide à mon travail (nous croulons sous les fichiers excel éparpillés partout sur les serveurs de l'entreprise ).

En fait je pense que ce que je veux est simple à réaliser (pour vous) mais je m'arrache les cheveux à essayer de le faire.

Basiquement (pour le moment), je voudrais remplir 4 colonnes avec différentes infos : NOM/PRÉNOM/FORMATION/DATE.

Le formulaire s'ouvre, je remplis les infos et ça s'affiche sur la première ligne (enfin la deuxième sans compter les en-têtes) et ainsi de suite. Actuellement ça peut paraître inutile mais nous avons une liste de 200 agents enregistrés dans un autre fichier et à terme je voudrais utiliser cette base de données pour mettre à jour plus rapidement les infos (en incluant une liste déroulante avec tous les agents en remplacement des champs NOM/PRENOM).

J'espère avoir été clair, merci d'avance à tous ceux qui vont jeter un coup d’œil.

Bonne après-midi à tous !

44formation.xlsm (19.59 Ko)

Sans pour autant nous donner le fichier concernant les agents (confidentalité oblige), le mieux serait de commencer par importer les infos concernant les 200 agents en question. Donnez-nous le nom du fichier, de la feuille et les n° des colonnes contenant les noms et les prénoms de vos agents. Si vous avez un catalogue des formations, il sera le bienvenu.
Après avoir importé cette liste, il sera très facile de renseigner les colonnes contenant les formations et leurs dates à l'aide d'une liste déroulante. Ca c'est la partie mise à jour (1).
Votre Userform contiendra en plus un module (2) pour ajouter un nouvel agent à la suite de la liste.

Surtout, ne travaillez pas à l'envers en nous envoyant les infos au compte-gouttes.

Bonjour et merci du retour.

Concernant les infos des agents, leurs infos sont réparties sur 3 colonnes (A, B, C) :

- MATRICULE
- NOM
- PRENOM

Je n'ai pas le nom exact du fichier car il est stocké sur le serveur de l'entreprise et accessible uniquement en intranet, pas de possibilité avant vendredi. Concernant le catalogue de formation, il y en a 5 différentes (je ne peux pas donner les intitulés ).

Dans mon fichier final il faudrait (en réfléchissant bien) 8 colonnes différentes : MATRICULE / NOM / PRENOM / F1 / F2 / F3 / F4 / F5.
La colonne date ne serait plus utile car pour les champs de F1 à F5 le remplissage serait justement la date à laquelle la formation a été réalisée.

J'espère avoir été clair.

Je suppose que vendredi vous pourrez avoir une extraction du fichier qui se trouve sur le serveur. Comme vous ne pourrez pas la placer sur le forum, il va falloir que vous en fassiez un fichier texte (au format CSV ou autre). Une fois ce fichier réalisé, il vous suffira de nous en donner le nom, ainsi que le type de séparateur utilisé. A partir de là, chacun aura tous les éléments pour pouvoir vous aider et vous faire des propositions.

Je ne saurais assez insister sur le fait que vous devez tout nous dire au départ. Par exemple, le fait que le champ "Matricule" n'apparaisse ni dans votre fichier Excel, ni dans votre UF laisse penser que vous êtes encore dans la phase de réflexion ; donc à éviter pour gagner du temps.

Le catalogue des formations peut être dans un onglet avec des valeurs en attente du type "formation 1, 2,...5". Ce sera à vous de les remplir lorsque vous en connaîtrez les libellés. Il pourra y en avoir autant que vous voudrez.

Bonjour,

Concernant l'extraction j'ai bien revérifié le fichier aujourd'hui et il est composé de 3 feuilles :

Sur la première feuille ("SuiviFormation") l'ensemble des données apparaissent sous forme de tableau présenté comme suit : Nom / Prénom / Matricule / Fonction / F1 / F2 / F3 / F4 / F5

Les informations renseignées dans les cellules correspondant aux formations sont toujours des dates.

Sur la deuxième feuille ("agentAM") seule la colonne A est utilisée. Dans cette colonne, chaque ligne est dédiée à un agent (nom+prénom).
Sur la troisième feuille ("agentEM") seule la colonne A est utilisée est également avec le même fonctionnement que la feuille précédente (nom+prénom).

La nuance AM/EM correspond à la Fonction de l'agent.

Actuellement le fichier est assez inutile puisqu'à chaque nouvelle arrivée il faut remplir la première feuille ET la deuxième ou troisième.

Dans ma vision des choses sur la feuille "SuiviFormation" il faudrait un bouton "ajouter un agent" qui permettrait de remplir le Nom / Prénom / Matricule / Fonction / F1 à 5 de l'agent. Lors de la validation ça ajoute l'agent à la suite de ceux existants sur la première feuille et en même temps sur une des deux autres en fonction d'une condition :

Si l'agent est AM alors il est ajouté à la base de données de la deuxième feuille sinon il est ajouté à celle des EM sur la troisième.

Dans l'idéal et pour une meilleure utilisation pour d'autres fichiers, sur la 2e et 3e feuille, les colonnes B & C seraient désormais utilisées. A/B pour séparer NOM / PRENOM et C pour inscrire le matricule de l'agent.

Subtilité de ce fichier car le but c'est la mise à jour rapide, un autre bouton sur la première feuille qui permet de modifier uniquement les cellules FORMATIONS d'un agent qu'on aura choisi grâce à son nom. Quand un rappel est réalisé pour l'agent, on sélectionne la formation et on met à jour la date (aucune incidence sur les feuilles 2/3).

Voilà j'espère avoir été clair, je ne peux pas faire plus complet. Entre temps j'ai un peu avancé de mon côté et j'arrive désormais à créer un UF qui fonctionne au moins au niveau de l'ajout d'agents à la suite.

Merci d'avance pour l'aide apportée

Les choses sont assez claires mais uniquement dans l'ensemble. Si j'ai bien compris, vous avez actuellement 200 lignes dans la 1ère page, n lignes dans la 2e et m dans la 3e.

n + m = 200.

Il n'y aurait donc pas d'extraction à faire sur une base de données (en SQL par exemple), donc sur un fichier externe. Toutes vos données sont déjà en place. Vous confirmez ?

Bonjour,

Désolé pour la réponse tardive. Oui je confirme ces informations.

Pour la 2e page la plage d'utilisation des lignes est de la ligne 2 jusqu'à la 125 (n lignes = 124)
Pour la 3e page la plage d'utilisation des lignes est de la ligne 2 jusqu'à la 77 (m lignes = 76)

Pour un total de 200 évolutif avec l'ajout des nouveaux agents. Pas d'extraction SQL ou autre. La base de données actuelle ce sont les pages 2 et 3 mais qui ne sont pas "interactives" et pas découpées correctement (juste la colonne A). Pour ce dernier point je pense que je vais devoir faire une maj manuelle de ces pages pour les anciens agents non ?

Merci encore pour vos réponses

Si ce pb n'est pas réglé d'ici demain, je n'aurai plus le temps pour la suite. Donc il ne faudra pas traîner.
Est-ce que le fichier à importer a la forme du fichier ci-dessous ?

Je l'ai appelé datas.xlsx parce que vous n'avez pas répondu à la question que je vous ai posée le 6 septembre.

38datas.xlsx (21.37 Ko)

J'ai remplacé les noms et prénoms par des noms de pays et leurs capitales que j'avais dans un coin.

Bonjour Tekilq et le forum
Salut @ Optimix
Voilà 1 semaine que ce sujet est en ligne sans proposition.
Aussi je me permets de poster une solution. Le mode opératoire est décrit dans la feuille "suivi de Formation".
Cdt
Papy Henri

Bonjour AFEH,

Vous tombez à pic, car demain je quitte l'Espagne et tutti quanti. Bonne continuation.

Merci Optimix et bonne route.
Je prends la relève si Tekliq le souhaite.
Papy Henri

Merci Optimix pour les premiers retours & merci à Papy Henri pour la proposition de fichier ça correspond parfaitement à ce que je voulais

Excellente journée à vous.

Merci Tekilq pour ce retour.
Bonne continuation
Papy Henri

Rechercher des sujets similaires à "remplir tableau via userform"