Bonjour,
Merci pour votre réponse qui suit mais Comme je suis un débutant en VBA...J'ai essayé de créer 'ci joint model - fichier' et copier les codes ci-dessous sous Visuel Basic Editor mais comment compiler / exécuter comme quoi à l'ouverture du fichier model la facture sera incrémentée une fois sauvegardée. Pourriez-vous jeter un coup d'oeil sur mon model et me donner votre réponse étape par étape..ci joint mon model Fichier 'attaché). Mille Merci+++
kjbara_2007@yahoo.fr
Bien cordialement,
Kamal
Votre message (solution):
Ci-dessous une solution qui suppose que ton modèle ("Fact.xlt" dans le code
ci-dessous) contienne une cellule nommée (Insertion\Nom\Définir) "numFact", cellule
où s'inscrira le numéro incrémenté.
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.
Private Sub Workbook_Open()
If ActiveWorkbook.Path = "" Then
[numFact] = [numFact] + 1
ActiveWorkbook.Saved = True
ActiveWorkbook.SaveCopyAs(Application.TemplatesPat h & "Fact.xls")
End If
End Sub
Private Sub Workbook_BeforeClose(Cancel As Boolean)
chemXls = Application.TemplatesPath & "Fact.xls"
If ActiveWorkbook.Path = "" Then
Set wbk = Workbooks.Open(chemXls)
With wbk.ActiveSheet
.Range("NumFact") = .Range("NumFact") - 1
End With
wbk.Close True
End If
End Sub
Merci pour votre réponse qui suit mais Comme je suis un débutant en VBA...J'ai essayé de créer 'ci joint model - fichier' et copier les codes ci-dessous sous Visuel Basic Editor mais comment compiler / exécuter comme quoi à l'ouverture du fichier model la facture sera incrémentée une fois sauvegardée. Pourriez-vous jeter un coup d'oeil sur mon model et me donner votre réponse étape par étape..ci joint mon model Fichier 'attaché). Mille Merci+++
kjbara_2007@yahoo.fr
Bien cordialement,
Kamal
Votre message (solution):
Ci-dessous une solution qui suppose que ton modèle ("Fact.xlt" dans le code
ci-dessous) contienne une cellule nommée (Insertion\Nom\Définir) "numFact", cellule
où s'inscrira le numéro incrémenté.
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.
Private Sub Workbook_Open()
If ActiveWorkbook.Path = "" Then
[numFact] = [numFact] + 1
ActiveWorkbook.Saved = True
ActiveWorkbook.SaveCopyAs(Application.TemplatesPat h & "Fact.xls")
End If
End Sub
Private Sub Workbook_BeforeClose(Cancel As Boolean)
chemXls = Application.TemplatesPath & "Fact.xls"
If ActiveWorkbook.Path = "" Then
Set wbk = Workbooks.Open(chemXls)
With wbk.ActiveSheet
.Range("NumFact") = .Range("NumFact") - 1
End With
wbk.Close True
End If
End Sub