UserForm

Y compris Power BI, Power Query et toute autre question en lien avec Excel
d
danval
Membre fidèle
Membre fidèle
Messages : 293
Inscrit le : 21 septembre 2013
Version d'Excel : 2011 EN

Message par danval » 19 octobre 2018, 07:33

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.
VEHICULES.xlsm
(300.14 Kio) Téléchargé 43 fois
Daniel
Avatar du membre
thev
Membre impliqué
Membre impliqué
Messages : 2'479
Appréciations reçues : 209
Inscrit le : 13 juin 2016
Version d'Excel : 2019 FR 64 bits

Message par thev » 19 octobre 2018, 13:56

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.
d
danval
Membre fidèle
Membre fidèle
Messages : 293
Inscrit le : 21 septembre 2013
Version d'Excel : 2011 EN

Message par danval » 19 octobre 2018, 15:50

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
d
danval
Membre fidèle
Membre fidèle
Messages : 293
Inscrit le : 21 septembre 2013
Version d'Excel : 2011 EN

Message par danval » 20 octobre 2018, 09:52

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
F
FERDINAND
Membre fidèle
Membre fidèle
Messages : 219
Appréciations reçues : 12
Inscrit le : 29 janvier 2014
Version d'Excel : Office 365

Message par FERDINAND » 20 octobre 2018, 11:28

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
d
danval
Membre fidèle
Membre fidèle
Messages : 293
Inscrit le : 21 septembre 2013
Version d'Excel : 2011 EN

Message par danval » 20 octobre 2018, 11:48

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
M
MFerrand
Fanatique d'Excel
Fanatique d'Excel
Messages : 17'194
Appréciations reçues : 446
Inscrit le : 20 juillet 2015
Version d'Excel : 2010 FR

Message par MFerrand » 20 octobre 2018, 12:26

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 ! :lole: )

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.
d
danval
Membre fidèle
Membre fidèle
Messages : 293
Inscrit le : 21 septembre 2013
Version d'Excel : 2011 EN

Message par danval » 20 octobre 2018, 13:11

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
M
MFerrand
Fanatique d'Excel
Fanatique d'Excel
Messages : 17'194
Appréciations reçues : 446
Inscrit le : 20 juillet 2015
Version d'Excel : 2010 FR

Message par MFerrand » 20 octobre 2018, 14:13

à la va vite
8[] 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 ! :)
d
danval
Membre fidèle
Membre fidèle
Messages : 293
Inscrit le : 21 septembre 2013
Version d'Excel : 2011 EN

Message par danval » 20 octobre 2018, 14:35

merci pour ton aide en ....................littérature.
Répondre Sujet précédentSujet suivant
  • Sujets similaires
    Réponses
    Vues
    Dernier message