Bonjour
Pour un formulaire je place un n° de facture, composé de la date du jour en format texte (aammjj) et d'un n° qui s'incrémente automatiquement à chaque ouverture de classeur via cette ligne de code:
"Sheets("saisie").Range("O7") = Sheets("saisie").Range("O7") + 1"
ce qui donne: 150804-1 puis la suivante 150804-2... et ceci pour le même jour.
Or je n'arrive pas à faire en sorte que dès que le jour change, le "compteur" se remette à 1 pour donner ceci:
150805-1
pouvez-vous m'aider?
merci déjà
Je ne comprends pas trop le "-" devant le chiffre. Si c'était "0" :
VB:
Sub test()
Dim NPS As Long, NJ1 As Long
NJ1 = Format(Date, "yymmdd") * 100 + 1
NPS = Worksheets("saisie").Range("O7").Value + 1
If NJ1 > NPS Then NPS = NJ1
Sheets("saisie").Range("O7").Value = NPS
End Sub
bonjour Dranreb
et merci!!
le "-" devant le chiffre sert juste à créer une séparation entre la date du jour et le n°incrémenté.. pour une meilleur lisibilité
et je file regarder ta macro..
puis...
en fait ton code incrémente toujours de 1 même en changeant la date..
alors que je souhaiterais que lorsque la date change on reparte de cette date suivie de 1
re,
en fait je crois comprendre (!!!)
Dans ta formule, tu utilises la date du jour donnée par l'ordi..
et c'est logique alors que pour moi il s'agit de la date du jour inscrit dans une cellule qui n'est pas forcément celle du jour et que je rentre manuellement.
mais je vais attendre demain pour voir si ta proposition est ok, car sur l'ordi du bureau je ne peux avancer la date!!
Est-ce bien cela?
Oui. Mais s'il faut prendre la date d'une cellule il suffirait de remplacer Date par Cells(L, C).Value
Encore faut-il qu'on ne la modifie toujours que dans la sens du temps !
merci Dranreb
Effectivement ça marche chez moi aussi
je n'avais retenu la leçon: "Encore faut-il qu'on ne la modifie toujours que dans la sens du temps ! "
bonne journée à toi
encore merci
Bonjour.
Qu'est ce qui ne va pas ?
Après avoir rendu visible les colonnes contenant la O j'ai vu qu'il y avait 15080502 en O7. J'ai mis un point d'arrêt dans la Sub Valid,
j'ai cliqué sur le bouton VALIDATION et déroulé en pas à pas,: ça m'a bien mis 15080503.
je l'ai ensuite changé manuellement en 15080403, j'ai re-VALIDATION: ça m'a bien mis 15080501. Pour moi ça marche.
Par contre il y a une 2ième incrémentation plus bas Sheets("saisie").Range("O7") = Sheets("saisie").Range("O7") + 1
Peut être un oubli de l'enlever ?
Merci et je vais te dire pourquoi
à travers ce problème, j'ai découvert le point d'arrêt, le pas à pas pour la vérification des macros, sans compter les cells, date, et formats divers.
Du coup je suis allé sur internet chercher de la doc sur tous ces "trucs" et je comprends ainsi mieux les réponses.
un grand merci donc
mon tableau avance, avance.. même si je suis bloqué juste en dessous..
bonne journée Dranreb