fonction saveas

luisf

XLDnaute Occasionnel
bonjour
j'ai un petit souci de sauvegarde de fichier.
je voudrais que mon fichier excel s'enregistre dans un dossier sous le nom "controle au 'feuill1.cellule R7'".

mon deuxième souci c'est que le dossier de destination du fichier n'est pas créer avan la premiere utilisation. alor j'ai trouvé le code qui permet de créer le dossier:
Code:
MkDir "c:\test"
par contre moi je voudrais que le dossier qui se crée prenne le nom de la cellule C2 de la feuille1 alors j'ai essayé:
Code:
MkDir "c:\Sheets(1).Range("C2").Value"
mais sa ne fonctionne pas erreur de compilation

le dernier probleme c'est que lorsque je clique sur le bouton la 1er fois sa crée le dossier nikel mais les autres fois sa bug car le dossier est déjà créer il faudrait donc une condition du genre
si le dossier ("Sheets(1).Range("C2").Value") existe alors sauvegarder sinon créer le dossier et sauvegarder sous...

merci
 

tototiti2008

XLDnaute Barbatruc
Re : fonction saveas

Tu devrais essayer ça :
Code:
Function TestExisteDossier(CheminDoss As String) As Boolean
Dim FS
    Set FS = CreateObject("Scripting.FileSystemObject")
    TestExisteDossier = FS.folderexists(CheminDoss)
End Function

Sub CreeDossier()
    If Not TestExisteDossier("c:\" & Sheets(1).Range("C2").Value)Then
        MkDir "c:\" & Sheets(1).Range("C2").Value
    End If
End Sub

Dis-moi si ça pose un problème...
A bientôt :)
 

luisf

XLDnaute Occasionnel
Re : fonction saveas

c'est bon sa fonctionne

le dernier point c'est de sauvegarder mon fichier excel dans ce dossier
j'ai essayer avec:

activeworkbook.saveas "c:\" & Sheets(1).Range("C2").Value & "contrôle au " & Sheets(1).Range("R7").Value

mais sa ne fonctionne pas

en faite je veux que mon fichier se sauvegarde dans le dossier et prenne le nom de controle au Sheets(1).Range("R7").Value

tu vois comment faire sa??
 

tototiti2008

XLDnaute Barbatruc
Re : fonction saveas

rebonjour,

activeworkbook.saveas "c:\" & Sheets(1).Range("C2").Value & "\contrôle au " & Sheets(1).Range("R7").Value

Je ne sais pas si ta cellule R7 contient l'extension .xls, mais ce serai préférable, sinon rajoute
& ".xls"
à la fin de la ligne précédente
 

Cousinhub

XLDnaute Barbatruc
Re : fonction saveas

Bonjour,
dans un de tes précédents fils, Hasco t'avait donné la solution...
cherche bien, car tu veux enregistrer ton fichier avec la date du jour, or ta cellule R7 contient une date, et les "/" entre autres sont interdits dans les noms de classeur.....
 

tototiti2008

XLDnaute Barbatruc
Re : fonction saveas

En effet, si la cellule R7 contient une date, il faudrait plutot faire :
activeworkbook.saveas "c:\" & Sheets(1).Range("C2").Value & "\contrôle au " & format(Sheets(1).Range("R7").Value,"dd-mm-yyyy") & ".xls"
 

luisf

XLDnaute Occasionnel
Re : fonction saveas

c'est bon sa fonctionne
par contre je viens de penser a autre chose est ce que c'est possible de faire un copier coller d'un fichier dans un dossier.

je m'explique: plutot que de sauvegarder le fichier je pense que sa serait mieux qu'il me fasse une copie dans le dossier qui à été créer et de renommer la copie

c'est faisable??
 

Bernard_XLD

XLDnaute Barbatruc
Membre du Staff
Re : fonction saveas

Bonjour

regarde du coté de
SaveCopyAs
Cette méthode enregistre une copie du classeur dans un fichier sans modifier le classeur ouvert en mémoire.
expression.SaveCopyAs(Filename)

cela donne dans ton cas

activeworkbook.savecopyas "c:\" & Sheets(1).Range("C2").Value & "\contrôle au " & format(Sheets(1).Range("R7").Value,"dd-mm-yyyy") & ".xls"

Bien cordialement
 

luisf

XLDnaute Occasionnel
Re : fonction saveas

c'est nikel sa marche
cette fonction la est un peu plus adapter a ce que j'avais besoin de faire
merci pour vos réponse!!
je ne sais pas comment je ferrai sans le forum pour faire mon projet de fin d'étude
 

Discussions similaires

Réponses
22
Affichages
1 K

Statistiques des forums

Discussions
311 997
Messages
2 084 447
Membres
102 579
dernier inscrit
JLB35