Pb Numérotation automatique sur modèle Excel - VB/VBA/VBS - Programmation
MarshPosté le 10-08-2010 à 11:51:07
Bonjour
J'ai créé un modèle Excel prenant en charge les macros à partir duquel je désire que mes utilisateurs réalisent un enregistrement sous forme d'un classeur Excel simple (sans macro) dans lequel un numéro unique de document figurera. Je veux que ce code soit de la forme "XXXXX_001" avec les trois derniers chiffres à incrémenter et je voudrais que, dés l'ouverture du modèle, l'utilisateur enregistre son document avec le numéro émit. Plusieurs utilisateurs pouvant ouvrir le modèle en même temps, c’est pourquoi je cherche à éviter les doublons en enregistrant dés l'ouverture du modèle le dernier numéro émis.
La macro que j'ai écrite est la suivante:
___________
Private Sub Workbook_Open()
'Codification Documentaire
Dim Code As String Dim Num As Integer Dim NumT As String
NumT = Right(Range("Q2" ), 3) Num = NumT Num = Num + 1 NumT = Num NumT = "000" + NumT NumT = Right(NumT, 3) Code = "XXXXX_" + NumT Range("Q2" ) = Code
Application.Dialogs(xlDialogSaveAs).Show (Code)
End Sub
_____________________
Mon problème est que je ne parviens pas à enregistrer dans mon modèle le dernier numéro émis pour poursuivre correctement l'incrémentation. A chaque ouverture du modèle, le numéro reste le même.
Marsh Posté le 10-08-2010 à 11:51:07
Bonjour
J'ai créé un modèle Excel prenant en charge les macros à partir duquel je désire que mes utilisateurs réalisent un enregistrement sous forme d'un classeur Excel simple (sans macro) dans lequel un numéro unique de document figurera. Je veux que ce code soit de la forme "XXXXX_001" avec les trois derniers chiffres à incrémenter et je voudrais que, dés l'ouverture du modèle, l'utilisateur enregistre son document avec le numéro émit. Plusieurs utilisateurs pouvant ouvrir le modèle en même temps, c’est pourquoi je cherche à éviter les doublons en enregistrant dés l'ouverture du modèle le dernier numéro émis.
La macro que j'ai écrite est la suivante:
___________
Private Sub Workbook_Open()
'Codification Documentaire
Dim Code As String
Dim Num As Integer
Dim NumT As String
NumT = Right(Range("Q2" ), 3)
Num = NumT
Num = Num + 1
NumT = Num
NumT = "000" + NumT
NumT = Right(NumT, 3)
Code = "XXXXX_" + NumT
Range("Q2" ) = Code
Application.Dialogs(xlDialogSaveAs).Show (Code)
End Sub
_____________________
Mon problème est que je ne parviens pas à enregistrer dans mon modèle le dernier numéro émis pour poursuivre correctement l'incrémentation. A chaque ouverture du modèle, le numéro reste le même.
Merci d’avance pour votre aide.
Cordialement
Christophe