Hero de la Bravoure (tableau à remplir)

Bonsoir MFerrand !

Vous m'épatez !!!!

Et comme dit Steelson : quel héro !!!!

Bonne soirée et bon courage pour la suite !

@ bientôt

LouReeD

Salut (heu saturnien puisqu'on est samedi !) LouReed et merci de ta sollicitude...

A y regarder de plus près, il y a plusieurs volets à traiter de façon assez classique, il s'agit de statistiques d'éléments enregistrés sur feuille. Le seul volet qui déroge est la partie à réaliser en temps réel, sans formules cette fois (car les valeurs pouvant varier d'un jour à l'autre, il faut rendre les résultats du jour invariables dès le départ).

J'ai commencé à essayer de jeter les bases d'essais sur le premier lot de travaux (création de variables...)

Prudent, j'ai voulu tester la faisabilité avant d'écrire le code nécessaire (mais après déclarations tout de même) : VBA m'a opposé une fin de non recevoir en tentant de m'expliquer que ce que je faisais était totalement interdit à l'endroit où j'étais et qu'il fallait que je dégage ailleurs pour pouvoir le faire ! Pas tout compris mais j'ai dégagé... et j'ai tapé mon code... qui a fonctionné ! Je n'en demandais pas tant tout de suite, mais fort de ce succès, je me repose dessus un temps suffisant avant de poursuivre.

Je n'en suis pas encore aux essais... il me reste plusieurs maillons intermédiaires à mettre en place avant...

Bonne journée.

Bonjour,

Et bon début de semaine !

Je n'étais pas très enclin ce matin à faire du débogage, mais j'ai tout de même voulu voir ce que donnait le code écrit avant-hier, avec l'intention de remettre à plus tard à la première difficulté...

Mais à ma grande surprise, pas d'anicroche ! Il est vrai que par prudence je suis resté sur les cas simples .

En espérant que cela ne cache pas un gros bogue, je te laisse tester ce premier lot.

Attention, cela ne concerne que la saisie en C6. Les autres saisies ce sera le 2e lot qui viendra compléter le 1er...

Que doit-il se passer en l'état actuel du code ?

A l'ouverture du classeur, la date du jour est mise dans la feuille Jour. Ultérieurement, ce sera dans une nouvelle feuille Jour, initialisée avec une ligne de saisie vierge, numérotée 1 (en A) [dispositif à voir plus tard]. Pour l'instant seule la date est mise...

A l'ouverture ce sera comme si, puisque je te transmets un classeur sans saisie (mais seule cette partie du tableau est réaménagée sur la feuille (donc tu ne t'occupes pas du reste).

Les colonnes colorées (heure, quantité, montant et montant hors taxe) sont servies automatiquement lorsque tu valides une saisie en C6.

Lorsque tu te positionnes sur C6, une zone de liste apparaît comportant la liste des produits. Tu cliques sur les produits vendus, ta sélection s'efface immédiatement, mais l'inscription du produit apparaît en C6. Si plusieurs produits cliqués, des produits différents s'ajoutent (avec +), un même produit répété se multiplie (avec *x).

[Comme j'ai dit, je me suis contenté des cas simples pour un premier, je n'ai pas testé la multiplication au-delà de 2 et la multiplication d'un produit dont l'inscription n'est pas en tête, mais tu vas me dire ce qu'il en est ! ]

En cas d'erreur, tu cliques sur le bouton Effacer, une confirmation t'est demandée, et la cellule C6 est effacée pour que tu puisses recommencer.

Quand tu valides, l'heure s'inscrit, le nombre de produits doit apparaître dans quantité, et le montant et le montant HT apparaissent également. Une ligne est insérée au-dessus de la première est est numérotée automatiquement. Ce mode d'insertion permet que la saisie soit toujours en C6, et que tu restes toujours à la même distance des boutons.

Si tu valides sans rien saisir, 0 s'inscrit en quantité.

Si tu mets un pourcentage de discount (ne taper que le nombre, le "%" se met normalement tout seul) avant de valider, il est pris en compte dans le calcul montant et montant HT.

Par contre, je ne me souviens pas avoir écrit encore de procédure pour qu'il soit pris en compte si tu le tapais après validation, mais c'est prévu (donc ce sera à voir ultérieurement).

Pour l'instant, ce qui est à tester, c'est donc l'inscription en C6 conformément à ton mode de notation, et les calculs afférents sur la ligne. Soit que le système de variables qui le permet fonctionne correctement...

Je crois aussi que j'ai oublié l'initialisation des produits du jour à l'ouverture ! (Pas exactement, dans la mesure où tu peux modifier la liste ou telle ou telle valeur au démarrage de la journée, je dois mette un bouton d'initialisation sur la feuille Liste.)

Mais comme le stockage se fait dans des variables, et qu'on a toujours un risque de réinitialisation, j'ai prévu une gestion d'erreur pour relancer l'initialisation en cas d'erreur. Ce dispositif, apparemmment, fonctionne puisque rien d'autre ne lance l'initialisation (il faudra cependant que je teste que cette initialisation n'intervient qu'une fois en cas d'erreur, car si l'erreur est autre, on tournerait en rond indéfiniment...)

L'ergonomie générale est aussi à voir, mais on ne verra bien cet aspect que lorsque les saisies complémentaires auront été introduites.

Bons premiers tests (je croise les doigts ).

Bonjour, et merci beaucoup.

Cependant après avoir téléchargé le fichier je n'y vois pas les changements que vous décrivez.

Soit je ne comprends pas (ce qui pourrait être le cas mais il ne faudrait pas m'en vouloir).

Soit le fichier uploadé n'est peut-être pas le bon.

help

En effet, avec mes excuses, le bon est maintenant en xlsm...

13eiwdice-demo.xlsm (51.18 Ko)

Ah ! ça devient intéressant !

Hâte de voir la suite !

Alors en retour ;

La sélection déroulante des produits est sympa bien que pas nécessaire, car au final j'aurai une liste de plus d'une centaine de réfs ! , je préfère simplement rentrer le calcul des produits moi-même.

L'heure s'affiche bien automatiquement, nickel, en revanche la quantité ainsi que les montants restent toujours à zero pour le moment, même en validant.

Donc si je modifie manuellement mes lignes de ventes par la suite, est-ce que les onglets recap et liste prendront bien en compte ces modifications ?

Et aussi petite question, si je revois l'ergonomie ainsi que la présentation du tableau, j'ai peur de mettre le bazar en bougeant les cellules de place, ce sera le cas ou il y a un moyen que les fonctions ne bougent pas ? (oui je suis chiant !)

En tout cas merci pour ce beau début de travail !

Là il y a problème ! quantité et montants doivent d'afficher !

Voilà un essai pour démontrer.

A ce stade, l'inscription dans la cellule ne produira rien !

En fait, contrairement aux expériences précédentes utilisant des constantes nommées, ici on fait l'inverse : à partir de la sélection dans la zone de liste, on récupère le nom et le prix, avec le nom on établit une chaîne texte qu'on insère immédiatement en C6 et qu'on conserve en vue des sélections suivantes, le prix est conservé sans être affiché pendant les sélection. Lors des sélections suivantes, on met à jour la chaîne texte et on cumule le prix. A la validation, on inscrit l'heure, le prix et le prix HT calculé.

L'objectif ici (on est en train de vendre) est essentiellement la rapidité. La sélection me fournit l'identification directe de la variable concernée, je n'ai donc qu'un traitement de la chaîne à inscrire à chaque sélection pour introduire un multiplicateur si un produit est réitéré ou intercaler des + pour les autres. Et lors de la validation le prix est déjà calculé, il suffit de l'afficher et calculer le HT. La quantité également n'est plus qu'à afficher, elle est en mémoire.

Si on procédait à partir de la chaîne, il faudrait décomposer la chaîne en éléments unitaires, mémoriser les quantités éventuelles, tester chaque élément pour retrouver la variable correspondante, et ensuite se livrer aux calculs : dénombrement pour la quantité, cumul du prix, prix HT, et enfin afficher. C'est 4 à 5 fois plus de temps.

J'ai imaginé toutefois de pouvoir refaire le calcul à partir des notations de produits, mais en fin de journée pour la statistique journalière, pour opérer une vérification globale, car là le problème de temps est moins important et on n'a aucun affichage avant la fin, donc une économie d'échelle. J'ai réservé la réflexion finale sur ce point pour le 3e lot...

Pour ce qui est de la présentation, c'est sur ton modèle de présentation que je travaille : si tu as une modification (justifiée ! ) à y apporter, c'est maintenant, il n'y a pas encore beaucoup de code à reprendre. mais la ligne de saisie et la cellule de saisie ne bougeront plus une fois établies.

Les récaps, on a le temps, mais elles seront calquées sur les récaps journalières.

La feuille Liste, je m'en occupe, et je t'indiquerai ce que tu pourras y modifier et surtout ce qu'il ne faudra pas toucher.

Actuellement, elle contient la liste des produits avec à côté, les prix et la signalisation exo. La liste des produits est nommée (en champ dynamique). Donc il ne doit déjà rien y avoir en col. A en-dessous de cette liste. Evidemment il est prévu que tu la mettes à jour chaque fois que nécessaire, en principe journellement. (Mais rien n'interdit de le faire en cours de journée, sauf qu'à ce moment là il ne sera plus possible de recalculer en fin de journée, il faut donc que je le sache pour en tenir compte.)

Il n'était pas pour l'instant prévu de modifier une vente après coup, mais on peut effectivement prévoir et mettre en place un dispositif pour le faire.

Je ne comprends pas ce que tu veux dire en parlant de fonctions ? Pour le moment il n'y a qu'une seule formule dans la feuille, qui réplique la date pour afficher le jour. Pour tout ce qui est ventes et statistiques, il n'est prévu aucune formule. Tout en valeurs ! Si on mettait des formules c'est que les valeurs calculées pourraient changer ultérieurement, or une fois vendu et enregistré, c'est forcément définitif.

Je crois que je n'ai rien oublié...

C'est super.

Tout ça m'impressionne mais je me demande toujours si cela ne serait pas possible juste en utilisant des formules.

J'ai peur de perdre le contrôle s'il s'agit de choses que je ne saurai comprendre ou refaire. (ce qui est le cas)

Au cas où, je réupload un nouveau modèle de classeur tout frais avec l'interface finale que je souhaite.

Il y a déjà quelques formules, tout le reste qui est coloré est ce que je ne sais pas faire (pour le moment).

Ces cellules colorées contiennent à chaque fois un commentaire intégré qui explique et résume l'intention, j'espère d'une manière suffisamment précise. Reste à voir si elle serait possible avec des formules (pas trop complexes)

Voilà ! Ne me détestez pas et n'hésitez pas à continuer de me dire toutes vos suggestions et conseils que j'écoute attentivement !

Voir fichier ci-joint.

1920.xlsm (60.29 Ko)

Bonjour,

1) Je souhaiterais d'abord réponse à ma première question : à savoir comment tu as procédé pour que les résultats prévus ne s'affichent pas, sachant qu'en procédant de la façon prévue je ne vois pas de raison les empêchant de s'afficher.

2) Les modifications d'interface que tu souhaites, il est souhaitable de les faire à partir du projet en cours de travail, pour au moins éviter de tout recommencer à zéro sur un nouveau projet.

3) Les modifications purement visuelles ne poseront en principe pas problème, y compris pour être introduite ultérieurement. Par contre la structure une fois arrêtée doit rester stable si l'on veut des résultats fiables.

4) Les éléments que j'ai modifié sur ta première version de projet, c'est pour des raisons de rapidité, de fiabilité et d'ergonomie générale : insertion de ligne à un même endroit, cela garantit que la ligne de vente active soit toujours positionnée de façon fixe, qu'on n'ait pas à balader pour la trouver, ce qui élimine quantité de risques d'erreurs, cela permet aussi un accès constamment dans les même conditions aux boutons de commandes ; saisie sur sélection du produit, plus rapide qu'une frappe directe et élimine d'emblée les erreurs de frappe, cela permet en outre une identification directe de la sélection sans avoir à opérer une traduction avant de rechercher le résultat.

On peut toujours modifier le dispositif de sélection : substituer une ListBox activeX offrant quelques possibilités de mise en forme supplémentaires, préférer une ComboBox, selon les modalités d'utilisation, bâtir un Userform pour une personnalisation plus accentuée... sans pour autant nuire à l'efficacité du dispositif de reconnaissance.

5) Pas de nostalgie inutile sur les formules ! Leur utilisation a ses limites. On ne peut plus gérer de la même façon un système comprenant un ensemble de produits sujets à des variation au moins journalières, et dont le nombre ne se limitera pas à un échantillon inférieur à la dizaine.

De plus toute modification ultérieure à la saisie initiale doit être astreinte à un protocole sous contrôle évitant des modifications erronées et une déstabilisation du système.

Et enfin les formules demeureraient un facteur aléatoire, susceptible d'entraîner des variations indésirables, sachant qu'elles calculeraient sur des constantes soumises à des variations quotidiennes. Un tel phénomène ne peut être maîtrisé que par la suppression des formules.

6) Il n'y a pas à avoir de crainte de ne plus pouvoir contrôler le système. Travailler avec des procédures n'est pas plus compliqué que travailler avec des formules, à certains égards c'est même plus simple et plus facilement maîtrisable.

L'acquisition de quelques rudiments de VBA est sans doute nécessaire pour s'y retrouver facilement, mais c'est à la portée de tous.

Déjà, il ne t'a sans doute pas échappé que le recours à VBA s'avérait plus qu'utile pour obtenir des formules donnant des résultats auxquels les fonctions classiques ne permettaient pas de parvenir ou au moins pas de façon simple.

La complexité n'est pas toujours où l'on croit, une formule matricielle n'est pas aisée à mettre au point en général, lorsque l'on y substitue une procédure VBA pour obtenir le même résultat, le mécanisme mis en jeu dans la procédure relève souvent du niveau jeu de bûchettes à la maternelle !

Au cas particulier, rien ne t'empêche d'être en mesure de maîtriser le système de données personnalisées, qui relève de règles de manipulation que tu as toi-même conçues. Au niveau VBA, je parlais de nécessité d'acquérir des rudiments (variables, tableaux... éléments proprement VB) pour appréhender la façon dont on crée et traite des données personnalisées. Mais tu as déjà une expérience de la façon dont tu l'as initiée dans Excel, qui est loin d'être une utilisation spontanée parmi les utilisateurs d'Excel. Il n'y a aucune raison qu'il n'en soit pas de même en VBA (où l'on se trouve aussi dans une utilisation qui dépasse le cadre des demandes habituelles de VBA sur le forum... mais tout à fait comparable à ce que tu as déjà fait avec Excel).

J'attends toujours la réponses aux questions auxquelles tu n'as pas répondu. Et je te laisse méditer sur ton projet, dont il me semble que l'objectif numéro 1 est d'être un outil efficace de vente en temps réel.

Cordialement.

Rechercher des sujets similaires à "hero bravoure tableau remplir"