Bonjour à tous,
je cherche à mettre en place un numéro de facture qui s'incrémente de façon automatique, j'ai trouvé un code sur un site (http://dj.joss.free.fr/faq.htm#numFacture) mais n'y connaissant pas grand chose en macro je ne sais pas comment utiliser ce code...
voici le code en question:
merci d'avance de votre aide
je cherche à mettre en place un numéro de facture qui s'incrémente de façon automatique, j'ai trouvé un code sur un site (http://dj.joss.free.fr/faq.htm#numFacture) mais n'y connaissant pas grand chose en macro je ne sais pas comment utiliser ce code...
voici le code en question:
A l'ouverture d'un classeur basé sur le modèle ('Fact1.xls'), la cellule 'numFact'
est incrémentée et le classeur est réenregistré comme modèle 'Fact.xlt', écrasant le
précédent et sauvegardant ainsi le nouveau numéro.
A la fermeture, si le classeur 'Fact1.xls' n'a pas été enregistré, on considère que
le numéro de facture n'a pas servi. Le modèle est réouvert et la cellule 'numFact'
est décrémentée pour proposer à la création du prochain classeur basé sur le modèle
un numéro de facture 'cohérent' avec les précédentes factures enregistrées.
Code:
Private Sub Workbook_Open()
If ActiveWorkbook.Path = '' Then
[numFact] = [numFact] + 1
ActiveWorkbook.Saved = True
ActiveWorkbook.SaveCopyAs(Application.TemplatesPath & 'Fact.xlt')
End If
End Sub
Private Sub Workbook_BeforeClose(Cancel As Boolean)
chemXlt = Application.TemplatesPath & 'Fact.xlt'
If ActiveWorkbook.Path = '' Then
Set wbk = Workbooks.Open(chemXlt)
With wbk.ActiveSheet
.Range('NumFact') = .Range('NumFact') - 1
End With
wbk.Close True
End If
End Sub
merci d'avance de votre aide