Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

VBA Enregistrer un fichier avec nom incrémenté

473 views
Skip to first unread message

kristobal78

unread,
May 5, 2009, 5:25:31 AM5/5/09
to
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.
Le nom du fichier devra prendre la forme "fiche_001", puis "fiche_002" et ainsi
de suite.

Pour info mon entreprise ne travaille qu'avec EXCEL 97...

Je vous remercie pour toutes les infos que vous pourrez m'apporter.

Christophe

MichDenis

unread,
May 5, 2009, 6:56:10 AM5/5/09
to
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.

jlo

unread,
Jul 3, 2009, 3:18:21 AM7/3/09
to
kristobal78 a �crit le 05/05/2009 � 11h25 :
Bonjour

j'ai excactement le m�me probl�me avez-vous trouvez un solution cela
m'interesse vivement

0 new messages