UserForm

bonjour à tous,

je viens d’intégrer un service de prêts de véhicules dans une mairie et je dois simplifier les démarches:

En ce moment nous travaillons avec 5 fichiers Excel pour avoir une trace des actions et pouvoir anticiper les choses, mais cela est lourd, car pas d’interconnexion entre les fichiers.

Je me suis donc lancé dans la création d’un seul fichier:

Description:

Un onglet « base de données » où je vais entrer les changements sur les véhicules donc si par exemple un véhicule passe un CT j’ajoute une ligne pour le signifier.

Ceci va me permettre de garder un historique pour chaque véhicule (le bouton MAJ véhicules que j’ai programmés avec beaucoup de mal va créer un onglet par véhicule avec dedans son historique).

donc j’en suis à l’étape ou je dois récupérer et enregistrer des infos via un UserForm:

J’ai donc créé mon UserForm, mais en ce qui concerne le code je ne m’en sors pas.

voici ce que je voudrais mettre en place dans le UserForm :

  • quand je rentre un numéro de véhicule (ex 1267) le reste ce rempli avec les infos de la dernière ligne qui concerne ce véhicule comme cela je retrouve l’état de mon véhicule à l’instant T.
  • je corrige cet état.
  • quand je valide le UserForm il crée une nouvelle ligne dans « base de données » avec les nouvelles infos.
  • si le véhicule n’est pas trouvé c’est que c’est un nouveau donc je crée sa fiche.

-Pour le CT, la contre visite, les entretiens, le triangle, le gilet et les papiers j’ai mis des cases à cocher et donc suivant ce qu’il y a dans le tableau (OK,cv,oui,non) il faut cocher la case et inversement si une case est cochée il faut traduire en texte dans la nouvelle ligne.

J’espère avoir était clair dans mon explication.

Je demande de l’aide car je ne sais pas faire et que je veux évoluer.

j’ai cinq autres UserForm à faire et j’aimerais bien les faire tout seul alors si vous pouviez commenter le code que je puisse comprendre le pourquoi cela serait le top.

Par avance je vous remercie pour l’aide que vous allez m’apporter.

je vous joint mon fichier.

44vehicules.xlsm (300.14 Ko)

Daniel

Bonjour,

En regardant votre classeur, je vois :

1- une Base de Données qui enregistre les différentes opérations sur les véhicules,

2- une fiche pour chaque véhicule.

En toute logique, la fiche du véhicule devrait comporter ses caractérisques avec son dernier statut technique et non l'ensemble des opérations qui y ont été effectuées . Ces infos font doublon avec la Base de Données. Pour retrouver l'ensemble des opérations associées à un véhicule, un TCD relatif à la Base de Données devrait faire l'affaire.

Bonjour Thev,

oui je sais mais mon responsable veux donc:

  • un onglet comportant toute les opérations sur les véhicules (donc ici "base de donnees")
  • et pouvoir sortir les infos depuis l'achat du véhicule jusqu'à aujourd'hui c'est pour cela que j'ai créé un bouton pour regrouper les infos par véhicule dans un même onglet.

c'est la fonction public donc tout a son importance vu les marchés passés et le besoin de faire des stats et au cas ou de vérifier s'il y a eu une erreur dans l'entretien ou le CT etc.

voila l'explication.

Daniel

bonjour à tous,

je vois que 45 personnes ont pris la peine de me lire donc merci.

je crois que j'en demande trop donc laissez tomber je vais continuer avec mes 5 fichiers et je reviendrais dessus quand je m'aurais amélioré en VBA.

en tout cas merci à tous pour le travail que vous faites.

Bon Week-end,

Daniel

Bonjour danval et le forum,

Pour un suivi complet des véhicules:

- quand je rentre un numéro de véhicule (ex 1267)

ce n° est créer par qui ou en automatique!!!

** dans la feuille basse de données**

pour le suivi des véhicules il faudrait mettre le kilométrages de l'achat et revente,

** dans la feuille carburant**

ainsi que les kilomètres fait quand on fait le plein carburant,

cordialement ferdinand

bonjour FERDINAND,

le numéro est un numéro affecté au véhicule suivant sont utilité et les personnes qui peuvent le prendre.

donc soit on va le retrouver dans l'onglet "base de donnees" soit il n'y a encore rien de fait sur ce véhicule et là la fiche seras vierge en ce qui concerne l'entretien , CT,...

je vais au démarrage du fichier entrer tout les véhicules du parc comme cela le UserForm trouvera tjrs un véhicule.

pas besoin des Kms car il sont capté lors du plein de la voiture ou quand une personne intègre les clefs dans l'armoire.

les Kms sont analysés par un logiciel couplé à la station carburant et à l'armoire.

voila c'est pour cela que j'ai mis dans mon fichier juste ce qu'il faut pour évité de surcharger.

un export et un croisement avec d'autres infos est déjà prévu mais pour mi 2019 car nous changeons d'armoire à clefs.

merci de t'intéresser à mon fichier et bon WE.

Daniel

Bonjour,

Il est sûr que l'on hésite toujours à entrer dans une assistance à un travail de longue haleine tel que tu l'entreprends...

J'ai jeté un oeil sur ton fichier, sans intention particulière d'intervenir, mais je peux te faire part de mon sentiment à l'examen de tel ou tel détail... détails, en soi et chacun, tout à fait secondaires, mais qui d'une part connotent la rigueur que l'on met à la mise en place d'une application de ce type, et cela requiert toujours un niveau de rigueur élevé, et d'autre part en s'accumulant pourront devenir un frein à la réalisation...

Je lis par exemple dans ta base : RENAULT et Renault, Citroene...

On peut choisir parmi diverses présentations graphiques, mais pour une même type de données la présentation doit rester homogène et rigoureusement respectée une fois définie. Et l'utilisation d'un Userform pour la saisie permet justement de contrôler cette mise en forme et même d'en assurer automatiquement un certain nombre...

En tant que responsable d'un service, je ne supporterais pas que l'on me fournisse un travail présenté de façon bancale et aléatoire. Et encore moins que l'orthographe de noms de marques ne soit pas respecté.

Autre remarque concernant les dates : on peut choisir divers formats mais je trouve tout à fait inadéquat de multiplier les formats dans un même document, et cela nuit en outre à l'efficacité de lecture. Et il est souhaitable que le format choisi ne conduise pas à des écarts de longueur important d'une date à l'autre, ce que produit l'indication du mois in-extenso...

J'ai ouvert ton Userform : déjà il ne s'affiche pas en entier sur mon écran, alors que son contenu devrait le permettre sans difficulté ! Le ratio largeur x hauteur est en proportions inverses d'un écran standard...

Il ne faut jamais perdre de vue qu'un Userform est un outil destiné à faciliter la saisie, la rendre plus rapide et plus fiable, et que son ergonomie doit être particulièrement soignée. On doit toujours, sur chaque manipulation élémentaire gagner quelques millisecondes par rapport aux mêmes réalisées sur feuille, et on doit aussi gagner quelques millisecondes dans la compréhension de ce que l'on voit, dans un Userform...

Sur les 2/3 de sa hauteur, la moitié de l'espace est vide... déperdition, et multiplication de mouvements oculaires. Le ratio espaces utilisés / espaces vides est manifestement inadéquat. Les vides doivent permettre de mieux distinguer les zones utiles et assurer le passage logique de l'une à l'autre...

Les contrôle ne sont pas renommés. C'est lorsqu'on le réalise que l'on doit penser à l'utilisation qui va suivre, la correspondance de chaque contrôle avec un champ de la base, qui sont dans un ordre donné, que l'on doit mettre en place un dispositif qui facilitera les opérations ultérieures, l'utilisation de boucles et de tableaux, etc. Une fois qu'on est avancé dans la réalisation, il est trop tard, sauf à effacer pour repartir à zéro (ce que d'ailleurs il m'arrive souvent de préconiser ! )

Dis-toi que ce que tu n'as pas pensé et conçu avant de démarrer la réalisation concrète fera défaut à l'arrivée, et que l'introduction après coup de ce qu'on a oublié de prévoir est toujours bancale.

En espérant que ces quelques remarques sommaires te soient utiles...

Cordialement.

merci pour la critique.

les infos dans le fichier sont mis à la va vite c'est juste pour tester le fichier qui seras en production est fait avec un export des véhicules de la base de données de l'armoire à clefs.

comme j'ai dis je ne connais rien au UserForm donc tout ce que tu dis est surement vrai mais ne sachant pas j'ai fais au mieux.

par contre les cinq qui me reste à faire ne seront que mieux car je saurais quoi faire.

Daniel

à la va vite

jamais de vitesse au détriment de la précision ! Et elle ne doit jamais prendre le pas sur la réflexion !

les cinq qui me reste à faire

ne devraient pas empêcher d'améliorer le premier !

Et avant d'ajouter des Userforms, on regarde si dans ce qu'on a déjà fait il n'y en a pas de réutilisable... A noter que plus ils sont conçus de façon génériques, plus ils pourront répondre à des utilisation multiples semblables. Par exemple toutes les fonctions de gestion d'une base de données sont assurables au moyen d'un unique Userform.

Et si je regarde l'organisation des données et le code déjà existant... On voit que tu nommes des listes avec des noms qui incorporent un nombre conséquent de lignes vides. C'est un élément dysfonctionnel !

On nomme de façon dynamique, pour que le nom soit toujours adapté à la dimension de la liste. Et dans ce cas, on ne débute pas une liste en ligne 3 en abandonnant une ligne au-dessus. On place un inititulé de liste en 1 et on débute la liste en 2...

Ou on utilise un tableau Excel qui, étant auto-extensible, permettra un nom automatiquement adapté...

D'ailleurs cette question d'utiliser ou non des tableaux Excel mérite d'être posée pour la base de données, dès le départ...

Et le code déjà existant fait apparaître de nombreux éléments à revoir dans les méthodes utilisées... mais c'est l''organisation choisie au départ qui conditionnera le degré d'optimisation que l'on pourra atteindre par la suite.

Je persiste toujours à dire que le moment le plus important d'un projet est la conception, qui se passe avant que l'on commence à bidouiller sur le tableur, et je ne connais pas de cas où cela ne se soit pas vérifié.

Mais bonne continuation tout de même !

merci pour ton aide en ....................littérature.

merci pour ton aide en ....................littérature.

Si tu lis avec attention et réfléchis à ce que tu lis, je n'aurai pas perdu mon temps... (encore que cela reste à disposition de tout un chacun qui pourra éventuellement en tirer profit ! )

Maintenant, pour une aide un peu plus matérialisée, je réclame quelques conditions que tu n'es manifestement pas prêt de vouloir. Là je perdrais mon temps.

Je veux bien prêcher dans le désert... mais prêcher, pas plus ! Et pas trop longtemps !

Autrement dit :

Tu arrives avec des questions qui se posent à toi pour avancer dans la réalisation de ton projet.

Je regarde la nature des questions, la configuration mise en place ou projetée, les objectifs visés, le degré de conceptualisation de l'ensemble... J'ai naturellement assez vite une idée des point suffisamment bien établis, des manques, des orientations à développer... concernant le projet (je ne suis plus débutant , et l'expérience joue tout de même son rôle).

A ce stade, je peux trouver qu'il y a des choses intéressantes à faire, et proposer mon concours afin de contribuer à l'élaboration du projet... dans le sens des orientations qui me paraissent devoir être privilégiées !

Mais ce projet n'est pas le mien. Un travail collaboratif implique donc que celui qui en est maître partage au moins pour une part déterminante la vue que j'en ai. Il ne serait guère satisfaisant de me mettre à faire pour voir défaire ce que j'aurais fait, ou travailler dans des voies dont j'estime qu'elles conduiront à des impasses ! Son intérêt est de déboucher sur une réalisation qui réponde le mieux possible à ce qu'il souhaite. Mais le mien ne résidera pas dans cet objectif global, il ne peut se trouver qu'au niveau des méthodes, des essais pour les améliorer et trouver les plus adaptées dans un contexte donné... toutes sortes d'éléments qui pourront s'avérer réutilisables ailleurs. Et si les intérêts se renforcent en se combinant, chacun y trouvera son compte et aura pu progresser.

J'espère me faire bien comprendre. S'il s'agissait simplement de te mettre au point une formule sur laquelle tu butes, j'aurais évidemment commencé par la fournir, si quelqu'un d'autre ne l'avait encore fait, et étant en mesure de le faire... mais on est dans une tout autre situation !

Cordialement.

il n'y a pas 12 000 façons de faire.

1 - ouverture du userform

2 - entrer le numéro du véhicule

3 - reporter dans le userform les infos que l'on trouve dans la dernière ligne concernant ce véhicule dans l'onglet "base de donnees".

comme cela on a l'état du véhicule.

4 - on ajoute ou modifie les infos

5 - on créer une nouvelle ligne avec les éléments du userform modifié dans base de donnees.

la problématique est des plus simple je crois alors pourquoi vouloir allé chercher à modifier la logique du projet.

je sais que ce n'est pas parfait mais voilà ma direction le veux comme cela et je n'y peux rien.

comme cela on a une seule fiche qui regroupe toute les infos des véhicules au fur et à mesure de leurs vie.

et grâce au bouton que j'ai créé je peux reporter les infos dans un onglet par véhicule.

la logique utilisée dans ce fichier va servir à le relier d'ici 10 mois à la stations essence et l'armoire à clefs.

donc je ne peux pas modifier cela

Daniel

Qui t'a parlé de modifier la structure d'un processus déjà institutionnalisé ?

Mais pour faire chacune des opérations élémentaires, il y a diverses méthodes, et certaines seront plus efficaces et plus rapides que d'autres, et leur mise en oeuvre dépend de la façon dont on conçoit l'organisation...

bon je laisse tomber car des discours et des discours pour ne pas avancer.

j'ai trouvé des choses et je suis en train de faire ce que je peux

je dépose ici mon fichier modifié

Bonjour à tous,

Un essai ...

J'ai modifié le userform afin d'en réduire en taille.

Le userform se centre dans la fenêtre.

On clique sur un véhicule dans le listbox à droite, les infos sont lues et placées dans le userform

On lit, modifie ou ajoute.

Mais lors d'une modification, la date (colonne A) est modifiée pour celle du jour > est-ce correct ou il faut garder la date d'origine ?

On ajoute un nouveau véhicule ... dans la feuille "BASE DE DONNEES" seulement pour l'instant.

C'est quand même un bon pas en avant.

ric

Bonjour RIC,

je dis YES YES YES.

waoooooooo trop fort.

je viens donc de tester et trés trés bien juste des petits ajustement.

On ajoute un nouveau véhicule ... dans la feuille "BASE DE DONNEES" seulement pour l'instant.

c'est suffisant par besoin de mettre les infos ailleurs.

Mais lors d'une modification, la date (colonne A) est modifiée pour celle du jour > est-ce correct ou il faut garder la date d'origine ?

  • lors d'une modif on garde bien la date du jour (ceci permet de tracer les choses)
  • pour le contrôle technique il y as deux phases :

1 - tu mets la date du contrôle technique

2 - s'il est bon tu coche la case et tu mets OK en colonne H sinon coche la case CV à passer et tu mets CV en colonne H (il manque donc une case à cochée dans contrôle technique il en faut une pour CT ok et une pour signifier la contre visite en attendant d'avoir une date)

3 - quand tu as une date de CV tu mets la date de la contre visite tu garde tjrs CV en H.

4 - quand le véhicule à passé tu coche la case contre visite ok tu met OK en colonne I

une autre chose mais je sais pas si c'est possible: trier les véhicules par Numéro dans la grosse colonne de gauche du userform car avec environ 200 véhicules cela devient compliqué à retrouver un numéro.

un autre bug quand tu sélectionne une voiture une date se met automatiquement dans controle technique??

je te joint le fichier ou j'ai ajouté la case à cocher qui manque.

encore mille merci pour le travail

Daniel

un autre bug quand tu sélectionne une voiture une date se met automatiquement dans controle technique??

j'ai trouvé "G" au lieu de "A" quand tu importe les données d'un véhicule

Daniel

un autre bug.

quand on met une date dans le userform "entretien/date" et que l'on valide dans la case de la colonne K il y as un ok qui se met alors que la case entretien fait du userform n'est pas cochée????

Bonjour,

Ce que je t'ai envoyé est une ébauche.

J'ai pris note des modifications demandés et je te fais cela bientôt.

Mais avant de remettre le fichier, je viendrai lire au cas où tu aurais d'autres commentaires.

ric

bon j'ai corrigé pas mal de bug de remplissage des données du userform vers le tableur.

voici donc le fichier

12vehicules.xlsm (260.06 Ko)

reste la configuration des deux cases avec test pour le CT.

je regarde à cela

Rechercher des sujets similaires à "userform"