> Tous les forums > Forum Bureautique
 Enregistrer via une macro sur disque dur externe ou USBSujet résolu
Ajouter un message à la discussion
Page : [1] 
Page 1 sur 1
MARGAR
  Posté le 24/04/2014 @ 15:21 
Aller en bas de la page 
Petit astucien

Bonjour le Forum,

J'essaye d'enregistrer mon fichier vers la clé USB "G" mais celui-ci s'enregistre toujours sur mon disque dur interne "C".

Malgré plusieurs tentatives, je n'y parviens pas !!

Voici la macro que j'utilise :

Sub Sauvegarder()
Dim nomfichier As String, chemin As String
With ThisWorkbook

ChDir "G:\FACTURATION FRANCO\FACTURES CANCAN\"

nomfichier = "Cl.N° " & .Sheets("Facture").Range("F18") & "- Fact" & " " & .Sheets("Facture").Range("L22") & "-" & .Sheets("Facture").Range("I8")
.Sheets("Facture").Copy

End With

With ActiveWorkbook
.SaveAs Filename:=chemin & nomfichier & ".xls"
.Close
End With
End Sub

Cordialement

margar

Publicité
ZenJP
 Posté le 24/04/2014 à 15:38 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
  Maître astucien

Euh, un ChDir n'a jamais alimenté automatiquement une variable nommée chemin

MARGAR
 Posté le 24/04/2014 à 15:48 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien

Ok, mais alors, qu'elle est la bonne solution ?

ZenJP
 Posté le 24/04/2014 à 16:02 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
  Maître astucien

Sub Sauvegarder()
Dim nomfichier As String, chemin As String
With ThisWorkbook

ChDir "G:\FACTURATION FRANCO\FACTURES CANCAN\"

chemin = G:\FACTURATION FRANCO\FACTURES CANCAN\

nomfichier = chemin & "Cl.N° " & .Sheets("Facture").Range("F18") & "- Fact" & " " & .Sheets("Facture").Range("L22") & "-" & .Sheets("Facture").Range("I8")
.Sheets("Facture").Copy & ".xls"

End With

With ActiveWorkbook
.SaveAs Filename:=nomfichier
.Close
End With
End Sub

MARGAR
 Posté le 24/04/2014 à 16:15 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien

Merci de ta réponse mais losque je l'applique, j'ai une erreur de compilation : erreur de syntaxe concernant le "chemin

ZenJP
 Posté le 24/04/2014 à 16:47 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
  Maître astucien

euh oui j'ai tapé vite mettre chemin = "G:\FACTURATION FRANCO\FACTURES CANCAN\" sans oublier les ""

gilbert_rgi
 Posté le 24/04/2014 à 16:48 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Astucien

Bonjour

mettre le chemin entre guillemets "G:\FACTURATION FRANCO\FACTURES CANCAN\"

ZenJP
 Posté le 24/04/2014 à 16:56 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
  Maître astucien

gilbert_rgi a écrit :

Bonjour

mettre le chemin entre guillemets "G:\FACTURATION FRANCO\FACTURES CANCAN\"

Grillé à une minute près

MARGAR
 Posté le 24/04/2014 à 17:05 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien

Merci à vous deux, mais j'ai maintenant le même pb de Erreur de Comp. : syntaxe avec la ligne nomfichier !

Lors de l'enregistrement j'aimerais que tout ce qui se trouve dans le nomfichier soit respecté !

Merci

Publicité
ferrand
 Posté le 24/04/2014 à 17:13 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
  Astucien

Bonjour,

ChDir modifie le répertoire courant. L'utilisation d'une indication de chemin doublonne avec cette instruction, c'est l'un ou l'autre.

Si j'ai bien lu la macro initiale la variable chemin n'étant pas initialisée contient une chaîne vide. Ça aurait donc dû tourner quand même !

Ceci dit, je vois que les exemples donnés dans l'aide ne comportent jamais d'anti-slash en fin d'argument d'une instruction ChDir... (?) et le chemin contient une espace...

Je conseillerais d'essayer :

Sub Sauvegarder()
Dim nomfichier As String
With ThisWorkbook
ChDir """G:\FACTURATION FRANCO\FACTURES CANCAN"""
nomfichier = "Cl.N° " & .Sheets("Facture").Range("F18") & "- Fact" & " " & .Sheets("Facture").Range("L22") & "-" & .Sheets("Facture").Range("I8")
.Sheets("Facture").Copy
End With
With ActiveWorkbook
.SaveAs Filename:=nomfichier & ".xls"
.Close
End With
End Sub

Tiens nous au courant !

MARGAR
 Posté le 24/04/2014 à 17:24 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien

Bonjour ferrand

Avec les """, j'obtiens chemin d'accès introuvable !

ferrand
 Posté le 24/04/2014 à 20:23 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
  Astucien

Re,

Tu as raison, j'ai fait un essai. Les triples guillemets sont de trop. Sauf qu'avec des guillemets simples, pas d'erreur mais ça ne change pas le répertoire courant.

La solution est de supprimer ChDir ! La proposition de ZenJP sans ChDir :

Sub Sauvegarder()
Dim nomfichier As String, chemin As String
With ThisWorkbook
chemin = "G:\FACTURATION FRANCO\FACTURES CANCAN\"
nomfichier = "Cl.N° " & .Sheets("Facture").Range("F18") & "- Fact" & " " & .Sheets("Facture").Range("L22") & "-" & .Sheets("Facture").Range("I8")
.Sheets("Facture").Copy
End With
With ActiveWorkbook
.SaveAs Filename:=chemin & nomfichier & ".xls"
.Close
End With
End Sub

Au test, ça fonctionne. Je vais essayer d'éclaircir ce pb de ChDir. Si je vois quelque chose, je reviendrai.

ferrand
 Posté le 24/04/2014 à 20:55 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
  Astucien

Je l'avais sous les yeux !!


Remarques

L'instruction ChDir change le dossier par défaut mais pas le lecteur par défaut. Par exemple, si C est le lecteur par défaut, l'instruction ci-dessous change le dossier par défaut sur le lecteur D, mais C reste le lecteur par défaut :

ChDir "D:\TMP"


Donc ChDir ne suffit pas ! Pour changer de lecteur : ChDrive.

Mais autant s'en passer.

MARGAR
 Posté le 24/04/2014 à 22:54 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien

Bonsoir Ferrand, ZenJP et le forum.

La solution est de supprimer ChDir ! La proposition de ZenJP sans ChDir est la bonne solution.

Merci à vous 2 et à ce merveilleux forum.

Amicalement

margar

Page : [1] 
Page 1 sur 1

Vous devez être connecté pour poster des messages. Cliquez ici pour vous identifier.

Vous n'avez pas de compte ? Créez-en un gratuitement !


Sujets relatifs
fichier lock avec mon disque dur externe
lire des film d'un disque dur externe sur une tv
Disque dur externe.
Disque dur externe
DISQUE DUR EXTERNE
Macro excel pour enregistrer
Disque Dur Externe
Achat Disque dur externe
Macro enregistrer, fermer, ouvrir
conceils pour achat d'un disque dur externe
Plus de sujets relatifs à Enregistrer via une macro sur disque dur externe ou USB
 > Tous les forums > Forum Bureautique