MsgBox d'alerte avant ajout, svp

pompaero

XLDnaute Impliqué
Bonjour à tous

Je viens vers vous pour un coup de pouce sur des MsgBox avant enregistrement ou modification.
Je viens de créer un début de fichier avec une BDD concernant des personnels sur plusieurs sites, jusque la je pense y avoir arrivé.
J'aimerai sur Usf-Ajout et UsF_Modif avoir un MsgBox afin d'éviter les doublons sur les Nom, Prénom, Site et Fonction car je n'arrive à le faire.
Egalement sur Usf-Ajout un MsgBox pour obliger le renseignement de tous les objets (Textbox, Combobox), chose que j'ai commencé à faire mais ne fonctionne pas bien.

Merci à vous
Cdlt.
 

Pièces jointes

  • Mise en place fichier casque.xlsm
    80.8 KB · Affichages: 99

Dranreb

XLDnaute Barbatruc
Bonjour.
La finalité de l' UFm c'est d'arriver à faire tout ce qu'on peut avoir besoin de faire en terme de consultation et mise à jour.
La recherche est indissociable de la mise à jour puisqu'il faut pouvoir ajouter seulement quelque chose de neuf et modifier seulement quelque chose d'existant. Ça implique de le rechercher, et le plus tôt c'est le mieux.
Le site, nom et fonction font partie de la base personnel, on ne va pas les faire figurer aussi dans la base Casque à moins qu'on n'ait besoin de conserver une trace de la dernière personne qui l'utilisait quand il n'est plus attribué.
Pour renseigner les deux base je procèderai comme toujours: j'affecterai les valeurs de contrôles aux éléments d'un tableau VBA à 2 dimensions mais d'une seule ligne et j'affecterai ce tableau à la propriété Value de la ligne concernée dans la base. La ligne concernée étant soit celle trouvée par l'objet ComboBoxLiées, soit une nouvelle ligne s'il n'en a pas trouvé.
Il pourrait être intéressant de mettre sous forme de tableaux, coté Excel, les plages des bases. Ça permettrait de spécifier les titres des colonnes au lieu de leurs entêtes de colonnes dans les Add, et donc de ne pas tout refaire quand on supprime ou ajoute des colonnes.
Mais d'abord j'ai ajouté ce qu'il faut pour que le casque vienne automatiquement quand on aboutit à une personne existante à laquelle il en est attribué un, et vice versa, c'est à dire la personne quand on aboutit à un casque attribué.
 

Pièces jointes

  • CbxLiéesPompaeroRelationnel.xlsm
    177.4 KB · Affichages: 70
Dernière édition:

pompaero

XLDnaute Impliqué
Bonjour
encore félicitation pour exelant boulot, j'en suis bouche-bé.

Si je comprends, les recherches s'effectuent principalement avec le Matricule dans la partie "Personnels" et N°ID Casque dans la partie "Casques" ? ce qui m'oblige à connaitre les matricules et n°id casque par cœur correspond au personnes, non ? y aura t'il un moyen de pouvoir rechercher par Site pour affiner la recherche ?
A moins que l'on se servent de la ListBox pour afficher que le site voulu, comme j'avais fais avant!!

Bonne idée !! Si c'est possible, le fais de conserver une trace de la dernière personne qui utilisait un casque quand il n'est plus attribué, est très intéressante, je pense que ma direction apprécierait.

Si cela t'arrange de mettre sous forme les tableaux, coté Excel, pour les plages des bases, tu as carte blanche.
J'ai conservé pour le moment dans partie Casques, les CBx Site, Nom, Fonction qui sont mise en Enabled.
 

Pièces jointes

  • CbxLiéesPompaeroRelationnel.xlsm
    180.7 KB · Affichages: 67

Dranreb

XLDnaute Barbatruc
Non, la recherche peut se faire sur toutes les ComboBox sans exception.
A ce propos, je trouve qu'il y en a beaucoup trop dans la partie Casque.
Il faut les réserver seulement à ce qui doit pouvoir faire l'objet d'une recherche ou est une information essentielle de la ligne, qui ne risque plus de changer une fois la ligne créée (du moins en principe… Parce que s'il faut pouvoir changer une info devant pouvoir faire l'objet d'une recherche ça implique d'utiliser les méthodes Stopper et Réactiver de l'objet ComboBoxLiées pour que la modification de la ComboBox ne déclenche plus une recherche)
La liste de celles qui ont leur propriété ShowDropButtonWhen à 0 peuvent quand même être affichées par touche Alt+Flèche bas.

Pas vu de changement dans ton dernier classeur joint.
Depuis j'ai sécurisé un peu. Mais il reste encore du boulot.
Je ne suis pas sûr que ce soit plus simple de faire comme ça qu'avec un seul tableau, comportant un groupe de colonnes pour la personne et un autre pour le casque: La recherche par un seul ComboBoxLiées et l'exploitation pour des rapports divers en seraient incontestablement simplifiées. En revanche la mise à jour par l'UserForm serait peut être un peu plus compliquée s'il fallait pouvoir afficher à la fois une personne sans casque et un casque non attribué en vue de les associer. Et si en réalité ce problème n'existe pas vraiment alors il n'y a réellement aucune raison de faire deux tableaux !
Et même, un truc simple qui pourrait résoudre tous les problèmes de ré-attribution: un bouton pour mémoriser la ligne courante, et un autre pour intervertir les renseignements personne entre la ligne mémorisée et la nouvelle ligne courante !
Deux autres bouton éventuellement: un pour éclater la ligne courante en 2 lignes, l'une sans personne l'autre sans casque, l'autre pour fusionner la ligne notée et la ligne courante si l'une est sans casque et l'autre sans personne…
Sans compter qu'avec un seul tableau ça ouvrirait la voie à une recherche combinant deux caractéristiques: une du casque l'autre de la personne, ce qui est actuellement impossible.

Pourquoi tiens tu à ce que je fasse moi la mise sous forme de tableaux ?

Dernière minute: Ajouté garnissage ListBox LBxListeVisuel
 

Pièces jointes

  • CbxLiéesPompaeroRelationnel.xlsm
    181.7 KB · Affichages: 69
Dernière édition:

pompaero

XLDnaute Impliqué
Ah oui !! tu trouve qu'il y a trop de CBx dans partie Casque ? Je les mis dans l'optique d'éventuels modification et/ou ajout par la suite (donc, je ne dois pas bien encore imaginer le résultat final du UF, désolé). Comment dois-je effectuer ? Supprimer les flèches des CBx inutile à la recherche, par ex ? Chose faites au cas ou cela soit bon.
Concernant l'affichage à la fois d'une personne sans casque et d'un casque non attribué en vue de les associer n'est pas nécessaire.
L'idée de tes boutons qui pourrait résoudre tous les problèmes de ré-attribution me convient si cela te facilite la tâche.

Dans le post précédent tu propose :
Il pourrait être intéressant de mettre sous forme de tableaux, coté Excel, les plages des bases.
Je veux bien le faire mais qu'appel tu "sous forme de tableaux, côté Excel" ? C'est dans l'onglet Insertion --> tableau ? et ensuite mise en forme avec l'onglet "Format" ?
A te lire.
 

Pièces jointes

  • CbxLiéesPompaeroRelationnel.xlsm
    181.3 KB · Affichages: 86

Dranreb

XLDnaute Barbatruc
Bonjour.

Non ce n'est pas suffisant. S'ils sont inutiles à la recherche ils ne doivent pas donner lieu à appel de la méthode Add de l'objet ComboBoxLiées, et ce ne sont alors en principe pas des ComboBox mais des TextBox.
Dans ce cas j'espère que nous somme bien d'accord: en dehors du tableau suivi qu'on verra plus tard, on ne travaille plus qu'avec un seul tableau qui est la réunion de la BDDAgent et de la Fiche Vie Matériel. D'ailleurs cette dernière contient pratiquement déjà tout: il ne reste plus qu'à remplacer la colonne "identité de l'utilitaire", qui ne sert à rien, par deux colonnes: Nom et Prénom. Je propose de remettre leurs flèches aux ComboBox correspondantes, ça n'y empêche pas aussi la frappe de noms et prénoms, qu'ils soient nouveaux ou existants. Il ne faut jamais se laisser hypnotiser par cette flèche: une ComboBox c'est fait avant tout pour y taper des choses. La liste avec la flèche ça vient après, quand on ne sait plus quoi taper ou quand on sait qu'elle contient peu de choses parmi lesquelles en choisir une existante.
Et je pousse un ouf de soulagement, parce que c'était quand même assez casse gueule de travailler avec plusieurs ComboBoxLiées. Le Matricule de la personne n'est plus vraiment nécessaire non plus.
Pour les tableaux, je n'avais même pas vu qu'on pouvait peut être aussi faire comme ça. Pour moi c'est onglet Accueil, groupe Styles, Mettre sous forme de tableau. Mais je le ferai si tu veux, j'ai ma réponse, c'est parce que la manœuvre ne t'est pas familière.
 

pompaero

XLDnaute Impliqué
Bonjour
J'ai modifier une bonne partie des CBx en Tbx, si j'ai bien compris. Oui nous partons sur une seule BDD "Fiche Vie Materiel", ou j'ai ajouté Nom, Prenom au lieu de "identité de l'utilitaire".
Après avoir supprimé CbxMatricule dans partie Personnel un Bug est apparu au niveau du
Private Sub CLCsq_Resultat(Lignes()As Long) à la ligne du
If CbxMatriculePers<> Idpers
donc je l'ai laissé puis le reste donne l'impression de ne plus fonctionner, j'espère n'avoir pas fais une connerie..
Ok pour mettre sous forme de tableau, j'avoue , ce n'est pas familier pour moi.
Désolé encore, si erreur de ma part.
 

Pièces jointes

  • CbxLiéesPompaeroRelationnel.xlsm
    183.3 KB · Affichages: 54

pompaero

XLDnaute Impliqué
J'ai regardé vite fais ton travail, c'est un Travail de ouuf que tu fais, c'est magnifique !! j'en suis même gêner.
Pour la CbxRedacteur, je veux la laisser sans recherche.
Le fichier devient plaisant à regarder et à travailler avec. Je vais tenter de faire quelques essais.
 

pompaero

XLDnaute Impliqué
Bonjour
Après quelques essais, je commence comprendre le lien entre les 2 BDD réunies; a priori je suis arrivé à créer une personne, y ajouter un casque à cette dernière. Je n'ai pas arrivé par contre, à créer un casque seul.
Faut il faire quelque chose pour t'avancer ?
 

Dranreb

XLDnaute Barbatruc
Bonjour.
Non, continuer les tests et me dire ce qui ne vas pas pour que je puisse continuer à t'aider à t'avancer.
Et étudier un peu les éléments de programmation que j'ajoute pour arriver à les comprendre et être capable un jour d'y intervenir, voire de développer un jour une application utilisant les mêmes modules de service. Tu trouvera des explications sur tout terme contenant "CL" dans le module de classe ComboBoxLiées.
J'ai réussi dans la version actuelle à créer un casque seul
 

Pièces jointes

  • CbxLiéesPompaeroCasques.xlsm
    200.1 KB · Affichages: 66

pompaero

XLDnaute Impliqué
Merci pour toute l'aide que tu m'ammene, et pour ce qui est de comprendre, je fais mon maximum, justement pour essayer d'intervenir si besoin. (j'aurai aimer avoir un prof comme toi à mets côtes pour apprendre plus vite)
Suite à tests,
- quand on crée une personne les Cbx ne réinitialise pas suite au click du Bt "Valider", à moins que ce soit normal pour le moment.
J'ai peu être fais une erreur en demandant de créer un casque seul !! est ce bien nécessaire ? parce que je n'arrive pas à attribuer un casque en stock (par ex) vers une personne n'ayant pas de casque attribué ou vis versa. (je vais peu être trop vite..).
Est ce obligé d'attribuer un N° ID casque des lors que l'on entre une personne ?
Ma vision des choses est de rentrer les personnes (Site, Nom, Prénom, Fonction) et de rentrer les casques avec un N° ID à part (en stock par ex, en attendant) puis ensuite de pouvoir attribuer un casque à une personne avec tout ce qui suit par derrière (supprimer, modifier, ect une personne ou casque).
Comme je disais juste avant (je vais peu être trop vite..).
Si possible, éviter les doublons au niveau des personnes.
je poursuis les test.
 

Dranreb

XLDnaute Barbatruc
C'est normal que les contrôles ne se réinitialisent pas. On peut s'apercevoir ensuite qu'on a oublié quelque chose après tout.
Le bouton "Fermer" sera affecté à la touche Echap et servira également à terme à effacer tous les contrôles, mais aussi à Annuler des changements entrepris. Si tu est d'accord.
Non, je l'avais un tout petit peu perdu de vue mais on doit pouvoir créer un casque seul. Et une personne seule aussi. Ça ne marchait peut être pas encore normalement parce que je n'avais pas mis de quoi savoir si un casque était décrit dans les autres contrôles. Ça devrait être réparé dans la version suivante.
Une fois la base de toutes les actions classiques bien au point, ce qui ne devrait plus tarder, d'ailleurs, je m'attaquerai aux boutons Mémoriser, Intervertir, Suprimer. Il le faut, je crois, le bouton supprimer, parce que si on intervertit un sans casque et un sans personne ça laisse un casque attribué et un enregistrement vide ! Du moins si je n'y prend pas garde…
Bien que ce dispositif devrait suffire, j'ajouterai sans doute aussi des boutons Eclater et Fusionner.
Le Label de tête ne me parait pas servir à grand chose pour le moment mais pourrait être nommé LabInfo pour divers renseignements dont l'affichage du début du contenu de la ligne mémorisée en vue interversion ou fusion.
 

Pièces jointes

  • CbxLiéesPompaeroCasques.xlsm
    209.6 KB · Affichages: 55

pompaero

XLDnaute Impliqué
Pour la touche Echap, c'est ok pour moi.
La création d'une personne ou un casque seul à l'air de fonctionner, je poursuis les tests tout de même.
Je pense aussi qu'au niveau des actions classiques, cela ne va pas tarder à être bon.
Ok pour les boutons que tu souhaite mettre en place. La proposition du LabInfo parai une bonne idée également (on sent la maitrise d'un prof... lol)
 

pompaero

XLDnaute Impliqué
Bon !! Suite à quelques essais, je commence à apercevoir le fonctionnement de ta mise en place.
- Entrée d'une personne seule --> Ok
- Entrée d'un casque seul --> Ok
- Bouton Echap (très pratique) efface des lors que l'on effectue une recherche avec une Cbxliées, ex : "N°ID Casque", "Site", c'est bien ça ? (c'est le fonctionnement que moi j'ai trouvé). Si non Echap sert à quitter l'UF.
- A l'enregistrement d'un casque seul, après le click du Bt ajouter tout s'efface --> Ok
- Par contre, lors de l'enregistrement d'une personne seule, rien ne s'efface. est ce normal ?
- La LBxListeVisuel ne s'efface pas ou se réactualise pas non plus.

Serait il possible de forcer l'écriture dans les Cbx et Tbx concernés en Majuscule ou 1ère lettre en Majuscule comme dans l'Ex du Tableau BDD "Fiche Vie Materiel", mais ce n'est pas urgent dans l'immédiat.
Dans le cadre d'éclaircir, alléger le fichier, est il possible de supprimer les feuilles qui ne servent plus ?
Voilà, j'espère avoir fais le tour pour le moment et n'avoir rien loupé dans les tests.
 

Pièces jointes

  • CbxLiéesPompaeroCasques.xlsm
    193.1 KB · Affichages: 72

Membres actuellement en ligne

Statistiques des forums

Discussions
312 105
Messages
2 085 350
Membres
102 870
dernier inscrit
Armisa