Une âme charitable ;-)serait-elle prête à m'expliquer commet je pourrais
enregistrer mes fichiers en incrémentant leur nom...
En clair, j'ai créé un formulaire de facturation que j'ai appelé...
"facture"... Oui, je sais, ça ne s'invente pas !! :-))
J'aimerais beaucoup qu'à l'enregistrement, chacunes de mes factures aient le
nom de facture-n.xls, où "n" est un chiffre (ou nombre) automatiquement gnéré
supérieur au précédent...
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
Jacques93
Bonjour STEFY,
Si toutes tes factures sont dans le même répertoire (à adapter au code), tu peux essayer ceci (à coller dans le code de ThisWorkbook) :
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean,_ Cancel As Boolean) ActiveWorkbook.SaveAs GetName() End Sub
Private Function GetName() As String Dim fName As String Dim i As Integer
fName = Dir("facture-*.xls") i = GetNumber(fName) While Len(fName) > 0 fName = Dir() If Len(fName) > 0 Then If GetNumber(fName) > i Then i = GetNumber(fName) End If End If Wend i = i + 1 GetName = "facture-" & Format(i) & ".xls" End Function
Private Function GetNumber(fName As String) As Integer GetNumber = Val(Mid(fName, 9, InStr(fName, ".") - 9)) End Function
Bonsoir.
Une âme charitable ;-)serait-elle prête à m'expliquer commet je pourrais enregistrer mes fichiers en incrémentant leur nom... En clair, j'ai créé un formulaire de facturation que j'ai appelé... "facture"... Oui, je sais, ça ne s'invente pas !! :-)) J'aimerais beaucoup qu'à l'enregistrement, chacunes de mes factures aient le nom de facture-n.xls, où "n" est un chiffre (ou nombre) automatiquement gnéré supérieur au précédent...
Merci !!
STEFY
-- Cordialement,
Jacques.
Bonjour STEFY,
Si toutes tes factures sont dans le même répertoire (à adapter au code),
tu peux essayer ceci (à coller dans le code de ThisWorkbook) :
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean,_
Cancel As Boolean)
ActiveWorkbook.SaveAs GetName()
End Sub
Private Function GetName() As String
Dim fName As String
Dim i As Integer
fName = Dir("facture-*.xls")
i = GetNumber(fName)
While Len(fName) > 0
fName = Dir()
If Len(fName) > 0 Then
If GetNumber(fName) > i Then
i = GetNumber(fName)
End If
End If
Wend
i = i + 1
GetName = "facture-" & Format(i) & ".xls"
End Function
Private Function GetNumber(fName As String) As Integer
GetNumber = Val(Mid(fName, 9, InStr(fName, ".") - 9))
End Function
Bonsoir.
Une âme charitable ;-)serait-elle prête à m'expliquer commet je pourrais
enregistrer mes fichiers en incrémentant leur nom...
En clair, j'ai créé un formulaire de facturation que j'ai appelé...
"facture"... Oui, je sais, ça ne s'invente pas !! :-))
J'aimerais beaucoup qu'à l'enregistrement, chacunes de mes factures aient le
nom de facture-n.xls, où "n" est un chiffre (ou nombre) automatiquement gnéré
supérieur au précédent...
Si toutes tes factures sont dans le même répertoire (à adapter au code), tu peux essayer ceci (à coller dans le code de ThisWorkbook) :
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean,_ Cancel As Boolean) ActiveWorkbook.SaveAs GetName() End Sub
Private Function GetName() As String Dim fName As String Dim i As Integer
fName = Dir("facture-*.xls") i = GetNumber(fName) While Len(fName) > 0 fName = Dir() If Len(fName) > 0 Then If GetNumber(fName) > i Then i = GetNumber(fName) End If End If Wend i = i + 1 GetName = "facture-" & Format(i) & ".xls" End Function
Private Function GetNumber(fName As String) As Integer GetNumber = Val(Mid(fName, 9, InStr(fName, ".") - 9)) End Function
Bonsoir.
Une âme charitable ;-)serait-elle prête à m'expliquer commet je pourrais enregistrer mes fichiers en incrémentant leur nom... En clair, j'ai créé un formulaire de facturation que j'ai appelé... "facture"... Oui, je sais, ça ne s'invente pas !! :-)) J'aimerais beaucoup qu'à l'enregistrement, chacunes de mes factures aient le nom de facture-n.xls, où "n" est un chiffre (ou nombre) automatiquement gnéré supérieur au précédent...
Merci !!
STEFY
-- Cordialement,
Jacques.
JB
Bonjour,
PJ http://cjoint.com/?blwQh7MuCs
Classeur à enregistrer comme modèle
-Le compteur se trouve dans un classeur Compteur.xls -La macro affecte un numéro à la sauvegarde et incrémente le compteur de 1 -Le classeur est enregistré avec le nom Nt_Fraisxxxx -Le bouton est caché après exécution pour que la macro ne puisse pas être exécutée 2 fois
Le compteur peut être initialisé (en début d'année par ex)
Pour un fonctionnement qui n'est pas en réseau, le compteur peut être placé dans un onglet.
Cordialement JB
Bonjour,
PJ http://cjoint.com/?blwQh7MuCs
Classeur à enregistrer comme modèle
-Le compteur se trouve dans un classeur Compteur.xls
-La macro affecte un numéro à la sauvegarde et incrémente le
compteur de 1
-Le classeur est enregistré avec le nom Nt_Fraisxxxx
-Le bouton est caché après exécution pour que la macro ne puisse pas
être exécutée 2 fois
Le compteur peut être initialisé (en début d'année par ex)
-Le compteur se trouve dans un classeur Compteur.xls -La macro affecte un numéro à la sauvegarde et incrémente le compteur de 1 -Le classeur est enregistré avec le nom Nt_Fraisxxxx -Le bouton est caché après exécution pour que la macro ne puisse pas être exécutée 2 fois
Le compteur peut être initialisé (en début d'année par ex)