IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Ouvrir un fichier word dans le répertoire parent


Sujet :

Macros et VBA Excel

  1. #1
    Membre du Club
    Inscrit en
    Octobre 2007
    Messages
    129
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 129
    Points : 55
    Points
    55
    Par défaut Ouvrir un fichier word dans le répertoire parent
    Bonjour,

    J'ai inséré le code suivant dans ma macro:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    ChDir (ThisWorkbook.Path)
    ChDir ".."
    vDossierSource = CurDir & "\"
     
    Set wordApp = CreateObject("Word.Application")
    wordApp.Visible = True
    Set wordDoc = wordApp.Documents.Add(Template:=vDossierSource & "courrier.dot", NewTemplate:=False, DocumentType:=0)
    Lorsque j'enregistre les fichiers dans mes documents, ça fonctionne, par contre, si je les mets sur un lecteur réseau, ça me dit: Erreur d'éxecution '75' Erreur d'accès Chemin/Fichier.
    Je précise que j'ai bien vérifié que le fichier était bien présent au bon endroit!
    Si, au lieu de mettre le code ci-dessus, je mets le chemin absolu, ça fonctionne...

    Quelqu'un a-t-il une solution à m'apporter?

    Merci beaucoup d'avance

  2. #2
    Expert éminent Avatar de casefayere
    Homme Profil pro
    RETRAITE
    Inscrit en
    Décembre 2006
    Messages
    5 138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : RETRAITE
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 138
    Points : 9 548
    Points
    9 548
    Par défaut
    Bonsoir,

    Je ne sais pas s ça peut t'aider mais j'avais construit une procédure avec mon début comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    racine = Workbooks(ActiveWorkbook.Name).Path
     
    Dir Workbooks(ActiveWorkbook.Name).Path
    ChDir racine 'se place sur le repertoire du programme
     
    If (verif = Dir(racine & "\" & nomdossier & "\", vbDirectory)) = vbEmpty Then 'On teste l'existence du répertoire nomdossier
        repert = racine & "\" & nomdossier
        Else
        MkDir racine & "\" & nomdossier 'on le crée s'il n'existe pas
        repert = racine & "\" & nomdossier
    End If
    bonne soirée

  3. #3
    Membre du Club
    Inscrit en
    Octobre 2007
    Messages
    129
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 129
    Points : 55
    Points
    55
    Par défaut
    Bonjour,

    Merci pour ta réponse. Mon problème est que ce code fonctionne quand le fichier est enregistré sur le disque dur du PC, mais ne fonctionne pas quand il est enregistré sur un lecteur réseau... à moins de mettre le chemin absolu, ce qui ne me convient pas car je souhaite que le fichier soit "déplaçable".

  4. #4
    Membre émérite Avatar de Godzestla
    Homme Profil pro
    Chercheur de bonheur
    Inscrit en
    Août 2007
    Messages
    2 392
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de bonheur
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2007
    Messages : 2 392
    Points : 2 985
    Points
    2 985
    Par défaut
    Bonjour,

    une autre technique :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    Sub parent()
    Dim tablo() As String
    If ThisWorkbook.Name <> ThisWorkbook.FullName Then 'file has already been saved
        racine = ThisWorkbook.Path
        tablo = Split(racine, "\")
        racine = Mid(racine, 1, Len(racine) - (Len(tablo(UBound(tablo))) + 1))
     
        MsgBox racine
    End If
    End Sub

  5. #5
    Membre éprouvé
    Avatar de ouisansdoute
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    931
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 931
    Points : 1 079
    Points
    1 079
    Par défaut
    Bonjour,

    je ne sais pas si ça peut aider mais il existe une commande pour changer de lecteur. Pour aller sur le lecteur H:

  6. #6
    Expert éminent Avatar de casefayere
    Homme Profil pro
    RETRAITE
    Inscrit en
    Décembre 2006
    Messages
    5 138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : RETRAITE
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 138
    Points : 9 548
    Points
    9 548
    Par défaut
    je pense que le problème n'est pas d'identifier le chemin ou on enregistre le fichier, ça serait plutot de l'ouvrir à partir de n'importe quel poste avec une recherche programmée du fichier en incluant de rechercher sur les lecteurs réseaux, mais je dis peut-être des bétises

    Bonne journée à tous

  7. #7
    Membre du Club
    Inscrit en
    Octobre 2007
    Messages
    129
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 129
    Points : 55
    Points
    55
    Par défaut
    Bonjour,

    Merci pour cette réponse. Cette solution fonctionne. Je ne sais pas exactement comment fonctionne un tableau, mais j'ai recopié le code, adapté à mon cas, et visiblement, c'est bon!

    Merci beaucoup, vous restez les kings!

  8. #8
    Membre émérite Avatar de Godzestla
    Homme Profil pro
    Chercheur de bonheur
    Inscrit en
    Août 2007
    Messages
    2 392
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de bonheur
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2007
    Messages : 2 392
    Points : 2 985
    Points
    2 985
    Par défaut
    Re,

    regarde l'aide en ligne pour split et tu comprendras.

    Le principe est de repérer le dernier "\" et d'extraire ce qui est devant.

    Pour ce faire on calcule la longueur de ce qui suit le dernier "\", càd la longueur du dernier élément de Tablo, repérable par tablo(ubound(tablo)) et on prend le string de départ depuis la gauche, moins la longueur de ce qui suit le dernier slash moins 1 pour le dernier slash, et hop, cela fait le répertoire parent.

    cqfd.

    Pense à ci c'est le cas.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [WD-2003] ouvrir un fichier word dans un fichier word
    Par snappi dans le forum Word
    Réponses: 1
    Dernier message: 11/01/2013, 21h42
  2. ouvrir un fichier word dans macro vba
    Par sueabb dans le forum Macros et VBA Excel
    Réponses: 22
    Dernier message: 18/03/2011, 15h22
  3. [AC-2007] Ouvrir un fichier word dans un formulaire
    Par glooping dans le forum IHM
    Réponses: 7
    Dernier message: 27/08/2009, 09h42
  4. Ouvrir un fichier Word dans Access
    Par voyou dans le forum Access
    Réponses: 2
    Dernier message: 25/10/2006, 11h24
  5. [COM] Ouvrir un fichier Word dans PHP
    Par TomZ dans le forum Bibliothèques et frameworks
    Réponses: 4
    Dernier message: 24/03/2006, 13h58

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo