Date et heure scanne
Bonjour les ami(e)s,
Je souhaite extraire le temps de scanne de certaines pièces.
Les numéros de pièces En magasin sont saisis manuellement dans la colonne D et leur quantité dans la colonne E de la feuille Sheet1.
Les scans de codes-barres des pièces seront effectués dans la colonne A de la Sheet1, si la pièce scannée dans la colonne A fait partie des items de la colonne D, je voudrais afficher ce numéro d’article dans la colonne A de la Sheet2, la date du scanne dans la colonne B de la Sheet2 et l’heure dans la colonne C de la Sheet2 pour chacune des pièces.
Le numéro d'employé sera scanné dans la case F1 Sheet1, je souhaite que ce numéro soit extrait avec la date et l'heure de son scan également Dans les cases F1, G1 et H1 de Sheet2 respectivement.
Dans un deuxieme temps Sheet2 sera envoyée par courriel en appuyant sur un bouton envoyer
classeu
r1.xlsx
bonjour,
une macro pour le module de la feuille Sheet1
Private Sub Worksheet_Change(ByVal Target As Range)
With Target 'les cellules modifiées
If .Count > 1 Then Exit Sub 'si l'on change plusieurs cellules en même temps = fini
If Len(.Value) = 0 Then Exit Sub 'si la cellule est vide = fini
If .Column <> 1 Then Exit Sub 'si la cellule ne se trouve pas dans colonne A : fini
If .Address <> Range("A" & Rows.Count).End(xlUp).Address Then Exit Sub 'si la cellule n'est pas la dernière de colonne A = fini
r = Application.Match(.Value, Range("D4:D100"), 0) 'l'article se trouve dans la plage D4:D100 ?
Set sh2 = Sheets("Sheet2") 'autre feille
sh2.Range("A" & Rows.Count).End(xlUp).Offset(1).Resize(, 3).Value = IIf(IsNumeric(r), Array(.Value, Date, Now - Date), Array(.Value, "", "")) 'nouveau scan
sh2.Range("F1:H1").Value = Array(Range("F1").Value, Date, Now - Date) 'employee
End With
End Sub
Bonjour BsAlv,
Je te remercie infiniment de la rapidité de ta solution.
Le seul petit hic est que la date et l'heure lié au numéro d'employé dans la sheet2 varie dès qu'on scanne une nouvelle pièce (a,b,c,..) dans la colonne A de sheet1. Pourrais-tu m'aider avec ça ?
Je tenterai par la suite de trouver le moyen de programmer un bouton d'envoi par courriel. Si je n'y arrive pas, je ferai signe ici, mais j'essaierai de me creuser la tête avec ça un peu :)
Merci infiniment!
bonjour Castor, le fil,
on peut tester si F1 est vide pour eviter d'écrire plusieurs fois le nom de l'employee
if sh2.range("F1").value="" then sh2.Range("F1:H1").Value = Array(Range("F1").Value, Date, Now - Date)