Saisie des onglets dans un tableau synthétique

Bonjour ,

Je ne suis pas très doué en macro et j'ai besoin d'aide .

Je travail sur un fichier Excel qui sera partagé entre plusieurs personnes , car chaque personnes viendra compléter son onglet .

Et je souhaiterais que les lignes de chaque onglet soit automatiquement saisie dans l'onglet général "DAL".

Pouvez-vous m'aider ?

Ou sinon peut être plus simple au lieu d'avoir un onglet par personnes j'ai penser faire un formulaire et chaque personne clic sur un bouton et remplisse le formulaire qui complètera directement le tableau "DAL"

Merci d'avance pour votre aide

Jess

7test.xlsx (41.32 Ko)

Bonjour,

Ou sinon peut être plus simple au lieu d'avoir un onglet par personnes j'ai penser faire un formulaire et chaque personne clic sur un bouton et remplisse le formulaire qui complètera directement le tableau "DAL"

Cela paraît effectivement assez bien adapté à ta configuration... Je te conseillerais donc de revenir avec un modèle de Userform correspondant à la présentation que tu souhaites.

Cordialement.

Super merci pour ta réponse rapide .

Alors j'ai fait le formulaire que je souhaite avoir avec quelques listes déroulantes qui correspondent au liste déroulante qui figure sur mon tableau Excel onglet DAL .

Alors maintenant pour pouvoir exécuter mon formulaire en mode VBA je suis totalement perdu .

Si vous pouvez m'aider ça serait top !

Petite question en plus , est-il possible dans mon formulaire pour le champ "Date de lancement" avoir comme une liste déroulante mais avec un petit calendrier qui s'affiche pour que les personnes aient juste à sélectionner la date sur le calendrier ?

Merci ++++ d'avance pour votre aide et vos réponses

11classeur21.xlsm (50.32 Ko)

Rapide ! Toi aussi donc !

Pas le temps de fignoler (j'ai diverses choses en cours, et surtout des pbs administratifs perso à régler... ) mais ta configuration est simple et c'est un cas standard. Je me suis donc contenté :

  • de revoir l'organisation de ton Userform pour en limiter le "gigantisme" et reduire la surface inutilisée...
  • de renommer les contrôles dans une série générique ctl suivie d'un numéro d'ordre de 1 à 15, correspondant aux colonnes de la base,
  • de reproduire tes listes de validations sur une feuille Listes, et nommer les listes,
  • d'affecter à chaque contrôle de type ComboBox sa liste (propriété RowSource du contrôle),
  • de définir la propriété Multiline de la TextBox Description à True,
  • de définir l'ordre de tabulation des contrôles pour qu'ils soient dans l'ordre,
  • de nommer la 1re colonne de la base (feuille DAL) en dynamique : nom à partir de A2, dimensionné sur le nombre de valeurs de la colonne A [le nom inclut donc une cellule vide en fin, dès le départ la plage est donc définie et sa dernière ligne est la ligne à servir lors de saisie...)

En ce qui concerne la programmation du Userform :

  • Le bouton Quitter ferme le Userform.
  • Le bouton Valider : opère une vérification de la saisie (si une rubrique n'est pas saisie, message et redonne la main à l'utilisateur pour compléter), recueille les données saisies dans un tableau (en différenciant les données date pour éviter les problèmes d'inversion mois/jour), défini la ligne à servir dans la Base, affecte le tableau à cette ligne, puis lance une procédure d'effacement des contrôles pour permettre une nouvelle saisie.

C'est là le schéma minimal qui sera probablement à compléter... A noter que la méthode d'affectation, utilisant une plage nommée, se dispense ainsi d'utiliser le nom de feuille, et la ligne à servir dans la plage est en permanence fourni directement par le nombre de ligne de la plage nommée.

En ce qui concerne les dates le dispositif de conversion est indispensable pour des dates saisies en TextBox. Il doit être modifié si l'on a un dispositif ou un contrôle de type Calendrier renvoyant une donnée de type Date...

A cet égard, tu as la possibilité de charger des contrôles additionnels (mscomtl.ocx) parmi lesquels figure DtPicker, ou bien un module calendrier personnalisé (une recherche sur ce point dans le Forum t'en fournira...)

D'autres types de données pourront nécessiter un traitement particulier, par exemple si tu veux formater des montants en format monétaire dans des TextBox.

La structure simple du code permet tous les ajouts ou adaptations qui s'avèreront nécessaires...

Le dispositif en place (que je n'ai pas testé, note-le !) est un dispositif ajout d'un enregistrement dans la base. Si l'on doit être en mesure de modifier un enregistrement existant, le même Userform peut et doit être utilisé !

Il conviendra alors de le doter d'un moyen de recherche de l'enregistrement à modifier (généralement une Combo, alimentée à l'ouverture par une liste issue d'un ou plusieurs champs de la base, permettant l'identification de l'enregistrement à modifier), d'ajouter une mémorisation de la ligne en cas de modif et d'ajuster la procédure de validation (qui demeure la même) qui si elle dispose d'une ligne (dans une variable module) c'est qu'on en modif, et elle sert cette ligne, si elle n'en dispose pas c'est qu'on est en ajout et elle prend la ligne ajout...

Cordialement.

C'est exactement ce que je voulais , je te remercie d'avoir pris le temps de m'aider et de m'expliquer malgré tes problèmes administratifs .

Je vais chercher sur le forum pour le module calendrier .

Merci encore ++++ et bon courage pour l'administratifs !

A bientôt

Cordialement

Jess

Rechercher des sujets similaires à "saisie onglets tableau synthetique"