Microsoft 365 Vba saisie semi automatique dyn

Toufik26

XLDnaute Nouveau
Bonjour
Dans un premier merci d avance pour votre temps et votre travail

Je vais vous expliquer a quoi ressemble mon application et a quoi sert elle.

Je gere trois gros relais.
Mondial relay 300 colis jours
Relais colis 100 colis jours
Ups 100 colis jours

Donc autant d entrees a reception des colis

L application se decompose en deux parties

Une page accueil avec deux boutons un reception et un recherches et suppression donnant chacun sur un userform different

Et une feuille bdd ou se copie chaque entree

Le bouton reception
Le userform est compose de quatre combobox
Type casier de A a C
Numero de colis (la je scanne le code barre pour avoir le numero de colis)
Et enfin Noms (je tape le nom et prenom de chaque colis chaque jour et de tous)
Une touche validation qui permet d enregistrer les donnees sur la bdd avec un numero qui s incremente automatiquement a chaque entree avec edition de ce numero sur une etiquette que je colle ensuite sur le colis pour le classer dans son casier correspondant au fil de l eau et une info stock et date d entree
Une case a cocher chaque debut de mois pour revenir a 1

Le cote fastidieux est la

Mes demandes si cela est possible

Avoir une base par relais
La base mondial relay garder sa numerotarion et sorti de l etiquette numero (pour mondial le userform est bon)
La base relais colis (relais colis a deja sa numerotation une lettre par jour de A a G plus une incrementation numerique)
Dans le userform relais colis il faudrait pouvoir chaque jour mettre la lettre correspondant au jour et avoir l incrementation numerique comme mondial avec sorti de l etiquette lettre plus numero en gros comme mondial (ex: A1 etc)
Une base UPS ( avec une numeration propre incrementer et sorti etiquette comme mondial)

Pour chaque userform une saisie semi automatique dynamique pour avoir le moins de saisie possible et le moins de choix possible pour etre rapide pour entree les colis le but est la

Je pensais a un bouton reception par type de relais avec un userform propre pour faciliter les bases de donnees et ne pas avoir a chaque colis a renseigner le type de relais

Le bouton recherches et suppressions

Ce bouton sert a chercher en saisie dynamique des la premiere lettre ou le premier numero de colis issu du code barre le ou les colis
Cela m amene a me donner tous les colis d un meme client figurant aujourd hui dans la BDD pour les retrouver et pouvoir les donner aux clients
En cliquant sur les lignes des colis donnes cela nous les met dans le bas pour validation ou annulation.
La validation entraine la mise en mode livre dans la bdd au lieu de stock

Pour cette partie forcement il faudra que la recherche se fasse sur les trois bases.

Ma demande dans cette partie c est faire une base de donnee commune des colis livres ou reclames classee alphabetiquement avec date de sortie sans enlever les doublons et pouvoir la purger chaque fin de mois et une base de donnee uniquement du nom et prenom a partir des colis livres et supprimer les doublons.
C est a partir de cette base que l on pourrait faire la saisie semi automatique dynamique de chaque userform reception

Au moment de la suppression retirer de la ou les bases concernees le ou les colis et alimenter la base de donnees en supprimant le ou les doublons et si possible la classer alphabetiquement

Dans cet userform il faudrait rajouter un choix non bloquant facultatif "reclame" qui lorsque je cocherai la case en effectuant une recherche mettrai ce motif lors de la suppression

Pour info j imprime sur des etiquettes 50 largeur et 80 de longueur

Pour mondial et ups je ne sais pas si cela est faisable mais j aimerai reproduire le code barre sur le bas de l etiquette pour etre lu par leur scan lors des inventaires hebdomadaire ( ce qui eviterai de deplacer chaque colis pour lire le code barre car toujours sur le cote pour gain de place sur les etageres

Voila j espere avoir ete explicite. Je sais que la tache est rude car je ne sais pas faire et surement tres longue aussi merci a celles ou ceux qui auront le courage de faire mes demandes
Merci car souvent a la fermeture je passe 2 a trois heures pour entrer tous les colis c est fastidieux mais en donnant 200 colis par jours voir davantage c est une facilite extreme et de rapidite

Voila merci je vous joins un fichier type avec quelques entrees

Tres cordialement et sincerement merci si cela est faisable. Merci de garder le format actuel de la bdd pour pouvoir le cas echeant
 

Toufik26

XLDnaute Nouveau
1) une date suffit
2)le statut peut être changer manuellement je fait déjà

On a testé pendant une heure ce soir rien à dire tout fonctionne comme je le souhaitais
Pour relais colis c est parfait c est ce que je voulais
La saisie reception est facile rapide comme cela très bien
Les recherches grandement facilité avec un risque d erreur proche de zéro

On va tester mardi sur une journée complète reception et livraison
Et je vous dirai mais pour moi tout est parfait il n y a rien a modifié actuellement
Je vais demain basculer tout les colis pour être prêt pour mardi

Je ferai manuellement chaque mois la sortie des doublons car dans un mois pour certains clients je dépasse les 20 ou trente colis
Je vais créer ce week-end en une macro pour copier les lignes de colis sorti dans un fichier nommé clients
Ils seront copies triés et ensuite effacés des bases de données
Et je ne garderai que la colonne nom

Après je ferai manuellement la purge des doublon ce sera plus facile

Par contre je ne saurai pas diriger la saisie assistée à partir de ce fichier complet pour la réception et recherches
Mais je vais essayer sur un fichier renommée pour ne rien casser de votre travail qui voya pris beaucoup de temps

Milles merci une fois de plus c est génial et inouï d avoir des gens comme vous un très grand bravo
 

Dudu2

XLDnaute Barbatruc
2)le statut peut être changer manuellement je fait déjà
Il est préférable et plus simple de le faire via la Recherche. C'est maintenant possible (prendre le fichier ci-dessous).

Pour la purge, si vous me dites précisément ce qu'il y a à faire je peux l'intégrer dans un bouton du classeur.

Attention: l'élimination des "Sorti" va libérer des numéros de casiers si il arrive qu'un ou plusieurs "Sorti" sont dans les dernières lignes d'une BDD. Et donc les numéros de casiers ainsi libérés seront logiquement ré-affectés puisque tout nouveau numéro de casier part de celui de la dernière ligne de la BDD.

- J'ai modifié le code pour mettre à jour la date lorsque le Statut est modifié par programme (exemple de "Stock" à "Sorti"). Pas manuellement !!!

- J'ai modifié le code pour qu'on puisse mettre un autre Statut que "Sorti" (avec message de warning) de manière à ne pas avoir à faire d'interventions manuelles sur le Statut dans les feuilles des BDD. On peut même revenir de "Sorti" à "Stock" en cas d'erreur ou de retour.
 

Dudu2

XLDnaute Barbatruc
Je ferai manuellement chaque mois la sortie des doublons car dans un mois pour certains clients je dépasse les 20 ou trente colis
Autant je comprends que vous vouliez alléger la BDD des "Sorti" pour les placer dans une autre classeur Historique, autant je ne comprends pas quel est le problème avec les doublons des noms (je suppose).
La liste des noms pour la saisie assistée élimine déjà les doublons contrairement à l'ancien fichier.

En plus je ne vois pas l'intérêt de créer un classeur parallèle pour des doublons. Ça va faire 2 classeurs actifs à gérer ! C'est compliquer les choses pour rien et manuellement en plus !

On retrouve tous les noms et les doublons au moment de la Recherche évidement, mais je ne vois pas le problème car d'une part on ne montre en principe que les "Stock" et la liste Résultat de la Recherche restera dans tous les cas limitée pour un nom donné.

Pour la purge des "Sorti", il faut déplacer toutes les lignes des "Sorti" et toutes les colonnes dans un autre classeur Historique sur une seule feuille en les ajoutant aux "Sorti" existant déjà dans ce classeur.
Je peux coder la purge dans un classeur Historique et ajouter une fonction de Recherche dans ce classeur sur le nom et éventuellement sur le N° de casier.
 
Dernière édition:

Dudu2

XLDnaute Barbatruc
@Toufik26, relis bien les posts #122 & #123 avant que ** ************** @frederio ne vienne planter sa m.... avec des posts bidons dans le fil de la discussion, volontairement et dans ce seul but.
 

Pièces jointes

  • Historique.xlsm
    12.5 KB · Affichages: 14
  • MAJOUBASHOPCOLIS12.xlsm
    171.1 KB · Affichages: 18
Dernière modification par un modérateur:

sueur

XLDnaute Nouveau
bonjour et un enorme merci car vous avez du travailler enormement

moi j ai passe le dimanche de 7h du mation a une heure a chercher des bouts de codes mais pas se resultat

le processus est tres bien

pourquoi ouvrir un autre classeur ?

j ai du de ce fait creer une feuille clients sur la quelle je copie la feuille de l autre classeur et rajouter une ligne de code bddclients pour la saisie assistee se fasse egalement avec le fichier des sortis

mon fichier client c est l existant stock plus les sortis

j ai incorpore une macro sur la feuille clients qui fait un tri automatique a chaque nouvelle entree apres je fais CTRL A DONNEES ET SUPPRIMER LES DOUBLONS cela fonctionne tres bien
ca serait bien si cette manip etait automatique sur la feuille clients

pourquoi svp ne pas avoir fait directement sur ne feuille clients et par prudence apres la purge faire une sauvegarde sur un classeur secours en plus si c est dans c est dans le soucis de ne pas perdre les donnees

mais si cela n est pas faisable restons comme cela cela fonctionne parfaitement et me convient
c est tout ce que je souhaitais

un grand grand grand merci pour votre aide et implication je sais a quel point c est du travail

milles mercis
je vais l utiiliser des demain j ai rapatrie toutes mes donnees sur ce nouveau processus

MERCI !!!!!!!!!!!!!!!!!!!!!!!!!!
 

Dudu2

XLDnaute Barbatruc
Bonjour
vous avez du travailler enormement
Pas tant que ça, je code assez vite en limitant les risques de bug avec mes petites habitudes et les outils dont je dispose déjà.
Ce qui est long c'est de comprendre ce que vous voulez.
Je vous ai envoyé un mail privé pour me contacter ma téléphone.

pourquoi ouvrir un autre classeur ?

pourquoi svp ne pas avoir fait directement sur ne feuille clients et par prudence apres la purge faire une sauvegarde sur un classeur secours en plus si c est dans c est dans le soucis de ne pas perdre les donnees
Pour ne pas alourdir le classeur de travail inutilement.
Quand la liste des "Sorti" sera longue, le fichier pèsera plus lourd.

j ai du de ce fait creer une feuille clients sur la quelle je copie la feuille de l autre classeur et rajouter une ligne de code bddclients pour la saisie assistee se fasse egalement avec le fichier des sortis
Si c'est ça que vous voulez, je peux ne plus placer les "Sorti" dans un autre classeur et les placer dans une feuille <PURGE> du classeur de travail.

j ai incorpore une macro sur la feuille clients qui fait un tri automatique a chaque nouvelle entree apres je fais CTRL A DONNEES ET SUPPRIMER LES DOUBLONS cela fonctionne tres bien
ca serait bien si cette manip etait automatique sur la feuille clients
Attention ! Il ne faut pas faire de tri dans les feuilles BDD (MONDIAL RELAY, USP, RELAIS COLIS) car ce la va rompre l'ordre d'ajout des colis et donc on va perdre le dernier numéro de casier généré !

Je ne comprends toujours pas cette histoire de doublons.
C'est quoi un doublon ? Dans quelles feuilles ? Pourquoi vouloir les éliminer ?


Appelez-moi SVP pour qu'on puisse se comprendre.
 
Dernière édition:

Discussions similaires

Réponses
6
Affichages
396
Réponses
5
Affichages
599

Statistiques des forums

Discussions
315 095
Messages
2 116 165
Membres
112 675
dernier inscrit
Tazra_IMOU