Enregistrer les codes barres

Bonjour à toutes et à tous,

Actuellement je suis un apprenti dans une entrepôt de stockage et je mène un projet concernant un contrôle de rayonnage (état des rayon de stockage). Mon objectif est de pouvoir, avec à un matariel "PDA", d'enregistrer dans un tableau dans laquelle il y aura : la zone de stockage concernée par le défauts, description du défauts, le code EAN ainsi qu' une image du rack.

Donc, j'ai pensée en utilisant le VBA je pourrai effectivement réaliser ce projet car j'ai déja utilisé VBA pour beaucoup d'autres projet et ça marche plutôt bien.

Mon problème est que, je sais pas comment faire pour pouvoir activer la caméra lorsqu'on appui sur un bouton (nommée "Prendre un photo" par exemple) sur mon userform ainsi que pouvoir entregistrer automatiquement le code EAN de la zone lorsqu'on scan le code barre avec le PDA.

Pourriez vous m'aider à ce sujet.

Cordialement,

Alban

capture1
76pda.xlsm (41.75 Ko)

Bonjour,

tu doit positionner le curseur dans le TextBox avant de faire le scan.

Bonjour i20100,

Merci beaucoup pour cette solution du code EAN.

Auriez-vous une idée pour la capture d'image ??

Cordialement.

Alban

Bonjour Alban99, le forum,

Je prends la discussion sur le fil. Juste une précision. Les UserForm peuvent être appelées sur le PDA?. Ou sont-ils externes à lui?

Bonjour X Cellus,

Je viens de me renseigner et pour le coup le PDA possède un système d'exploitation de Android 7.0 et d'après ce que j'ai pu lire les macros ne fonctionnent pas sur Android ( à cause de la capacité,...), alors je vais revenir sur le sujet de début : toutes les manipulations serons faites sur ordinateur.

J'espère que j'ai répondu à ta question X Cellus.

A nouveau,

Je me doutais un peu de la réponse mais par plus de sûreté j'ai posé la question. Un PDA est semblable à un téléphone portable mais avec d'autres fonctions spécifiques.

Par contre comme un portable lorsqu'il s'agit de prendre des photos, il les stockent dans sa mémoire. Avec un nom d'image composé chronologiquement du jour de la photo puis de l'horaire (horodatage).

J'ai pu voir dans le fichier, en 2ième feuille une liste d'emplacement. Des zones nommées habituelles de stockage qui sont indiquées ligne par ligne. Peut-être y a t-il un circuit de vérification périodique. Exemple: Le lundi, zone des lignes 3 à 9...etc...

Donc une liaison (cable ou sans fil) , PDA vers l'Ordinateur te permet de récupérer tel jour les photos correspondantes. Puis de les sauver sur le PC dans un dossier Images. Ton bouton Prendre une photo sera plus Récupérer la photo (classée selon l'horodatage) du dossier Image. Et ici une macro peut se mettre en place, ouverture dossier Images, choix de la photo, insertion dans la feuille synthèse ou autre base...

Que l'ordinateur soit présent sur la zone de stockage (portable) ou au bureau. Seul contrainte, comme le clap cinéma, prendre une

photo intermédiaire (affichette n°ligne ) pour séparer toutes les photos des zones de stockage. Ou alors noter l'heure de changement de zone. Méthode moins directe mais possible. Voir aussi avec le fabricant du PDA (site web...) s'il dispose d'un logiciel spécifique à un transfert de données pour une exploitation sous Excel.

Bonjour X Cellus,

Merci de votre réponse,

Etant donnée que le visual basic ne fonctionne pas sur le PDA maintenant je vais changer d'outil.

Maintenant tout le travail va être réaliser sur l'ordinateur portable directement.

Je vous explique: en effet je dois réaliser un sort "d'audit interne" des état des racks. Du coup une fois tous les deux mois il y aura un opérateur qualifié qui se chargera de l'audit.

Pour répondre à votre question :

J'ai pu voir dans le fichier, en 2ième feuille une liste d'emplacement. Des zones nommées habituelles de stockage qui sont indiquées ligne par ligne. Peut-être y a t-il un circuit de vérification périodique. Exemple: Le lundi, zone des lignes 3 à 9...etc...

oui pour chaque période il y aura des zone défini ( par exemple le 25/03/2020 de la ligne 3 à la ligne 10, ensuit 25/05/2020 de la ligne 11 à la ligne 18,... ect).

Alors ce que je cherche est en effet de pourvoir relier un webcam ou un gopro avec l'ordinateur et lorsque j'appuit sur le bouton "Prendre une photo", la caméra s'affiche sur la case. Ensuite pour que je puisse prendre un capture d'image (ou photo) en temps réel.

Vous trouvez ci-joint mon fichier mieux développé.,

Merci d'avance.

75audit-rack.xlsm (46.96 Ko)

A nouveau,

Oui, il me semble plus aisé de travailler donc avec le portable directement. Si cela avait été un PC de bureau, le PDA était plus indiqué.

Par contre l'affichage de l'image dans l'UserForm n'est qu'un 1ier contrôle que l'image a bien été prise, enregistrée et correctement photographiée. Sinon la photo doit être refaite.

Donc, ne figureront dans le récapitulatif que les images correctes. Les autres images incorrectes seront effacées. Il ne faut pas liée l'image automatiquement au récapitulatif.

A suivre...

Rebonjour X Cellus,

Je suis désolé mais je crois que je n'est pas bien compris votre réponse ou peut être c'est moi qui s'est mal exprimé.

En effet je répète ma question de nouveau.

Ce que je cherche n'est pas d'afficher les images une fois qu'elles sont prises.

En effet, je veux que lorsque j'appuis sur le bouton "prendre une photo" la caméra de gopro ou webcam s'allume automatiquement et le userform "cam" puisse être allumé et on puisse voir en temps réel ce que la gopro filme. Ensuite lorsque j'appuis sur le bouton "Capture" la photo doit être prise directement en même temps enregistrer sur la case de la colonne H du tableau Excel.

Cordialement.

Bonjour Alban99,

Dans ton 1ier message tu montres l'UserForm ctrlrack avec dans la zone Image la mention conserver l'image. Or ici c'est une zone Contrôle image qui sert donc à afficher des images.

La caméra webcam ou autre dispose le + souvent d'un logiciel. Mais même Windows 10 dispose dans son menu celui de la caméra.https://support.microsoft.com/fr-fr/help/17444/windows-camera-app-webcams-help Fais un clic sur chaque flèche basse pour voir les compléments.

Donc pourquoi absolument passer par l'Userform pour prendre une photo alors qu'il suffit de cliquer sur le portable pour enregistrer une photo, ou une vidéo, une fois la caméra allumée. L'écran du portable affichant toujours en direct la photo. Et ensuite la récupérer dans le dossier Image ou autre dossier du portable après le clic sur le portable. Tu ajoutes à mon sens une procédure inutile.

A suivre...

Bonsoir Alban99,

Après modifications du code de deux contrôles dans deux Userform. Et l'utilisation d'une Webcam pour les tester.

J'ai pu effectuer la manipulation de copie d'une image dans la feuille synthèse. En sélectionnant en colonne A, la ligne ou se placera l'image. Puis en cliquant ensuite sur le bouton Executer qui appelle le formulaire CtrlRack.

Donc, après clic sur le portable, sur le bouton capture photo du logiciel ouvert de la Webcam allumée. J'ai cliqué sur le bouton Prendre Photo du formulaire CtrlRack afin qu'ensuite il appelle l'autre formulaire Cam et de pouvoir cliquer sur Enregistrer Photo. Pour placer la photo dans la colonne H de la feuille Synthèse.

Ci-dessous les deux codes.

Private Sub prphoto_Click()
'Exemple d'un chemin, disque, utilisateur, répertoire, sous-répertoire ou se loge l'image webcam
RepPhoto = "C:\Users\Repertoire\Pictures\Cam\"
NomPhoto = Dir(RepPhoto & "*.jpg")  ' pour format jpg sinon changer le format 
Me.Image1.Picture = LoadPicture(RepPhoto & NomPhoto)
Sheets("Liste").Cells(3, 7) = NomPhoto 'Colonne G (Cellule provisoire)
cam.Show
End Sub
Private Sub CommandButton2_Click()
'Bouton Enregistrer Image. Récup de la photo. Exemple d'un chemin
RepPhoto = "C:\Users\Repertoire\Pictures\Cam\"
NomPhoto = Sheets("Liste").Cells(3, 7) 'Repris de la cellule provisoire
Sheets("Synthèse").Activate: Lig = ActiveCell.Row
ActiveSheet.Pictures.Insert(RepPhoto & NomPhoto).Name = "H" & Lig
'Positionnement de la photo
ActiveSheet.Shapes("H" & Lig).Left = Range("H" & Lig).Left
ActiveSheet.Shapes("H" & Lig).Top = Range("H" & Lig).Top
'Recadrage dimension (hauteur + Largeur) pour l'adapter à la cellule
ActiveSheet.Shapes("H" & Lig).LockAspectRatio = msoFalse
ActiveSheet.Shapes("H" & Lig).Height = Range("H" & Lig).Height
ActiveSheet.Shapes("H" & Lig).Width = Range("H" & Lig).Width
ActiveSheet.Range("A" & Lig).Select
cam.Hide
'ctrlrack.Show Note: il est déjà ouvert, donc inutile
'Effacement de l'image de son dossier courant pour le vider
Kill RepPhoto & NomPhoto
End Sub

Bons tests, bonne continuation.

Bonjour X Cellus,

Merci beaucoup de votre solution.

Je vais essayer de l'appliquer et je vous tiendrai au courant par la suite.

Cordialement.

Alban

Bonjour Alban99,

Note que j'aurais pu utiliser seulement le formulaire CtrlRack pour récupérer la photo prise et l'enregistrer avec toutes les autres données à remplir sur ce formulaire.

L'autre formulaire me semble plus réalisé pour la vidéo. J'ai utilisé son code uniquement parce que cela permettait de faire la distinction entre les deux événements Récupérer photo et Enregistrer photo. En fait tu n'aurais besoin que dans le cas de photos que d'un seul UserForm pour gérer cela.

Bonne continuation.

Rechercher des sujets similaires à "enregistrer codes barres"