Bonsoir.
Je désire créer un système de numérotation automatique, c'est bon, j'ai la
proc avec MAX+1, mais je souhaite qu'en début d'année, les numéros
repartent de 1, comment faire ?
Merci beaucoup
Alpha
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Nicolas B.
Salut alpha,
En espérant que c'est ce que tu veux : lors de l'ouverture du fichier, si l'année depuis le dernier enregistrement a changé, alors recommencer la numérotation.
La procédure insère un nom qui contient la date du dernier enregistrement. Si l'année de celle-ci est différente de l'année quand tu rouvre le fichier, alors RAZ est mis à True, ce qui te permet de faire la mise à 0 dans une autre macro.
(à placer dans ThisWorkbook)
Dim RAZ As Boolean
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean) ActiveWorkbook.Names.Add Name:="Enregistrement", RefersToR1C1:Íec(Date) End Sub
Private Sub Workbook_Open() If Year([Enregistrement]) <> Year(Date) Then RAZ = True MsgBox RAZ End Sub
Bonsoir. Je désire créer un système de numérotation automatique, c'est bon, j'ai la proc avec MAX+1, mais je souhaite qu'en début d'année, les numéros repartent de 1, comment faire ? Merci beaucoup Alpha
Salut alpha,
En espérant que c'est ce que tu veux : lors de l'ouverture du fichier, si
l'année depuis le dernier enregistrement a changé, alors recommencer la
numérotation.
La procédure insère un nom qui contient la date du dernier enregistrement.
Si l'année de celle-ci est différente de l'année quand tu rouvre le fichier,
alors RAZ est mis à True, ce qui te permet de faire la mise à 0 dans une
autre macro.
(à placer dans ThisWorkbook)
Dim RAZ As Boolean
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As
Boolean)
ActiveWorkbook.Names.Add Name:="Enregistrement", RefersToR1C1:Íec(Date)
End Sub
Private Sub Workbook_Open()
If Year([Enregistrement]) <> Year(Date) Then RAZ = True
MsgBox RAZ
End Sub
Bonsoir.
Je désire créer un système de numérotation automatique, c'est bon,
j'ai la proc avec MAX+1, mais je souhaite qu'en début d'année, les
numéros repartent de 1, comment faire ?
Merci beaucoup
Alpha
En espérant que c'est ce que tu veux : lors de l'ouverture du fichier, si l'année depuis le dernier enregistrement a changé, alors recommencer la numérotation.
La procédure insère un nom qui contient la date du dernier enregistrement. Si l'année de celle-ci est différente de l'année quand tu rouvre le fichier, alors RAZ est mis à True, ce qui te permet de faire la mise à 0 dans une autre macro.
(à placer dans ThisWorkbook)
Dim RAZ As Boolean
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean) ActiveWorkbook.Names.Add Name:="Enregistrement", RefersToR1C1:Íec(Date) End Sub
Private Sub Workbook_Open() If Year([Enregistrement]) <> Year(Date) Then RAZ = True MsgBox RAZ End Sub
Bonsoir. Je désire créer un système de numérotation automatique, c'est bon, j'ai la proc avec MAX+1, mais je souhaite qu'en début d'année, les numéros repartent de 1, comment faire ? Merci beaucoup Alpha
Alpha
Bonsoir, Nicolas
Merci beaucoup pour ta rapidité, mais je n'ai pas bien compris, en fait, j'ai mes dates en Colonne B, mes Numéro en C etc. A chaque fois, que l'on va sur la page de saisie, un msgbox indique le numéro à saisir, car cela évite de saisir 2 fois le même n°, sachant qu'il y a des dossiers classés. J'ai dû mal à intégrer la proc.
"Nicolas B." a écrit dans le message de news:
Salut alpha,
En espérant que c'est ce que tu veux : lors de l'ouverture du fichier, si l'année depuis le dernier enregistrement a changé, alors recommencer la numérotation.
La procédure insère un nom qui contient la date du dernier enregistrement. Si l'année de celle-ci est différente de l'année quand tu rouvre le fichier,
alors RAZ est mis à True, ce qui te permet de faire la mise à 0 dans une autre macro.
(à placer dans ThisWorkbook)
Dim RAZ As Boolean
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean) ActiveWorkbook.Names.Add Name:="Enregistrement", RefersToR1C1:Íec(Date) End Sub
Private Sub Workbook_Open() If Year([Enregistrement]) <> Year(Date) Then RAZ = True MsgBox RAZ End Sub
Bonsoir. Je désire créer un système de numérotation automatique, c'est bon, j'ai la proc avec MAX+1, mais je souhaite qu'en début d'année, les numéros repartent de 1, comment faire ? Merci beaucoup Alpha
Bonsoir, Nicolas
Merci beaucoup pour ta rapidité, mais je n'ai pas bien compris, en fait,
j'ai mes dates en Colonne B, mes Numéro en C etc.
A chaque fois, que l'on va sur la page de saisie, un msgbox indique le
numéro à saisir, car cela évite de saisir 2 fois le même n°, sachant qu'il y
a des dossiers classés.
J'ai dû mal à intégrer la proc.
"Nicolas B." <nicolas.bruot@adresse.bidon.com> a écrit dans le message de
news:eJw08EI1DHA.2580@TK2MSFTNGP09.phx.gbl...
Salut alpha,
En espérant que c'est ce que tu veux : lors de l'ouverture du fichier, si
l'année depuis le dernier enregistrement a changé, alors recommencer la
numérotation.
La procédure insère un nom qui contient la date du dernier enregistrement.
Si l'année de celle-ci est différente de l'année quand tu rouvre le
fichier,
alors RAZ est mis à True, ce qui te permet de faire la mise à 0 dans une
autre macro.
(à placer dans ThisWorkbook)
Dim RAZ As Boolean
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As
Boolean)
ActiveWorkbook.Names.Add Name:="Enregistrement", RefersToR1C1:Íec(Date)
End Sub
Private Sub Workbook_Open()
If Year([Enregistrement]) <> Year(Date) Then RAZ = True
MsgBox RAZ
End Sub
Bonsoir.
Je désire créer un système de numérotation automatique, c'est bon,
j'ai la proc avec MAX+1, mais je souhaite qu'en début d'année, les
numéros repartent de 1, comment faire ?
Merci beaucoup
Alpha
Merci beaucoup pour ta rapidité, mais je n'ai pas bien compris, en fait, j'ai mes dates en Colonne B, mes Numéro en C etc. A chaque fois, que l'on va sur la page de saisie, un msgbox indique le numéro à saisir, car cela évite de saisir 2 fois le même n°, sachant qu'il y a des dossiers classés. J'ai dû mal à intégrer la proc.
"Nicolas B." a écrit dans le message de news:
Salut alpha,
En espérant que c'est ce que tu veux : lors de l'ouverture du fichier, si l'année depuis le dernier enregistrement a changé, alors recommencer la numérotation.
La procédure insère un nom qui contient la date du dernier enregistrement. Si l'année de celle-ci est différente de l'année quand tu rouvre le fichier,
alors RAZ est mis à True, ce qui te permet de faire la mise à 0 dans une autre macro.
(à placer dans ThisWorkbook)
Dim RAZ As Boolean
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean) ActiveWorkbook.Names.Add Name:="Enregistrement", RefersToR1C1:Íec(Date) End Sub
Private Sub Workbook_Open() If Year([Enregistrement]) <> Year(Date) Then RAZ = True MsgBox RAZ End Sub
Bonsoir. Je désire créer un système de numérotation automatique, c'est bon, j'ai la proc avec MAX+1, mais je souhaite qu'en début d'année, les numéros repartent de 1, comment faire ? Merci beaucoup Alpha
Nicolas B.
J'étais complètement à côté de la plaque :-)
Essaye ceci :
Sub Saisie() Dim Ligne As Long Dim Jour As Date
Ligne = Range("B1").End(xlDown)(2).Row Jour = Date 'mets l'inputbox demandant la date
Cells(Ligne, 2) = Jour 'inscrit la date dans la dernière cellule vide If Year(Cells(Ligne - 1, 2)) = Year(Jour) Then 'test sur l'année Cells(Ligne, 3) = Cells(Ligne - 1, 3) + 1 'incrémente le numéro Else Cells(Ligne, 3) = 1 'repart à 1 End If End Sub
Merci beaucoup pour ta rapidité, mais je n'ai pas bien compris, en fait, j'ai mes dates en Colonne B, mes Numéro en C etc. A chaque fois, que l'on va sur la page de saisie, un msgbox indique le numéro à saisir, car cela évite de saisir 2 fois le même n°, sachant qu'il y a des dossiers classés. J'ai dû mal à intégrer la proc.
"Nicolas B." a écrit dans le message de news:
Salut alpha,
En espérant que c'est ce que tu veux : lors de l'ouverture du fichier, si l'année depuis le dernier enregistrement a changé, alors recommencer la numérotation.
La procédure insère un nom qui contient la date du dernier enregistrement. Si l'année de celle-ci est différente de l'année quand tu rouvre le fichier, alors RAZ est mis à True, ce qui te permet de faire la mise à 0 dans une autre macro.
(à placer dans ThisWorkbook)
Dim RAZ As Boolean
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean) ActiveWorkbook.Names.Add Name:="Enregistrement", RefersToR1C1:Íec(Date) End Sub
Private Sub Workbook_Open() If Year([Enregistrement]) <> Year(Date) Then RAZ = True MsgBox RAZ End Sub
Bonsoir. Je désire créer un système de numérotation automatique, c'est bon, j'ai la proc avec MAX+1, mais je souhaite qu'en début d'année, les numéros repartent de 1, comment faire ? Merci beaucoup Alpha
J'étais complètement à côté de la plaque :-)
Essaye ceci :
Sub Saisie()
Dim Ligne As Long
Dim Jour As Date
Ligne = Range("B1").End(xlDown)(2).Row
Jour = Date 'mets l'inputbox demandant la date
Cells(Ligne, 2) = Jour 'inscrit la date dans la dernière cellule vide
If Year(Cells(Ligne - 1, 2)) = Year(Jour) Then 'test sur l'année
Cells(Ligne, 3) = Cells(Ligne - 1, 3) + 1 'incrémente le numéro
Else
Cells(Ligne, 3) = 1 'repart à 1
End If
End Sub
Merci beaucoup pour ta rapidité, mais je n'ai pas bien compris, en
fait, j'ai mes dates en Colonne B, mes Numéro en C etc.
A chaque fois, que l'on va sur la page de saisie, un msgbox indique le
numéro à saisir, car cela évite de saisir 2 fois le même n°, sachant
qu'il y a des dossiers classés.
J'ai dû mal à intégrer la proc.
"Nicolas B." <nicolas.bruot@adresse.bidon.com> a écrit dans le
message de news:eJw08EI1DHA.2580@TK2MSFTNGP09.phx.gbl...
Salut alpha,
En espérant que c'est ce que tu veux : lors de l'ouverture du
fichier, si l'année depuis le dernier enregistrement a changé, alors
recommencer la numérotation.
La procédure insère un nom qui contient la date du dernier
enregistrement. Si l'année de celle-ci est différente de l'année
quand tu rouvre le fichier, alors RAZ est mis à True, ce qui te
permet de faire la mise à 0 dans une autre macro.
(à placer dans ThisWorkbook)
Dim RAZ As Boolean
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As
Boolean)
ActiveWorkbook.Names.Add Name:="Enregistrement",
RefersToR1C1:Íec(Date) End Sub
Private Sub Workbook_Open()
If Year([Enregistrement]) <> Year(Date) Then RAZ = True
MsgBox RAZ
End Sub
Bonsoir.
Je désire créer un système de numérotation automatique, c'est bon,
j'ai la proc avec MAX+1, mais je souhaite qu'en début d'année, les
numéros repartent de 1, comment faire ?
Merci beaucoup
Alpha
Ligne = Range("B1").End(xlDown)(2).Row Jour = Date 'mets l'inputbox demandant la date
Cells(Ligne, 2) = Jour 'inscrit la date dans la dernière cellule vide If Year(Cells(Ligne - 1, 2)) = Year(Jour) Then 'test sur l'année Cells(Ligne, 3) = Cells(Ligne - 1, 3) + 1 'incrémente le numéro Else Cells(Ligne, 3) = 1 'repart à 1 End If End Sub
Merci beaucoup pour ta rapidité, mais je n'ai pas bien compris, en fait, j'ai mes dates en Colonne B, mes Numéro en C etc. A chaque fois, que l'on va sur la page de saisie, un msgbox indique le numéro à saisir, car cela évite de saisir 2 fois le même n°, sachant qu'il y a des dossiers classés. J'ai dû mal à intégrer la proc.
"Nicolas B." a écrit dans le message de news:
Salut alpha,
En espérant que c'est ce que tu veux : lors de l'ouverture du fichier, si l'année depuis le dernier enregistrement a changé, alors recommencer la numérotation.
La procédure insère un nom qui contient la date du dernier enregistrement. Si l'année de celle-ci est différente de l'année quand tu rouvre le fichier, alors RAZ est mis à True, ce qui te permet de faire la mise à 0 dans une autre macro.
(à placer dans ThisWorkbook)
Dim RAZ As Boolean
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean) ActiveWorkbook.Names.Add Name:="Enregistrement", RefersToR1C1:Íec(Date) End Sub
Private Sub Workbook_Open() If Year([Enregistrement]) <> Year(Date) Then RAZ = True MsgBox RAZ End Sub
Bonsoir. Je désire créer un système de numérotation automatique, c'est bon, j'ai la proc avec MAX+1, mais je souhaite qu'en début d'année, les numéros repartent de 1, comment faire ? Merci beaucoup Alpha
Alpha
Ok Nicolas après test cela fonctionne parfaitement, c'est vraiment génial, il faut que je l'adapte. Encore merci et bravo. Alpha
"Nicolas B." a écrit dans le message de news:
J'étais complètement à côté de la plaque :-)
Essaye ceci :
Sub Saisie() Dim Ligne As Long Dim Jour As Date
Ligne = Range("B1").End(xlDown)(2).Row Jour = Date 'mets l'inputbox demandant la date
Cells(Ligne, 2) = Jour 'inscrit la date dans la dernière cellule vide If Year(Cells(Ligne - 1, 2)) = Year(Jour) Then 'test sur l'année Cells(Ligne, 3) = Cells(Ligne - 1, 3) + 1 'incrémente le numéro Else Cells(Ligne, 3) = 1 'repart à 1 End If End Sub
Merci beaucoup pour ta rapidité, mais je n'ai pas bien compris, en fait, j'ai mes dates en Colonne B, mes Numéro en C etc. A chaque fois, que l'on va sur la page de saisie, un msgbox indique le numéro à saisir, car cela évite de saisir 2 fois le même n°, sachant qu'il y a des dossiers classés. J'ai dû mal à intégrer la proc.
"Nicolas B." a écrit dans le message de news:
Salut alpha,
En espérant que c'est ce que tu veux : lors de l'ouverture du fichier, si l'année depuis le dernier enregistrement a changé, alors recommencer la numérotation.
La procédure insère un nom qui contient la date du dernier enregistrement. Si l'année de celle-ci est différente de l'année quand tu rouvre le fichier, alors RAZ est mis à True, ce qui te permet de faire la mise à 0 dans une autre macro.
(à placer dans ThisWorkbook)
Dim RAZ As Boolean
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean) ActiveWorkbook.Names.Add Name:="Enregistrement", RefersToR1C1:Íec(Date) End Sub
Private Sub Workbook_Open() If Year([Enregistrement]) <> Year(Date) Then RAZ = True MsgBox RAZ End Sub
Bonsoir. Je désire créer un système de numérotation automatique, c'est bon, j'ai la proc avec MAX+1, mais je souhaite qu'en début d'année, les numéros repartent de 1, comment faire ? Merci beaucoup Alpha
Ok Nicolas après test cela fonctionne parfaitement, c'est vraiment génial,
il faut que je l'adapte.
Encore merci et bravo.
Alpha
"Nicolas B." <nicolas.bruot@adresse.bidon.com> a écrit dans le message de
news:uDP5JWI1DHA.2636@TK2MSFTNGP09.phx.gbl...
J'étais complètement à côté de la plaque :-)
Essaye ceci :
Sub Saisie()
Dim Ligne As Long
Dim Jour As Date
Ligne = Range("B1").End(xlDown)(2).Row
Jour = Date 'mets l'inputbox demandant la date
Cells(Ligne, 2) = Jour 'inscrit la date dans la dernière cellule vide
If Year(Cells(Ligne - 1, 2)) = Year(Jour) Then 'test sur l'année
Cells(Ligne, 3) = Cells(Ligne - 1, 3) + 1 'incrémente le numéro
Else
Cells(Ligne, 3) = 1 'repart à 1
End If
End Sub
Merci beaucoup pour ta rapidité, mais je n'ai pas bien compris, en
fait, j'ai mes dates en Colonne B, mes Numéro en C etc.
A chaque fois, que l'on va sur la page de saisie, un msgbox indique le
numéro à saisir, car cela évite de saisir 2 fois le même n°, sachant
qu'il y a des dossiers classés.
J'ai dû mal à intégrer la proc.
"Nicolas B." <nicolas.bruot@adresse.bidon.com> a écrit dans le
message de news:eJw08EI1DHA.2580@TK2MSFTNGP09.phx.gbl...
Salut alpha,
En espérant que c'est ce que tu veux : lors de l'ouverture du
fichier, si l'année depuis le dernier enregistrement a changé, alors
recommencer la numérotation.
La procédure insère un nom qui contient la date du dernier
enregistrement. Si l'année de celle-ci est différente de l'année
quand tu rouvre le fichier, alors RAZ est mis à True, ce qui te
permet de faire la mise à 0 dans une autre macro.
(à placer dans ThisWorkbook)
Dim RAZ As Boolean
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As
Boolean)
ActiveWorkbook.Names.Add Name:="Enregistrement",
RefersToR1C1:Íec(Date) End Sub
Private Sub Workbook_Open()
If Year([Enregistrement]) <> Year(Date) Then RAZ = True
MsgBox RAZ
End Sub
Bonsoir.
Je désire créer un système de numérotation automatique, c'est bon,
j'ai la proc avec MAX+1, mais je souhaite qu'en début d'année, les
numéros repartent de 1, comment faire ?
Merci beaucoup
Alpha
Ok Nicolas après test cela fonctionne parfaitement, c'est vraiment génial, il faut que je l'adapte. Encore merci et bravo. Alpha
"Nicolas B." a écrit dans le message de news:
J'étais complètement à côté de la plaque :-)
Essaye ceci :
Sub Saisie() Dim Ligne As Long Dim Jour As Date
Ligne = Range("B1").End(xlDown)(2).Row Jour = Date 'mets l'inputbox demandant la date
Cells(Ligne, 2) = Jour 'inscrit la date dans la dernière cellule vide If Year(Cells(Ligne - 1, 2)) = Year(Jour) Then 'test sur l'année Cells(Ligne, 3) = Cells(Ligne - 1, 3) + 1 'incrémente le numéro Else Cells(Ligne, 3) = 1 'repart à 1 End If End Sub
Merci beaucoup pour ta rapidité, mais je n'ai pas bien compris, en fait, j'ai mes dates en Colonne B, mes Numéro en C etc. A chaque fois, que l'on va sur la page de saisie, un msgbox indique le numéro à saisir, car cela évite de saisir 2 fois le même n°, sachant qu'il y a des dossiers classés. J'ai dû mal à intégrer la proc.
"Nicolas B." a écrit dans le message de news:
Salut alpha,
En espérant que c'est ce que tu veux : lors de l'ouverture du fichier, si l'année depuis le dernier enregistrement a changé, alors recommencer la numérotation.
La procédure insère un nom qui contient la date du dernier enregistrement. Si l'année de celle-ci est différente de l'année quand tu rouvre le fichier, alors RAZ est mis à True, ce qui te permet de faire la mise à 0 dans une autre macro.
(à placer dans ThisWorkbook)
Dim RAZ As Boolean
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean) ActiveWorkbook.Names.Add Name:="Enregistrement", RefersToR1C1:Íec(Date) End Sub
Private Sub Workbook_Open() If Year([Enregistrement]) <> Year(Date) Then RAZ = True MsgBox RAZ End Sub
Bonsoir. Je désire créer un système de numérotation automatique, c'est bon, j'ai la proc avec MAX+1, mais je souhaite qu'en début d'année, les numéros repartent de 1, comment faire ? Merci beaucoup Alpha