SaveAs word depuis excel sur chemin relatif

Résolu
Moose -  
chossette9 Messages postés 4239 Date d'inscription   Statut Contributeur Dernière intervention   -
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   Statut Contributeur Dernière intervention   1 311
 
bonjour,
essayez de remplacer
Filename:=NomFichier

par
Filename:=Chemin & NomFichier


Cordialement.
0
Moose
 
Bonjour chossette9,

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

Cordialement
0
Moose
 
Rectification: il ajoute le nom du dossier au nom de fichier, et enregistre le tout sur le bureau.
0
Moose
 
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 24603 Date d'inscription   Statut Contributeur Dernière intervention   7 275
 
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
Moose
 
Merci Beaucoup Eric
Ca fonctionne. J'aurais encore cherché longtemps le & "/" &.
Prroblème résolu.
Merci encore
0
eriiic Messages postés 24603 Date d'inscription   Statut Contributeur Dernière intervention   7 275
 
de rien, chossette avait juste oublié cette partie, j'ai complété
eric
0
chossette9 Messages postés 4239 Date d'inscription   Statut Contributeur Dernière intervention   1 311
 
Merci pour la correction Eric, je ne savais plus si le "/" était compris dans la variable chemin...
0