SaveAs word depuis excel sur chemin relatif

Résolu/Fermé
Moose - 16 août 2011 à 11:39
chossette9 Messages postés 4239 Date d'inscription lundi 20 avril 2009 Statut Contributeur Dernière intervention 12 septembre 2014 - 16 août 2011 à 17:06
Bonjour,

Je cherche depuis un moment et essayé plusieurs solution mais j'ai toujours un soucis.

J'ai créé un fichier excel qui commande via une macro vba la création d'un fichier word. Cette macro commande aussi l' "enregistrer sous" du fichier word avec un nom défini. Jusqu'ici, ça fonctionne.

Mon problème est que je n'arrive pas à trouver le code qui permet d'enregistrer le fichier word au même endroit que mon fichier excel. A chaque fois, le fichier est enregistré sur le bureau, mes documents ou bien les fichiers temporaires.
Comme il s'agit d'un fichier qui peut-être utilisé depuis plusieurs postes et par différents utilisateurs, je souhaite enregistrer le fichier word généré dans un dossier uniquen avec mon fichier excel.

J'ai ceci:

    Dim NomFichier As String
    Dim Chemin As String
    
    With ThisWorkbook
    Chemin = ThisWorkbook.Path
    End With
    
    With ThisWorkbook.Worksheets("PrepaPrint")
    NomFichier = ThisWorkbook.Worksheets("PrepaPrint").Range("W2").Value
    End With
    
    ChangeFileOpenDirectory _
         Chemin
    DocWord.SaveAs Filename:=NomFichier, FileFormat:= _
        wdFormatXMLDocument, LockComments:=False, Password:="", AddToRecentFiles _
        :=True, WritePassword:="", ReadOnlyRecommended:=False, EmbedTrueTypeFonts _
        :=False, SaveNativePictureFormat:=False, SaveFormsData:=False, _
        SaveAsAOCELetter:=False


Pouvez-vous me dire où je me trompe?
J'ai essayé la commande ChDir à la place de ChangeFileOpenDirectory, mais ça ne fonctionne pas non plus.

Merci d'avance pour votre aide.
A voir également:

3 réponses

chossette9 Messages postés 4239 Date d'inscription lundi 20 avril 2009 Statut Contributeur Dernière intervention 12 septembre 2014 1 306
16 août 2011 à 11:41
bonjour,
essayez de remplacer
Filename:=NomFichier

par
Filename:=Chemin & NomFichier


Cordialement.
0
Bonjour chossette9,

Je l'ai fait, au lieu d'enregistrer le fichier dans les fichiers temporaires, il l'enregistre sur le bureau.

Cordialement
0
Rectification: il ajoute le nom du dossier au nom de fichier, et enregistre le tout sur le bureau.
0
Il semblerait que la commande ChangeFileOpenDirectory soit sans effet. Si je la retire, le fichier est enregistré dans Mes Documents.
En fait, je ne comprends même pas quel critère fait qu'un coup, l'enregistrement est fait sur le bureau, et une autre fois dans Mes Documents.
Ca fait des heures que je suis dessus et je ne trouve pas, c'est frustrant.
0
eriiic Messages postés 24569 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 28 décembre 2023 7 212
Modifié par eriiic le 16/08/2011 à 14:08
Bonjour,

Filename:=Chemin & "\" & NomFichier

eric

PS : et il est inutile de mettre With ThisWorkbook ... end with si tu remet le nom de l'objet ThisWorkbook dans les instructions.
0
Merci Beaucoup Eric
Ca fonctionne. J'aurais encore cherché longtemps le & "/" &.
Prroblème résolu.
Merci encore
0
eriiic Messages postés 24569 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 28 décembre 2023 7 212
16 août 2011 à 17:05
de rien, chossette avait juste oublié cette partie, j'ai complété
eric
0
chossette9 Messages postés 4239 Date d'inscription lundi 20 avril 2009 Statut Contributeur Dernière intervention 12 septembre 2014 1 306
16 août 2011 à 17:06
Merci pour la correction Eric, je ne savais plus si le "/" était compris dans la variable chemin...
0