SaveAs VBA + Chemin d'accès

Feutrine

XLDnaute Occasionnel
Bonjour à tous,

J'ai actuellement ce code qui me sauvegarde mon fichier dans "mes documents".

With ActiveWorkbook
.SaveAs Filename:=nomfichier

Je voudrais que l'enregistrement se fasse dans le chemin suivant :

C:\Documents and Settings\NL\Bureau\CDES PASSEES\PYREVERRE

J'ai essayé ceci :

.SaveAs Filename:="C:\Documents and Settings\NL\Bureau\CDES PASSEES\PYREVERRE\nomfichier"


Mais j'ai une erreur d'exécution (13)

Quel est le bon code ?

Merci à tous
 

Feutrine

XLDnaute Occasionnel
Re : SaveAs VBA + Chemin d'accès

Re

Merci Porcinet. Je dois avoir un problème avec "nomfichier". Voici le code dans son intégralité

Sub Sauve()
'Macro par Dan pour Feutrine - 22 octobre 06
'Sauvegarde cde Pyreverre
Dim nom As Workbook

Application.ScreenUpdating = False
Sheets("COMMANDE").Copy
ActiveSheet.UsedRange.Activate
With Selection
.Copy
.PasteSpecial Paste:=xlValues
.Validation.Delete
End With
Columns("A:A").Delete
Columns("K:AB").Delete
nomfichier = ActiveSheet.Range("E9") & Format(Now(), "-yyyy") & Format(Now(), "-mm") & "-" & Format(ActiveSheet.Range("A9"), "0000") & "C"
MsgBox nomfichier
With ActiveWorkbook
.SaveAs Filename:="C:\Documents and Settings\NL\Bureau\CDES PASSEES\PYREVERRE\nomfichier"
.Close
End With
Application.ScreenUpdating = True
End Sub

Peux-tu voir STP ?

Feutrine
 

Jacques87

XLDnaute Accro
Re : SaveAs VBA + Chemin d'accès

Bonjour Feutrine
Salut Romain

Feutrine simplifie ta ligne :

nomfichier = ActiveSheet.Range("E9") & Format(Now(), "-yyyy") & Format(Now(), "-mm") & "-" & Format(ActiveSheet.Range("A9"), "0000") & "C"

nom fichier doit être du type : toto.xls (ne pas oublier le ".xls")

Bon courage

P.S. : en relisant le code écrit sur cette ligne, il me semble que tu désires dater tes fichiers. Il se peut donc que cette ligne puisse convenir ( je n'ai pas essayé) mais dans tous les cas il te faudra alors ajouter à la fin:
& ".xls"
 
Dernière édition:

Hervé

XLDnaute Barbatruc
Re : SaveAs VBA + Chemin d'accès

bonjour

peut etre un souci sur cette ligne :

.SaveAs Filename:="C:\Documents and Settings\NL\Bureau\CDES PASSEES\PYREVERRE\nomfichier"

j'aurais ecrit :

.SaveAs Filename:="C:\Documents and Settings\NL\Bureau\CDES PASSEES\PYREVERRE\" & nomfichier

salut
 

_Thierry

XLDnaute Barbatruc
Repose en paix
Re : SaveAs VBA + Chemin d'accès

Bonjour Hervé, Jacques, Porcinet, Feutrine, le Forum

Oui tout à fait Thierry ! arf non Hervé !!! lol

Pour passer la Variable NomFichier il faut la concaténer et NON l'intégrer dans la String...

Par ailleurs "Dim Nom As WorkBook" est inopérant et devrait être remplacé par "NomFichier As String"...

Pour la Syntax de la création du NomFichier je propose ceci, en n'oubliant pas l'Extension ".xls" comme le précise Jacques.

Code:
Sub Sauve()
Dim NomFichier As String
Dim Extension As String
Extension = ".xls"
NomFichier = ActiveSheet.Range("E9") & Format(Date, "-yyyy-mm-") & Format(ActiveSheet.Range("A9"), "0000") & "C" & Extension
MsgBox NomFichier
End Sub

Bon App

@+Thierry
 

Jacques87

XLDnaute Accro
Re : SaveAs VBA + Chemin d'accès

Bonjour à tous,

Thierry tu as vraiment l'oeil partout.
Je n'avais même pas remarqué (faute de lire assidument) que nomfichier était intégré dans la String.
Je te propose "Oeil de Lynx" comme nouveau login.

Amicalement
 

Feutrine

XLDnaute Occasionnel
Re : SaveAs VBA + Chemin d'accès

Bonjour à tous,
Désolée de ne pas avoir répondu plus tôt.
Un énorme problème informatique (avec perte des fichiers et tout et tout ...) m'a empêchée de venir sur le site.
Bon, j'ai fait venir un technicien qui, après certain temps (ou un temps certain) a réussi à me récupérer mes données. Ouf ! J'ai eu chaud !

Thierry : comme tu l'a sûrement vu sur mes codes VBA, ce n'est pas moi qui les ai créés mais DAN. Je n'y connais absolument rien du tout et je ne sais pas quoi faire de ton code (qu'est-ce que je garde, qu'est-ce que remplace ?). Aurais-tu la gentillesse de me le mettre dans mon fichier que je joins STP ?

Par contre, pour le nom du fichier, s'il est possible de remplacer le numéro de commande qui actuellement se présente sous la forme 0001 par 2006-11-0001, il me semble que la sytaxe serait allégée.

L'enregistré-sous prendrait donc le nom du client (F9) ainsi que le numéro (B9) et j'aimerais que ça aille dans : C:\Documents and Settings\NL\Bureau\CDES PASSEES\PYREVERRE

Voilà, je sais que j'en demande pas mal, mais je suis en train de lire tous les posts concernant VBA pour essayer d'y comprendre quelque chose et de m'en servir. Mais malheureusement, ce n'est pas pour de suite.

Feutrine

Edit : le fichier est trop gros, même compressé. Voici le code actuel :

Sub Sauve()
'Macro par Dan pour Feutrine - 22 octobre 06
'Sauvegarde cde Pyreverre
Dim nom As Workbook

Application.ScreenUpdating = False
Sheets("COMMANDE").Copy
ActiveSheet.UsedRange.Activate
With Selection
.Copy
.PasteSpecial Paste:=xlValues
.Validation.Delete
End With
Columns("A:A").Delete
Columns("K:AB").Delete
nomfichier = ActiveSheet.Range("F9") & Format(Now(), "-yyyy") & Format(Now(), "-mm") & "-" & Format(ActiveSheet.Range("A9"), "0000") & "C"
MsgBox nomfichier
With ActiveWorkbook
.SaveAs Filename:=nomfichier
.Close
End With
Application.ScreenUpdating = True
End Sub
 

Discussions similaires

Statistiques des forums

Discussions
312 234
Messages
2 086 472
Membres
103 226
dernier inscrit
smail12