Bonjour Christophe,
En 2 étapes :
A ) tu exécutes cette macro une fois. Elle va créer un "NOM"
de la collection Names qui sera non visible par l'interface
de calcul par la commande "Insertion / nom / définir ..."
pour l'usager mais où tu vas conserver le nom du dernier
classeur enregistré.
Le nom créé est : NomFichier et le nom du premier classeur
enregistré sera "Fichier_001"
Tu n'exécutes cette macro qu'une fois, le temps de créer le NOM.
'--------------------------
Sub Debut()
Names.Add Name:="NomFichier", RefersTo:="Fichier_001", Visible:=False
End Sub
'--------------------------
'-----------------------------------------
Sub test()
Dim X As String, S As Integer
Dim Chemin As String
Dim Fichier As String
Dim NeoNom As String
'Où tu veux conserver tes fichiers
Chemin = "C:\Users\Documents\Excel\"
'Récupère la valeur du NOM du dernier enregistrement
X = [NomFichier]
'Trouve la position du caractère "_"
S = Application.Find("_", X)
'Créer le nouveau nom + incrémentation
NeoNom = Left(X, S - 1) & "_" & Format(Val(Right(X, Len(X) - S)) + 1, "000")
'Enregistrement du nouveau fichier
ThisWorkbook.SaveAs Chemin & NeoNom & ".xls"
'Mise à jour de la valeur du NOM
Names.Add Name:="NomFichier", RefersTo:=NeoNom, Visible:=False
End Sub
'-----------------------------------------
"kristobal78" <
nospam_c...@hotmail.com> a écrit dans le message de groupe de discussion : JeGdnfwnPKi...@giganews.com...
Bonjour,
Je suis débutant sous VBA et je cherche un code dans le cadre de mon stage de
fin d'année.
J'ai créé un formulaire via un "modèle" et je souhaite créer une macro me
permettant d'enregistrer le classeur (via un bouton associé à la macro) avec
incrémentation du nom du fichier.
En fait je souhaite que les utilisateurs n'aient qu'à remplir le formulaire et
cliquer sur un bouton pour enregistrer le fichier sous un répertoire
pré-défini.