Bonjour tout le monde, J'ai besoin d'une aide sur un code VBA que je souhaite mettre en place pour ma caisse enregistreuse.
Tout marche à peu près comme je veux, mais j'ai une erreur dans mon code que je n'arrive pas à comprendre.
Je voulais mettre le fichier mais il est trop lourd, désolé.
Alors je m'explique :
En colonne B, à partir de B6 jusque B1000, je rentre les codes barres (EAN) des produits que je scanne
En colonne L, j'ai les quantités correspondantes au produit en B.
J'ai crée un code VBA pour dire que :
- Quand je rentre un code barre en B, il me mette 1 en quantité en colonne L (Target.offset(0,10).value =1)
- Si le code barre que je rentre en B est déja présent dans la colonne B (donc si je scanne un article que j'ai déjà scanné avant) donc (If Cell.Value = Target.Value And Cell.Address <> Target.Address And Target <> 0 Then), alors il va m'ajouter une quantité en face de la référence déja existante (Cell.Offset(0, 10).Value = Cell.Offset(0, 10).Value + 1)
et il efface la cellule qui vient d'être crée (Target.ClearContents) et revient à la première cellule vide (ActiveSheet.Cells(Rows.Count, "B").End(xlUp)(2).Select)
- Et bien sûr, s'il n'y a pas de référence dans la cellule de la colonne B, alors il ne fait rien.
J'ai donc crée ce code mais j'ai une erreur et je n'arrive pas à comprendre, pourquoi mon code fait beuger excel, dans mon VBA le calcul se fait sur les 1000 lignes et ça rame ou ça plante : Il me met en erreur : ESPACE INSUFFISANT et surligne SET PLAGEPOINT b6 : b1000 en jaune.
Private Sub Worksheet_Change(ByVal Target As Range)
Set plagepoint = Range("B6:B1000")
For Each Cell In plagepoint
If Cell.Value = Target.Value And Cell.Address <> Target.Address And Target <> 0 Then
Cell.Offset(0, 10).Value = Cell.Offset(0, 10).Value + 1
Target.ClearContents
ActiveSheet.Cells(Rows.Count, "B").End(xlUp)(2).Select
ElseIf Cell.Value <> Target.Value And Target <> 0 Then
Target.Offset(0, 10).Value = 1
ElseIf Cell.Value <> Target.Value And Target = 0 Then Exit Sub
End If
Next
End Sub
AUriez-vous une idée pour m'aider SVP ? J'espère que j'étais clair =)
Belle journée à toutes et tous !