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
 

Dudu2

XLDnaute Barbatruc
Voilà le fichier.
Les numéros de casier sont uniquement définis par le code.
On ne peut pas les modifier manuellement.

Ils sont définis en fonction du dernier numéro de casier attribué dans la BDD spécifique de chaque transporteur.
C'est pour ça qu'il faut que les 3 BDD restent triées sur la date pour que la dernière ligne contienne le dernier numéro utilisé.
D'ailleurs, par sécurité, le code commence par trier les BDD sur la date à l'ouverture du classeur.

Il n'y a plus de numéros de colis. Ils ont été remplacés par le nom du transporteur qui est aussi le nom de la BDD. Cela permet en recherche (qui est multi-transporteurs) de déterminer à quelle feuille BDD appartiennent les items listés en liste Résultat et en liste Suppression pour pouvoir les marquer "Sorti".
 

Dudu2

XLDnaute Barbatruc
comment je choisis la lettre du jour pour relais colis svp sachant que ca va de A a G maximum
La lettre du jour est mise automatiquement dans le numéro de casier:
1627121081436.png


J'ai modifié pour que le N° de casier soit modifiable.
Mais si vous modifiez le numéro, c'est à vos risques car le numéro suivant repart toujours du dernier choisi.
impossible de supprimer les colis dans le module recherches
J'ai corrigé.
 
Dernière édition:

sueur

XLDnaute Nouveau
merci

lors de la suppression le formulaire ne se ferme pas
on peut changer la lettre c est bien mais il faut la mettre a chaque colis ce n est pas la derniere lettre qui reste
la ca revient toujours sur la lettre F
est il possible de voir cela sinon je ferai avec
 

Dudu2

XLDnaute Barbatruc
lors de la suppression le formulaire ne se ferme pas
Il ne se ferme pas pour pouvoir faire une autre recherche si besoin.
Pour le fermer il faut utiliser la touche Annuler.
S'il faut le fermer après la suppression, je peux le faire, mais en général on ferme un UserForm sur une touche.
on peut changer la lettre c est bien mais il faut la mettre a chaque colis ce n est pas la derniere lettre qui reste
la ca revient toujours sur la lettre F
est il possible de voir cela sinon je ferai avec
Explique-moi d'abord ce que tu veux précisément, ensuite je le coderai.
Ça revient F car F c'est pour samedi (A = Lundi, B = Mardi, C = Mercredi, D = Jeudi, E = Vendredi, F = Samedi, G = Dimanche) car tu m'as dit qu'il y avait une lettre par jour de la semaine.
Maintenant s'il faut reprendre la lettre du dernier numéro de casier, il faut le dire car je n'ai jamais entendu cette demande et je ne peux pas deviner ce que tu veux faire.
Et s'il faut l'incrémenter (passer à la suivante) si la date a changé, il faut le dire aussi.
Et dans ce cas, il faut confirmer que les lettres bouclent entre A et G.
 

sueur

XLDnaute Nouveau
relais colis livre du maerdi au samedi .
les lettres bouclent entre A et G
il serait preferable de garder la lettre de la derniere saisie car le dimanche ne compte pas le lundi ne compte pas actuellement pas de livraison le samedi donc ne compte pas
l incrementer aurait ete bien si on peut malgre tout la changer a la volee
 

Dudu2

XLDnaute Barbatruc
Je remets le fichier avec un nouveau nom.
Mais à mon avis il y a sur ton PC un problème d'association entre l'extension du fichier ".xlsm" et l'application qui doit l'ouvrir (Excel et pas Adobe Reader).

Si cela se reproduit, enregistre le fichier, puis clic droit "Ouvrir avec..." puis choisis Excel.
 

Discussions similaires

Statistiques des forums

Discussions
311 725
Messages
2 081 940
Membres
101 845
dernier inscrit
annesof