VBA - SaveAs erreur 1004

Bonjour,

Code effectué sous excel 2003

Aujourd'hui mon code ne s’exécute plus sous Windows 8 avec excel2007

Help svp...

Merci

Le code :

Sub Enregistrer_sous()

Dim chemin As String

chemin = "D:\Donnees\Documents" 'copier coller le chemin ici

ThisWorkbook.SaveAs (chemin & "\" & Range("réf") & "-" & Format(Now(), "dd-mm-yyyy") & ".xls")

MsgBox ("le fichier est enregistré")

Bonjour,

A voir

- 1) Le chemin est-il toujours le même

chemin = "D:\Donnees\Documents"

- 2)l'extension du classeur serait surement .xlsm

ThisWorkbook.SaveAs (chemin & "\" & Range("réf") & "-" & Format(Now(), "dd-mm-yyyy") & ".xls")

Bonjour, oui le chemin est le même

et j'ai changé en xlsm rien à faire, impossible de déboger

Bonjour,

Erreur 1004, c'est Excel qui renâcle... Vu les éléments en cause, cela ne peut venir que du chemin et du nom de fichier.

Si le chemin existe, si les noms des dossiers sont les bons, il reste le contenu de la plage "réf" à vérifier...

Cordialement.

Bonjour,

Celà marchait très bien sous Excel 2003

Maintenant avec le 2007 ça me met erreur

La plage ref est bien désignée

CDT

Re,

Joint le classeur sans données confidentielles mais avec le nécessaire pour le faire fonctionner

Mon ancienne expérience d'auditeur, m'incite toujours à penser qu'il convient de vérifier, éventuellement plusieurs fois, ce qu'on estime le moins sujet à erreur...

Au cas particulier, j'aurais commencé par tester le chemin et nom tapé en valeurs directement pour assurer que le chemin, les noms de dossiers, le nom du fichier n'étaient pas en cause;

Puis testé le renvoi de chaque variable, avant de les réintroduire une à une pour voir laquelle était susceptible de déclencher l'erreur...

Cordialement.

voici le fichier

cdt

46fichier.zip (17.06 Ko)

Re,

Testé chez moi, aucun soucis

Chez moi aussi sur certains postes ca marche, sur d'autres non ...

les mystères de l'informatique

Ta procédure est sensiblement différente de celle qui figure dans ton post !

As-tu tenu compte de cette particularité sur laquelle l'aide t'alerte :

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"

Le cas échéant, il faut donc faire précéder l'instruction ChDir par une instruction : ChDrive "D"

Cordialement.

bonjour,

ceci devrait donc fonctionner :

dim chemin as string

chemin = "xxxxxxx" 'copier coller le chemin ici

ThisWorkbook.SaveAs (chemin & "\" & Range("réf") & "-" & Format(Now(), "dd-mm-yyyy") & "-" & Range("E10") & ".xls")

MsgBox ("le fichier est enregistré")

et cela aussi :

Dim nom As String

ChDrive "xxxxxxxxxxx" 'copier coller le chemin ici

nom = Range("réf") & "-" & Day(Date) & "-" & Month(Date) & "-" & Year(Date) & "-" & Range("E10") & ".xls"

ThisWorkbook.SaveAs (nom)

Le dossier se trouve sur un réseau partagé

Rechercher des sujets similaires à "vba saveas erreur 1004"