Sauvegarde d'un fichier

  • Initiateur de la discussion Initiateur de la discussion Nico0007
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

N

Nico0007

Guest
Re bonjour, (pour ceux qui ont lu mon post précédent)

Alors, en fait mon problème est le suivant:
je dois développer une appli VBA qui permet le remplissage d'un formulaire (tableau avec des champs spécifiés), l'enregistrement de ce fichier (.xls) dans un répertoire défini et surtout avec un nom de fichier qui reprendrait certains champs du formulaire (initiale de l'utilisateur, poste info concerné, sous système), la date du jour de l'enregistrement, ainsi qu'un (et c'est là que c'est coton) numéro qui s'incrémente à chaque enregistrement d'un nouveau formulaire!!
De plus le fichier 'de base' (celui avec le formulaire vide) doit de nouveau être libre après l'enregistrement car les utilisateurs le réouvriront pour un enregistrement ultérieure, et bien sûr les champs à remplir devront être vide...

Exemple: pour le troisième formulaire enregistré:

NH/33/systeme/011205/003.xls

On a bien: les initiales de l'utilisateur/numéro de l'ordinateur/sous-système/date du jour/numéro d'ordre.xls

Hé oui je sais c'est un peu galère, mais je veux juste savoir si c'est possible, sinon je me débrouillerai autrement...

Merci
 
bonsoir

j'espere que ces infos pourront t'aider

par contre je n'ai pas compris ce que entends par 'sous systeme'
Idem pour le numero de l'ordinateur : j'ai interprété qu'il s'agissait du numero de serie du disque C


Option Explicit

Private Declare Function GetUserName Lib 'advapi32.dll' Alias 'GetUserNameA' _
(ByVal lpBuffer As String, _
nSize As Long) As Long

Sub NomUtilisateur()
Dim lpBuff As String * 25
Dim Ret As Long
Dim Utilisateur As String, laDate As String, numSerie As String
Dim nomClasseur As String, nbFichiers As String


'****************************************************
'nom utilisateur
Ret = GetUserName(lpBuff, 25)
Utilisateur = Left(lpBuff, InStr(lpBuff, Chr(0)) - 1)


'****************************************************
'date du jour formatée
laDate = Format(Date, 'ddmmyy')


'****************************************************
'numero de serie disque C
Dim FSO As Object, Drv As Object

Set FSO = CreateObject('Scripting.FileSystemObject')
Set Drv = FSO.Drives.Item('C')
numSerie = Drv.SerialNumber

'****************************************************
'compte le nombre de fichiers dans le repertoire destination
'pour incrémenter d'une unité
nbFichiers = Format(FSO.GetFolder('C:\\\\\\\\monRepertoireDeSauvegarde').Files.Count + 1, '000')


nomClasseur = Utilisateur & '_' & numSerie & '_' & laDate & '_' & nbFichiers
ActiveWorkbook.SaveAs Filename:='C:\\\\\\\\monRepertoireDeSauvegarde' & nomClasseur & '.xls'
'ActiveWorkbook.Close 'fermeture du classeur

End Sub




bonne soiree
MichelXld
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
3
Affichages
298
Retour