Creer un formulaire sous excel

bonjour, je cherche à créer un formulaire sous excel 2019 pour une base de données.j’ai déjà commencer à le faire mais je sèche sur le VBA et je ne serais pas contre un petit coup de mains.
en vous remerciant par avance, bien cordialement.

Bonjour
Un petit coup de main c est avec un grand plaisir mais il nous de la matière pour cela
L ébauche de ton fichier en pièce jointe sans donnée confidentielle et l’objet de tes attentes le plus précis possible
Merci

1 J'aime

Bonsoir, merci d’avoir répondu. Je vais essayé d’être le plus clair possible. je cherche à créer un formulaire pour rendre la saisi dans un formulaire plus pratique et conviviale, pour la gestion d’un fichier de salariés.outre les données habituelles que son le nom, prénom etc. je voudrais que cela calcule l’age à la date d’aujourd’hui ainsi qu’un affichage en couleur dés lors que la date des enfants arrive à 14 ans. je mets le fichier en pièce jointe.
le fichier 2 contient les codes VBA
le classeur 2 une mise en page.
en espérant ne pas vous donner trop de fils à tordre. Encore merci de votre investissement. Bien cordialement
fichier 2.xlsm (32,2 Ko)
Classeur2.xlsm (66,9 Ko)

Bonjour

Si je comprends bien au vu des documents fourni et des explications ce n’est pas un réel formulaire (aucun formulaire en place dans les pièces jointes) mais un onglet transformé en formulaire à faire fonctionner
Est ce bien cela ?
Les infos saisies onglet « FORMULAIRE » sont à intégrer dans l’onglet « BDD » ?
Les macros en place sont elles à utiliser avec les corrections nécessaire où à s’inspirer pour des nouvelles macros à fournir ?

Merci pour ces précisions

1 J'aime

Bonjour, et merci de vos réponses.

Tout d’abord c’est les fichier « classeur 2 » qui va me servir. L’onglet formulaire me sert à alimenter la BDD effectivement.

Concernant les macros elles ne sont pas en place dans ce fichier, et je dois reprendre tout à zéro. Il faudrait s’inspirer du formulaire pour créer les macros.

D’autre part je vous demande vous qui avez l’expérience, s’il ne vaut pas mieux créer une base de données Access avec un formulaire plutôt que sur Excel. D’un point de vue esthétique et fonctionnel, car ce fichier contient plus de 400 noms. Encore merci de vous intéresser à mon problème. Bien cordialement.
Classeur2.xlsm (66,9 Ko)

Ci-joint ma première proposition

Les boutons « Ajouter Employé » , « Modifier » fonctionnent

Pour le premier bouton
Une fois l’ensemble des données saisies elles sont ajoutées à la première ligne de libre onglet « BDD »
ainsi que l’âge au jour de la saisie avec mise d’une couleur de fond si celui-ci est égal ou supérieur à 14 ans
Pour le deuxième bouton j’ai rajouter un troisième bouton « Rechercher » pour ramener l’ensemble des données objet de la modification
En regard de ce bouton « Rechercher » une fenêtre pour saisir la clé (colonne A de l’onglet « BDD ») afin de cibler la bonne ligne à remonter
Cela nécessite de repérer onglet « BDD » la ligne à modifier pour cerner sa clé
Un fois cette clé saisie le bouton Rechercher remonte toutes les données dans les cases appropriées
Reste à modifier celles qui doivent l’être
Puis utiliser le bouton « Modifier » pour intégrer dans la ligne clé l’ensemble des données après modification
Reste le bouton « Quitter »
Qu’elle est sa fonction ?
Merci de me préciser

J’ai bizarrement 2 fenêtres Date de naissance pour l’employé et une fenêtre Adresse Mail qui n’a pas son équivalent onglet « BDD » :

Peux tu m’en donner la raison et leur fonction

Dans mes procédure seule la première Date de naissance est utilisée et l’Adresse Mail n’est pas prise en compte ne sachant pas où l’utiliser

Fais déjà des essais
Donnes moi un retour et les réponses à ces différentes questions

Concernant l’opportunité d’utiliser une base ACCESS en lieu et place d’un fichier Excel pour de la saisie ce dernier est nettement plus performant et ergonomique
ACCESS est surtout approprié à de la gestion de donnée de masse
400 noms est dérisoire dans ce domaine
ACCESS n’est pas à la porté de tout un chacun
J’ai moi même au cours de ma vie professionnelle était confronté à ces 2 exigences à faire coexister saisie dans un monde extrêmement dense de paramètres à mettre en relation
J’ai toujours utilisé Excel pour la saisie nettement plus confortable pour l’utilisateur et de mettre cette application de manière automatique en relation à des base ACCESS piloté en toile de fond par des procédure VBA
L’utilisateur ne voyait que les tableurs jamais les bases
Donc pour de la saisie confortable accessible au plus grand nombre d’intervenant je préconiserai Excel quitte derrière à le relier au monde ACCESS
Ainsi mon opinion sur la base de mon expérience

Classeur2V2.xlsm (64,7 Ko)

1 J'aime

Bonsoir, et merci pour ce que vous avez déjà fait. J’ai fait des modifications.

1 - j’ai rajouter une colonne dans la BDD nommée « adresse Mail »

2 - la 2éme date et en fait la « date entrée entreprise » qui permet de calculer ancienneté.

3 -pour ce qui est de la couleur elle ne s’affiche pas dans la bonne colonne, seules les colonne « limite âge 14 ans » sont concernées par la couleur et doit afficher lorsque les 14 ans sont révolus.

4 - dans les colonnes « Age » et « ancienneté » dans la BDD une formule y ait inscrit, peut-on la rendre « invisible » par des VBA.

5 - j’ai retiré le bouton « quitter », car effectivement je n’en voie pas l’utilité.

Vous avez fait du bon travail, et merci pour votre opinion sur Acces qui me conforte à préférer Excel.

Par la suite cette BDD va se diviser par centre d’exploitation. Un salarie de par son centre d’exploitation sera affecté à une base de données. Pensez-vous cela réalisable. Pour l’heure je vous remercie. bien cordialement.
Classeur2V3.xlsm (66,7 Ko)

Bonjour
Ravi que cela te convienne

« 2 - la 2éme date et en fait la « date entrée entreprise » qui permet de calculer ancienneté. »

Date de naissance ???

A quelle colonne de l onglet « BDD » correspond t’elle ?

« 3 -pour ce qui est de la couleur elle ne s’affiche pas dans la bonne colonne, seules les colonne « limite âge 14 ans » sont concernées par la couleur et doit afficher lorsque les 14 ans sont révolus. »

Il me faudrait le détail de toutes les cellules concernées pour que je modifie la mise en couleur

« 4 - dans les colonnes « Age » et « ancienneté » dans la BDD une formule y ait inscrit, peut-on la rendre « invisible » par des VBA. »

Les formules ne se voient pas seul le résultat est affiché
Impossible de faire mieux
Seule chose possible est d intégrer dans le VBA les formules ou leur équivalent mais leur résultat ne s affichera qu après l execution du VBA les formules dans les cellules ont l’avantage d être actualisée de manière automatique

« Un salarie de par son centre d’exploitation sera affecté à une base de données. Pensez-vous cela réalisable »

Mais encore ?
Qu est ce qui serait réalisable ?

Pour la fenêtre Adresse mail qu en est il ?

Merci pour ces précisions

Bonjour, merci pour les réponses, je vais répondre au mieux pour les questions qui reste en suspens.

  1. Date de naissance « salaries » Colonne J de la BDD Cellules J6 : J130

Dates de naissance des « enfants » Cellules

S 6 : S 130

V 6 : V 130

Y 6 : Y 130

AB 6 : AB 130

AE 6 : AE 130

  1. Cellule concernées par la couleur et - de 14 ans

T 6 : T 130

W 6 : W 130

Z 6 : Z 130

AC 6 : AC 130

AF 6 : AF 130

  • Pour le salarié et son centre d’exploitation.

Je voudrais savoir s’il est possible d’affecter un salarié à une BDD défini en fonction de son centre d’exploitation.

Exemple : un salarié rattacher au centre d’exploitation de « TOUL » sur le Formulaire sera sur la BDD « TOUL ».

Donc autant de BDD que de centre d’exploitation. Cela est-il réalisable, ou trop complexe.
Pour la fenêtre Adresse Mail : Colonne I, cellules i 6 : i 130
Merci d’avance bien cordialement.

Bonjour

« Date de naissance « salaries » Colonne J de la BDD Cellules J 6 : J 130 »

Désolé mais colonne J c’est l’Age :

C’est dans cette colonne que je rapporte l’âge en fonction de la date du jour de saisi

Si c’est la date de naissance à ramener dans cette colonne dans quelle colonne doit être restitué l’âge ?
De plus cette colonne « J » a en entête « Age »

J’ai du mal à suivre

Dates de naissance des « enfants » Cellules

S 6 : S 130

V 6 : V 130

Y 6 : Y 130

AB 6 : AB 130

AE 6 : AE 130

Cela ne corresponds pas aux entêtes de tes colonnes :

Les colonnes souhaitées porte en intitulée « LIMITE D’AGE 14 ANS » et non « DATES DE NAISSANCE »
qui elles sont en colonne R/U/X/AA/AD

J’ai dans le formulaire que 3 fenêtres de Date de naissance pour les enfants :

"Je voudrais savoir s’il est possible d’affecter un salarié à une BDD défini en fonction de son centre d’exploitation.

Exemple : un salarié rattacher au centre d’exploitation de « TOUL » sur le Formulaire sera sur la BDD « TOUL »."

Concrètement cela doit se traduire par quoi dans ton fichier ?
Quel impact doit il y avoir en fonction du centre sur ce document j’ai du mal à comprendre

Ces fichiers en fonction de chaque centre seront ils tous indépendant où doivent ils être les clones des uns des autres ?

Merci pour tous ces éclaircissements

bonjour
je crois que nous avons pas la même version je la renvoie, là les cellules correspondes.
Dans le formulaire ils y à les 5 fenêtres Date de naissance enfant.
Pour le salarié, concrètement chaque BDD sera indépendantes les unes des autres. Merci, cordialement.
Classeur2V3.xlsm (66,8 Ko)

Ci-joint donc cette nouvelle version adaptée
Dommage qu’elle n’est pas été dés le départ car la modification de la structure de l’onglet « BDD » (ajout de colonne) a mis à mal tout mon travail
J’ai du adapter tous les codes à cette nouvelle configuration
D’où l’intérêt d’avoir un fichier initial le plus stable possible dans sa composition sinon bonjour les dégâts

Quelques conseils :
Attention colonne H concernant les numéros de téléphone si l’on veut conserver en premier chiffre un « 0 » éventuel (les numéros de mobile par exemple) il faut la mettre impérativement en format texte
Concernant la gestion des clés colonne A indispensable à la recherche de données existantes et donc à leur modification il faut que ce paramètre soit géré de manière précise et soignée (pas de doublon) et infaillible (pas de manquement)

J’avais rajouté une petite fenêtre onglet « FORMULAIRE » en regard du bouton « Rechercher » et mis un titre « Clé » qui avait disparu
Je l’ai remis en place
Dans cet onglet j’avais nettoyé les 3 premières lignes de titres de colonne qui pour moi ne servent à rien
Ils ont réapparus
Peut être trouves tu un certain esthétisme à les maintenir
Je les ais donc laissé

J’ai intégré dans les traitements « Ajouter employé » et Modifier" le calcule de l’âge basé sur la date de la saisie
Ainsi cette donnée se met automatiquement colonne K onglet « BDD » et de pouvoir mettre les fonds en jaunes des cellules S/V/Y/AB/AE selon ton souhait dés que l’âge de 14 ans est dépassé

Je n’ai pas mis le même dispositif concernant l’ancienneté car comme pour l’âge quid de la mise à jour
Comment compte tu faire pour au jour le jour faire évoluer ces données ?
L’âge encore est à réactualiser une fois par an mais l’ancienneté présenté ainsi :

120 ans 5 mois 4 jours

nécessite une mise à jour bien plus rapprochée et donc une intervention en modification de toutes les lignes concernées qui portent cette donnée
Je pense que la formule offrant l’avantage d’une mise à jour automatique sera plus appropriée dans cet esprit

A toi de me dire mais c’est intégrable en VBA juste à trouver la méthode pour les mises à jour
Voir aussi celle de l’âge si elle doit être maintenue dans les traitements

Sinon je pense que cela fonctionne correctement

Fais des tests et dis moi

Classeur2V3.xlsm (68,4 Ko)

1 J'aime

Bonjour,

Tout d’abord merci pour cet excellent travail, tout fonctionne. Si ce n’est les cellules « limite d’Age 14 ans » qui affiche la couleur, même si moins de 14 ans.

  • Peut-on mettre un bouton supprimer dans le formulaire, pour supprimer un salarié déjà présent dans la BDD

  • Colonne K « Age » le calcul peut-il se faire à la date du jour et afficher exemple :« 25 ans 2 mois 3 jours » je mettais dans les cellules la formule suivante que l’on retrouva aussi dans les colonnes M « Ancienneté » et « limite d’Age 14 ans », qui afficher « 120 ans 5 mois 5 jours » et qui correspond à la formule suivante :

=DATEDIF(L6;AUJOURDHUI();« y »)&SI(DATEDIF(L6;AUJOURDHUI();« y »)>1;" ans « ; » an « )&DATEDIF(L6;AUJOURDHUI();« ym »)& » mois " &DATEDIF(L6;AUJOURDHUI();« md »)&SI(DATEDIF(L6;AUJOURDHUI();« md »)>1;" jours "; " jour ").

  • Peut-on mettre cette formule sous forme VBA et la faire afficher dans les colonnes :

K, M, T, W, Z, AC, AF.

  • J’ai créé plusieurs BDD que j’ai nommées avec les noms des centres d’exploitations pour que lors de la création ou la modification d’un salarié en fonction de son centre d’exploitation choisi dans le formulaire il soit envoyé dans la BDD correspondante. Pensez -vous cela réalisable.

  • Par contre effectivement les 3 lignes dans le haut du formulaire ne sont pas indispensables et peuvent être ôtées.

  • Si vous avez des idées pour embellir quelque peu le formulaire je suis preneur.
    je joint le classeur modifier.

Un grand merci pour le travail fourni. Bien cordialement.

Classeur2V5.xlsm (201,4 Ko)

Bonjour

« Tout d’abord merci pour cet excellent travail, tout fonctionne. Si ce n’est les cellules « limite d’Age 14 ans » qui affiche la couleur, même si moins de 14 ans. »

Je n ai pas le même constat chez moi si ce n’est qu’en modification de la date de naissance si la précédente donnais un âge supérieur à 14 ans donc couleur jaune présente et que la nouvelle un âge inferieur la couleur jaune n’était pas supprimée
J’ai corrigé la procédure « Modifier »
En création pour moi la couleur fonctionne correctement en fonction des 14 ans

« Peut-on mettre un bouton supprimer dans le formulaire, pour supprimer un salarié déjà présent dans la BDD »

Que doit on faire de la ligne onglet « BDD » du salarié à supprimer ?

La nettoyer et la laisser vide ?
La supprimer totalement et quid de la clé dont cette suppression engendrera un trou dans la suite de la numérotation ?

Merci de me dire

  • Peut-on mettre cette formule sous forme VBA et la faire afficher dans les colonnes :

K, M, T, W, Z, AC, AF.

C’est fait mais pour les formules des cellules qui font référence à la cellule date de naissance appropriée vide aucune date intégrée celles-ci donne en résultat : 120 ans 5 mois 5 jours
Cela fait désordre
A toi de me dire

« J’ai créé plusieurs BDD que j’ai nommées avec les noms des centres d’exploitations pour que lors de la création ou la modification d’un salarié en fonction de son centre d’exploitation choisi dans le formulaire il soit envoyé dans la BDD correspondante. Pensez -vous cela réalisable. »

Où seront situé ces BDD (lecteur réseau propre)
Dans cette alternative ce n’est pas commode à gérer car chaque utilisateur a sa propre lettre pour le lecteur considéré
Peut être envisager autant d’onglets que de centres qui seraient alimentés en fonction de la saisie puis de transmettre le fichier à tous ces centres pour une mise à jour de leur BDD qui peut être effectuée de manière automatique

« Par contre effectivement les 3 lignes dans le haut du formulaire ne sont pas indispensables et peuvent être ôtées. »

C’est fait

Ci-joint ton fichier adapté mais c’est la version V3 et non V5

As tu fais entre ces 2 versions des modifications ?
Peux tu les réintégrer dans cette V3 ?

Fais des essais et dis moi

Classeur2V3.xlsm (69,6 Ko)

Je te joins une nouvelle proposition qui inclus pour les colonnes :

T 6 : T 130

W 6 : W 130

Z 6 : Z 130

AC 6 : AC 130

AF 6 : AF 130

Une mise en forme conditionnelle à chaque création ou modification
Chaque cellule de ces colonnes pour les lignes alimentées auront ainsi une mise en couleur jaune si leur âge atteint les 14 ans et plus
Ainsi d’être en permanence actualisée sur cette mise en forme en fonction du jour d’utilisation du fichier
Je pense qu’ainsi la couleur sera d’actualité

A toi de me dire si c’est mieux ainsi

Classeur2V3bis.xlsm (71,0 Ko)

1 J'aime

Bonsoir,

La version du classeur2V3bis et super c’est tout à fait ce que je rechercher. Du très bon bulot, je vous tire mon chapeau.

La couleur s’affiche à partir de 14 ans c’est génial.

Je vous aurais bien demandé un ou deux autres petits trucs, sans vouloir abuser de votre temps.

  • je voudrais savoir si je peux faire un copier-coller de ma BDD contenant déjà des noms ou si je suis obligé de tout ressaisir.

"Que doit-on faire de la ligne onglet « BDD » du salarié à supprimer ?

La nettoyer et la laisser vide ?

La supprimer totalement et quid de la clé dont cette suppression engendrera un trou dans la suite de la numérotation ?

Merci de me dire".

  • La nettoyer et la laisser vide pour réutiliser cette ligne il me suffira de rentré la clé et la ligne sera réaffecter non ?

"Où seront situé ces BDD (lecteur réseau propre)

Dans cette alternative ce n’est pas commode à gérer car chaque utilisateur a sa propre lettre pour le lecteur considéré

Peut-être envisager autant d’onglets que de centres qui seraient alimentés en fonction de la saisie puis de transmettre le fichier à tous ces centres pour une mise à jour de leur BDD qui peut être effectuée de manière automatique".

  • Je pensé mettre ces BDD dans le même classeur, et faire une liaison avec le formulaire en fonction des centres d’exploitations. Dans une version du classeur2V5 j’ai mis déjà les onglets contenant les BDD vide.

  • sinon avez-vous des idées pour embellir un peu ce triste fichier?
    ci-joint le classeur avec les BDD. Merci d’avance. Bien cordialement.
    Classeur2V5.xlsm (204,2 Ko)

Bonjour

« La version du classeur2V3bis et super c’est tout à fait ce que je rechercher. Du très bon bulot, je vous tire mon chapeau. »

Merci merci mais attention au coup de soleil !!!

« je voudrais savoir si je peux faire un copier-coller de ma BDD contenant déjà des noms ou si je suis obligé de tout ressaisir. »

C’est faisable mais quid des formules pour le calcul de l’âge et de la mise en forme conditionnelle qui met la couleur jaune dés que 14 ans est atteint ?
Ces formules sont intégrées par les traitements
Il est toujours possible en utilisant le formulaire de rechercher chaque clé concernée et de modifier avec les même paramètres pour inclure dans ce traitement toutes les formules
Pour le copier/coller utiliser exclusivement le collage spécial valeur

« La nettoyer et la laisser vide pour réutiliser cette ligne il me suffira de rentré la clé et la ligne sera réaffecter non ? »

J’ai donc rajouté un nouveau bouton dans le formulaire « Supprimer »
Il faut au préalable saisir la Clé et le Centre d’exploitation
Une fois ces 2 données saisi le bouton « Supprimer » ramène toutes les données concernées dans le formulaire et un message de confirmation est émis indiquant de vérifier tout le cv de l’employé concerné rappelle le centre et à charge à l’utilisateur sur la base de ces informations à l’écran de confirmer ou non la suppression
Un dernier message de confirmation de cette suppression est fournis après une réponse positive

La suppression n’est que le nettoyage des données de la clé et centre concernés en conservant celle-ci
Pour la réutiliser il suffit de remplir le formulaire de toutes les données de choisir le centre approprié et la clé libre
Le bouton « Modifier » devra être utilisé pour alimenter la clé dans le centre concerné
Attention tout erreur de centre ou de clé en l’état sera fatal
Pour l’instant pas de garde fou
Voir si un message de confirmation doit être intégré dans cette procédure mais celui-ci concernera toutes les modifications à effectuer

« Je pensé mettre ces BDD dans le même classeur, et faire une liaison avec le formulaire en fonction des centres d’exploitations. Dans une version du classeur2V5 j’ai mis déjà les onglets contenant les BDD vide. »

J’ai intégré dans les procédure le choix de l’onglet en fonction du centre
Ce choix est indispensable quelque soit le traitement
Pour tout omission le concernant un message est donné pour l’effectuer et aucun traitement ne peut être activé sans lui
Attention au nom des onglets qui doivent être strictement identiques à ceux présent dans la listebox du formulaire correspondant au choix du Centre d’exploitation directement lié à la liste des noms colonne « C » onglet « PARAMETTRE »
Sur la base de cette colonne je me suis permis de renommer les onglets pour respecter cette nécessité
On peut remettre les appellations initiales mais il faut mettre en accord la colonne « C » onglet « PARAMETTRE »
De plus éviter les blancs aux extrémités des noms quelques onglets centre créés en étaient pourvus

Je pense avoir fait le tour

« sinon avez-vous des idées pour embellir un peu ce triste fichier? »

Qu’a t’il de triste ???
Il est très bien de mon point de vue
On peut peut être masquer les onglets et ne laisser visible que l’onglet « FORMULAIRE »
Je t’avouerai que je suis plus sur de l’efficacité que sur de l’habillage
Maintenant je suis ouvert à un peu d’esthétisme à toi de me dire

Ci-joint donc ma dernière mouture
Testes et dis moi

Classeur2V5b.xlsm (210,8 Ko)

1 J'aime

Bonsoir,

Que dire de plus si ce n’est un super travail exactement ce que je voulais.

En tout cas très heureux d’avoir eu affaire à vous, votre expérience a été d’une grande aide.

J’espère que vous resterez encore longtemps sur ce forum, car je pense que bien d’autres ont besoin de votre savoir.

Cela dit je n’hésiterais pas à faire appel à vous si par la suite si j’ai d’autres difficultés. Je possède un fichier que j’ai conçu pour le calcul des heures travaillées pour des salariés.

Si toutes fois cela pouvait vous intéresser j’aurais l’impression d’apporter ma pierre à l’édifice. Ci-joint le classeur un peu embelli, dites-moi ce que vous en penser Merci beaucoup. Bien cordialement.
Classeur2V5b.xlsm (270,0 Ko)

2 J'aimes

Bonjour

Tout le plaisir était pour moi
Il me semble trés bien
Reste à voir côté utilisateur
Pour ne pas les perturber et les inciter à utiliser l’onglet « FORMULAIRE » je masquerais tous les autres onglets qui les 3/4 du temps sont inutiles à la vue seule le FORMULAIRE est nécessaire
Et ainsi d’éviter des erreurs d’utilisation du fichier
Pour démasquer un onglet sur le nom de l’onglet resté visible clique droit et choisir afficher
Après l’avoir sélectionné « OK »
Petit suggestion mais qui le rend plus propre et moins déstabilisant à la vue pour celui qui doit y être confronté

Je te joint une version avec seulement l’onglet FORMULAIRE affiché

Classeur2V5t.xlsm (258,7 Ko)

Bon courage pour la suite

1 J'aime

Bonsoir,
Merci effectivement c’est mieux.
je vous joint un fichier excel qui fonctionne, mais qui quelques fois à des petit raté. je cherche dans un premier temps à ce que le calendrier puis afficher les jours féries et ce peu importe l’année. Dites moi ce que vous en penser.
Bien cordialement .
Heures 2020-1.xlsx (157,5 Ko)