Gestion de Stock - Copie une cellule tant qu'une ref ne change pas

Bonjour à tous,

J'ai un problème sur mon tableur tableur Excel, je vais essayer de faire un plus simple. J'ai un tableur qui sert à la gestion des stock de mon entreprise, la gestion fonctionne grâce à une douchette qui scan un code client puis une référence article et enfin la quantité pour le retirer du stock. Le code client apparaît en colonne A, la référence article en colonne B et la quantité en colonne C.

Mon problème est donc que pour une commande je dois scanné le code client qui apparaît en colonne A pour chaque article de cette commande, j'aimerai donc si possible n'avoir a scanné qu'une seule fois le code client, et qu'il se copie colle vers le bas automatiquement tant qu'aucun autre code client ne soit saisie à sa place.

Désolé si mon message n'est pas très claire, j'ai essaye de m'exprimer le mieux possible. N'hésitez pas à me poser des question si cela ne l'ai pas.
Merci d'avance pour vos futurs réponses.

Helmut

Bonjour,

La quantité c'est un scan ou une saisie ?
eric

Voici mon tableur, et chaque information peut-être scanné ou saisie, la douchette fonctionne comme un périphérique d'entrée tout a fait banale

Private Sub WorkSheet_Change(ByVal Target As Range)
    If Target.Row < 3 Then Exit Sub
    If Not Application.Intersect(Target, Columns(2)) Is Nothing And Target <> "" Then
        Application.EnableEvents = False
        If Target.Offset(, -1) = "" Then Target.Offset(, -1) = Target.Offset(-1, -1)
        Target.Offset(0, 5) = Date
        Application.EnableEvents = True
    End If
End Sub

Tu devrais mettre sous forme de Tableau structuré (Insertion / Tableau)
Un tableau s'étend automatiquement lors d'un ajout, en recopiant formules et formats.
Et plus besoin de prévoir x lignes d'avance...

Des #NOM! sur la feuille, tu utilises une fonction inconnue de mon excel. S'ils ne se résolvent pas à l'ouverture un F9 devrait corriger.
eric

Merci beacoup pour t'as réponse ça a l'air de fonctionner mais le soucis c'est que j'ai deja une Private Sub qui se nomme "WorkSheet_Change"

Que dois-je fois pour ne pas que les Sub soit nommé de la même manière ?

Encore merci pour votre réponse.

Bonjour (hé oui, c'est tous les jours...),

tu remplaces la tienne par la mienne.
Tu vois que j'ai laissé ta maj de la date.
Par contre j'ai oublié de mettre le fichier, le voici.

eric

Bonjour, Merci beaucoup pour votre réponse mais il semblerait que cela ne soit pas fonctionnel, surement du au fait que le saisie des 3 cellules se fait en simultané

Private Sub WorkSheet_Change(ByVal Target As Range)
    If Target.Row < 3 Then Exit Sub
    If Not Application.Intersect(Target, Columns(2)) Is Nothing And Target <> "" Then
        Application.EnableEvents = False
        If Target.Offset(, -1) = "" Then Target.Offset(, -1) = Target.Offset(-1, -1)
        Target.Offset(0, 5) = Date
        Application.EnableEvents = True
    End If
End Sub

La ligne de code qui m'indique une erreur est la ligne 3

Bonjour,

surement du au fait que le saisie des 3 cellules se fait en simultané

en aucun cas c'est possible, c'est forcément l'une après l'autre

Le message d'erreur est top secret ?
Dépose plutôt ton fichier pour voir ce qui ne va pas...
eric

Re Bonjour,

en aucun cas c'est possible, c'est forcément l'une après l'autre

Si si, comme expliqué en début de fils, le saisie de donnée ce fait via une douchette, et elle saisie donc les 3 informations qu'elle a scanné au préalable en même temps. Ce n'est donc pas un saisie manuelle, cellule par cellule.

Et du coup c'est vrai, excusez moi de ne pas avoir partager l'erreur. C'est une erreur d'exécution 13 incompatibilité de type.

Encore merci par le temps consacré.

Bonjour, Helmut et bonjour Eriic

Il me semblait que vous aviez votre solution sur votre autre post ?

https://forum.excel-pratique.com/excel/erreur-d-execution-13-incompatibilite-de-type-158500

Sinon au cas ou Une méthode plus barbare sous forme de boucle à l'évènement change on vérifie simplement la colonne G et L dans la plage déjà saisie

et si vide on indique date.

Private Sub WorkSheet_Change(ByVal Target As Range)
Application.EnableEvents = False
Dim numlignesortant As Long 'variable recherche dernière ligne saisie stock sortant
Dim numligneentrant As Long 'Variable recherche dernière ligne saisie stock entrant

numlignesortant = Worksheets("SCAN").Range("B65536").End(xlUp).Row
numligneentrant = Worksheets("SCAN").Range("I65536").End(xlUp).Row

'Boucle sur la plage verification présence date colonne G
For i = 3 To numlignesortant
If Range("G" & i).Value = "" Then
Range("G" & i).Value = Date
End If
Next i

'Boucle sur la plage verification présence date colonne L
For J = 3 To numligneentrant
If Range("L" & J).Value = "" Then
Range("L" & J).Value = Date
End If
Next J

Application.EnableEvents = True
End Sub

Tu as déjà réussi à saisir 3 cellule en même temps ? Réfléchis un peu...

Edit : Faudrait savoir. Au début tu dis scanner le code client, puis l'autre, maintenant ça ne serait qu'un seul scan pour les 3 valeurs ??
et met ton fichier, la ligne 3 ne peut pas faire d'erreur 13

Bonjour Xmenpl,

Mon précédent soucis avec la date a déjà été réglée comme vous l'avez indiqué.

Ce post n'a pas pour but de réglé un problème relatif à la date mais à ma référence client, il faudrait qu'elle se copie colle vers le bas automatiquement pour ne pas a avoir a l'entrée pour chaque sortie d'article. Je te laisse relire ce post si tu souhaite comprendre exactement ce qui a pu être dit et fait précédemment.

Merci tout de même à toi pour ton temps et ton implication dans ce post ^^

post précédent édité.

Eriiic,

Je vous invite a cherché "Scan-It-To-Office" sur Youtube afin de voir le fonctionnement, peut-être que le saisie ce fait cellule par cellule mais pour moi (débutant en Excel) ce saisie ce fait dans tout les cellules en simultanées.

Il s'avère quand certaines ligne de VBA ne sont pas "compatible" avec ce type de saisie et un message d'erreur d'exécution 13 apparaît.

Edit : Mon fichier reste le même, c'est a cause du type de saisie que l'erreur apparaît je pense, et oui je scanne 2 codes, j'indique une quantité mais les informations sont saisie par l'application.

(Si vous comptez egalement me faire remarquer que ce n'est pas réellement une douchette mais une application de scan, vous avez raison mais pour moi c'est exactement la même chose, désolé si cela peut avoir un impact ou un rôle dans la résolution de son problème)

Ok, garde ton fichier et ne répond qu'à la moitié des questions.
La ligne 3
n'écrit rien et ne peut pas faire cette erreur

Moi je suis obligé de m'arrêter là...
Bonne continuation
eric

Bien, Merci tout de même pour le temps que vous avez pu consacré à mon problème.
Je vous souhaite une bonne journée.

Rechercher des sujets similaires à "gestion stock copie tant ref change pas"