SaveAs word depuis excel sur chemin relatif

Résolu
Moose -  
chossette9 Messages postés 6855 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.

3 réponses

  1. chossette9 Messages postés 6855 Date d'inscription   Statut Contributeur Dernière intervention   1 313
     
    bonjour,
    essayez de remplacer
    Filename:=NomFichier

    par
    Filename:=Chemin & NomFichier


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