1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90
| Sub Comparaison(ligne As Byte)
Dim ean1 As String
Dim Erreur As Boolean 'vrai ou faux
Dim Quantité As Byte 'en espérant qu'il n'y ait pas plus de 255 références sur une palette !!!! ;)
Dim Différence As Integer 'Différence entre le nbre de pdt attendu et le nbr de pdt présent
Dim Nombre As Integer 'insertion d'une fonction pour
'éviter l'erreur du fait que les ean sont stockés sous forme de texte et non de nombre
Dim ligne2 As Integer 'Ligne feuille de contrôle
Dim ligne3 As Integer 'ligne pour feuille extraction
Dim NombreErreur As Byte 'En espérant qu'il n'y ait pas plus de 255 erreurs ??!!! :OO
Dim Total As Integer 'Colis total
Total = 0
ligne2 = 10
NombreErreur = 0
ean1 = Sheets("Douchette").Cells(ligne, 1).Value
ligne3 = 1
Erreur = True 'on démarre avec une erreur qu'on enlève si le pdt est bien présent/attendu
'On démarre une boucle pour voir si les gencodes sont bien dans extraction cia flu
While Sheets("Extraction cia flu").Cells(ligne3, 1).Value <> "" And Erreur = True
ligne3 = ligne3 + 1
If Sheets("Extraction cia flu").Cells(ligne3, 1).Value = ean1 Then
Erreur = False 'si il le trouve, il n'y a pas d'erreur
End If
'On termine la boucle quand on a la réponse
Wend
'On va demander la quantité que le gencode soit manquant ou non pour comptabiliser dans le tableau feuille de contrôle
Quantité = Application.InputBox("Quelle quantité?", "Produit " & ean1)
Select Case Quantité
Case False
MsgBox "Vous avez annulé"
Exit Sub
Case Else
MsgBox "Quantité entrée " & Quantité
End Select
Sheets("Douchette").Cells(ligne, 18).Value = Quantité
'si il n'y a pas d'erreur alors on fait la différence entre la quantité entrée et la quantité attendue
If Erreur = False Then
Nombre = Sheets("Extraction cia flu").Cells(ligne3, 6).Value
Différence = Quantité - Nombre
'Si la différence n'est pas égale à zéro on mets une alerte
If Différence = 0 Then
MsgBox ("Quantité Ok")
Sheets("Douchette").Cells(ligne, 19).Value = Quantité
Else: MsgBox ("Quantité attendue " & vbCrLf & vbTab & Nombre)
If Différence < 0 Then
'Note la quantité manquante (0 - Différence permet de noter la valeur absolue du nombre)
Sheets("Douchette").Cells(ligne, 22).Value = 0 - Différence
Sheets("Douchette").Cells(ligne, 19).Value = Quantité
Else:
'Note la quantité en excédent
Sheets("Douchette").Cells(ligne, 21).Value = Différence
Sheets("Douchette").Cells(ligne, 19).Value = Quantité - Différence
End If
End If
Else: NombreErreur = NombreErreur + 1
MsgBox (" Produit Non attendu : " & vbCrLf & vbTab & ean1 & vbCrLf & "!!!")
'Reporte la quantité en excédent(Si le gencode n'est pas du tout attendu)
Sheets("Douchette").Cells(ligne, 20).Value = Quantité
End If
End Sub |
Partager