Compteur intelligent ? Besoin d'aide pour un projet urgent svp

HRDChris

XLDnaute Nouveau
Bonjour à tous, je suis occupé à me fabriquer une routine pour me faciliter mes entrées de stock de câble. Chaque touret à besoin d'un numéro de lot, ce dernier doit être unique.
J'ai concatène 2 infos, une date sous forme numérique et puis "numéro de lot" (tout ceci dans le but de créer un code barre)

35800/Numéro de lot

Je recherche donc une méthode qui me permettrai à chaque ouverture d'un fichier "Réception Câble.xls" d'avoir un compteur pour mes numéros de lot qui reprend a chaque fois l'incrémentation faite sur la dernière réception.
Je ne veux pas sauvegarder "Réception Câble.xls" pour le laisser vierge à chaque réception mais qu'une routine créer un petit fichier automatiquement dans le dossier du fichier pour savoir ou était l'état précédent du compteur.

Est ce faisable d'après vous ?

Merci
 

ledzepfred

XLDnaute Impliqué
Re : Compteur intelligent ? Besoin d'aide pour un projet urgent svp

bonsoir HRDChris, le forum,

tout est possible mais avec un fichier et des explications précises sur ce que tu souhaites sans oublier la version excel que tu utilises et ton niveau de connaissance en vba.

Dans l'atente de te lire...

a+
EDIT : salut juju, j't'avais pas vu!
 

HRDChris

XLDnaute Nouveau
Re : Compteur intelligent ? Besoin d'aide pour un projet urgent svp

Bonsoir le forum et merci de l'intérêt. JUJU69 je voudrais garder le fichier vierge, ou alors oui faire une sauvegarde automatique à fermeture dans une zone du fichier.

Je démarre en VBA et je me forme via les forums et tutoriels en ce moment. Je travail chez moi sous EXCEL 2003 mais les fichiers doivent tourner sous 2003 & 2007 au travail. Le but n'est pas de faire boulot par les autres mais d'adapter vos solutions à mes problèmes pour comprendre.

Je joins l'explicatif en fichier joint
 

Pièces jointes

  • Prévision câble.xls
    17.5 KB · Affichages: 105

ledzepfred

XLDnaute Impliqué
Re : Compteur intelligent ? Besoin d'aide pour un projet urgent svp

re...

pourrais-tu générer le fichier que tu souhaites obtenir après application du code, ça m'aiderai à te proposer une méthode pour le faire tout seul ou un code si tu préfères
Ce code sera appliqué à l'ouverture du fichier de destination ou directement dans reception cable.xls

a+
 

HRDChris

XLDnaute Nouveau
Re : Compteur intelligent ? Besoin d'aide pour un projet urgent svp

En fait il me faut juste le code qui me permet de m'occuper du compteur.

Comme stipulé, j'ouvre le fichier "Réception câble.xls". Ce dernier s'ouvre avec la date via la fonction =aujourdhui() cette date est transformé en nombre automatiquement et là le compteur fait son travail et on concatène les 2 en colonne D. Le but c'est quand on ferme le fichier que les cases de lot sont nettoyés et que la case D18 soit sauvegarder dans le fichier autre part pour qu'a l'ouverture il analyse cette case et redémarre à 13 et ainsi de suite afin de ne jamais avoir 2 fois la même chose. Avec ces 2 conditions cela devient impossible DATE + LOT incrémenté.

Je reprends ensuite les données des cases une par une de la colonne D sur une étiqueteuse thermique soit 12 étiquettes.

Je ne peux mettre le reste car j'ai des macros de code Barre en CODE 128 il faut des fontes spécifique que vous n'aurez pas.

J'adapterai la suite moi même. Merci en tout cas de votre intérêt.
 

HRDChris

XLDnaute Nouveau
Re : Compteur intelligent ? Besoin d'aide pour un projet urgent svp

Bonne réflexion JUJU, le but est de ne pas avoir le même numéro de lot 2 fois, même si l'on reçoit 2 fois la même chose dans la journée en réception.

Oui on peut donc faire une remise à zéro du compteur SI la date change. Mais j'aimerai avoir les 2 versions quand même si cela est possible, une avec remise à zéro si date changé et une autre avec incrémentation à chaque fermeture mais jusque 999 puis retour a zéro.

Merci
 
Dernière édition:

soenda

XLDnaute Accro
Re : Compteur intelligent ? Besoin d'aide pour un projet urgent svp

Bonsoir à tous

@HRDChris

vois avec:
Code:
Private Sub Workbook_BeforeClose(Cancel As Boolean)

' ...Puis conserver la valeur 12 du fichier puis le sauvegarder dans une zone du fichier.
' ATTENTION ! On admet ici, que la valeur à sauvegarder se trouve en C18 (si case variable => voir Derligne)
' -----------
Worksheets("Feuil1").Select
[A1] = [C18]

' A la fermeture du fichier il faut nettoyer B7 à C8
[B7:C18].ClearContents


End Sub

Private Sub Workbook_Open()
    Worksheets("Feuil1").Select
    [C7] = [A1] + 1
    [A1] = ""
End Sub
...Si je suis pas trop à la masse ce soir...

A plus
 

ledzepfred

XLDnaute Impliqué
Re : Compteur intelligent ? Besoin d'aide pour un projet urgent svp

RE...

Soenda a été plus rapide que moi

pour gérer repartir à 1 si chgt de date insère une condition

Code:
If Format(Date, "0") <> [B18] Then
[B7] = Format(Date, "0"): [C7] = 1: [D7] = [B7] & "R" & [C7]
Else: [B7] = [B18]: [C7] = [C18] + 1: [D7] = [B7] & "R" & [C7]
End If
For i = 8 To 18
Cells(i, "B") = Cells(i - 1, "B")
Cells(i, "C") = Cells(i - 1, "C") + 1
Cells(i, "D") = Cells(i, "B") & "R" & Cells(i, "C")
Next

ai pas testé mais ça devrait marcher
a+
 

soenda

XLDnaute Accro
Re : Compteur intelligent ? Besoin d'aide pour un projet urgent svp

Re,

évidemment avant [C7] = x, on ajoute
Code:
ActiveCell.FormulaR1C1 = "=TODAY()"
Range("B8").Select
Selection.NumberFormat = "General"
Selection.AutoFill Destination:=Range("B7:B18"), Type:=xlFillDefault
Range("B7:B18").Select
merci l'enregistreur de macro...

A plus

Désolé pour la collision Ledzepfred... A plus
 
Dernière édition:

ledzepfred

XLDnaute Impliqué
Re : Compteur intelligent ? Besoin d'aide pour un projet urgent svp

soenda, HRDChris,

pour info Cells(i, "B") peut s'écrire aussi Cells(i, 2), très pratique quand on a un numéro de ligne et/ou de colonne stocké dans une et/ou deux variables, cela a également l'intérêt de ne pas utiliser Range.

sinon par rapport au code que je propose la condition sur la date était mal exprimée (je comparais des choux et des carottes), mieux vaut écrire :
Code:
x = Format(Date, "0")
y = Format(CDate([B18].Value), "0")

If x = y Then
[B7] = [B18]: [C7] = [C18] + 1: [D7] = [B7] & "R" & [C7]
Else: [B7] = Format(Date, "0"): [C7] = 1: [D7] = [B7] & "R" & [C7]
End If
For i = 8 To 18
Cells(i, "B") = Cells(i - 1, "B")
Cells(i, "C") = Cells(i - 1, "C") + 1
Cells(i, "D") = Cells(i, "B") & "R" & Cells(i, "C")
Next

a+
 

HRDChris

XLDnaute Nouveau
Re : Compteur intelligent ? Besoin d'aide pour un projet urgent svp

Bonsoir, je reviens sur le forum ce soir et là plein de réponses !! Merci à tous de vous pencher sur ma demande, je dois tester tout cela maintenant. Si j'ai des questions je reviendrais vers vous faut que je fasse ma part du travail !!

Merci à tous je pars tester tout cela
 

Discussions similaires

Statistiques des forums

Discussions
312 211
Messages
2 086 298
Membres
103 171
dernier inscrit
clemm