> 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 participer à la discussion.
Cliquez ici pour vous identifier.

Vous n'avez pas de compte ? Créez-en un gratuitement !
Recevoir PC Astuces par e-mail


La Lettre quotidienne +226 000 inscrits
Avec l'actu, des logiciels, des applis, des astuces, des bons plans, ...

Les bonnes affaires
Une fois par semaine, un récap des meilleurs offres.

Les fonds d'écran
De jolies photos pour personnaliser votre bureau. Une fois par semaine.

Les nouveaux Bons Plans
Des notifications pour ne pas rater les bons plans publiés sur le site.

Les bons plans du moment PC Astuces

Tous les Bons Plans
259,57 €Ecran LG 27 pouces 27UD59-W (4K, IPS, FreeSync) à 259,57 € livré
Valable jusqu'au 20 Janvier

Amazon Espagne propose actuellement l'écran 27 pouces LG 27UL500-W à 246,95 €. Comptez 12,62 € pour la livraison en France soit un total de 259,57 € livré alors qu'on le trouve ailleurs à partir de 280 € ailleurs. Cet écran offre une résolution 4K de 3840 x 2160 pixels avec une dalle IPS compatible FreeSync. Il possède 2 ports HDMI 2.0 et un port DP 1.2. Il est compatible HDR10.


> Voir l'offre
99,99 €SSD Crucial P2 1 To (3D NAND, NVMe, PCIe, M.2, 2400 Mo/s) à 99,99 €
Valable jusqu'au 21 Janvier

Amazon fait une promotion sur le SSD Crucial P2 1 To (3D NAND, NVMe, PCIe, M.2) qui passe à 99,99 € livré gratuitement. On le trouve ailleurs à partir de 125 €. Ce SSD offre des vitesses de lecture/écriture séquentielle allant jusqu’à 2 400/ 1 900 Mo/s. Il est garanti 5 ans.


> Voir l'offre
83,76 €Webcam Logitech HD Pro C925e à 83,76 €
Valable jusqu'au 20 Janvier

Amazon propose actuellement la webcam Logitech HD Pro C925e à 83,76 € alors qu'on la trouve ailleurs à partir de 100 €. La livraison est gratuite. La webcam C925e offre une vidéo HD 1080p/30 images/seconde et une mise au point automatique HD pour une qualité exceptionnelle dans un champ de vision fixe à 78°, idéal pour les vidéos individuelles.

Elle est dotée de deux micros omnidirectionnels intégrés, optimisés pour capturer clairement l'audio dans une portée d'un mètre maximum, afin que les conversations soient toujours claires et naturelles.

Enfin, la C925e prend en charge l'encodage H.264 avec codage vidéo scalable (SVC) et UVC 1.1 afin de réduire les besoins en ressources ordinateur et réseau, tout en produisant un flux vidéo fluide constant même lorsque la bande passante est limitée.


> Voir l'offre

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