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

VBA Word Discussion :

Définir un lien hypertexte comme chemin pour enregistrer sous [WD-2007]


Sujet :

VBA Word

  1. #1
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Janvier 2014
    Messages
    37
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Janvier 2014
    Messages : 37
    Points : 18
    Points
    18
    Par défaut Définir un lien hypertexte comme chemin pour enregistrer sous
    bonjour,

    je sais comment définir un chemin et donner un nom à un fichier pour enregistrer sous en macro.

    J'utilise le code suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    WordApp.ChangeFileOpenDirectory "e:\"
    WordApp.ActiveDocument.SaveAs Filename:=Workbooks("fichier l20").Sheets("datas autre défaut").Range("m50").End(xlUp).Text

    Ce que j'aimerais faire c'est remplacer la 1ière ligne par un code permettant de sélectionner un lien hypertexte contenu dans une cellule qui m'indique le chemin à suivre pour enregistrer mon fichier.

    Ceci permettrai de mettre à jour le fichier de destination sans toucher à la macro en cas de changement.

    Je vous remercie d'avance.

  2. #2
    Expert éminent sénior
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Points : 18 674
    Points
    18 674
    Par défaut

    Bonjour, bonjour,

    déjà répondu dans le forum VBA Excel dans lequel tu as répondu que cela fonctionnait ‼

    Il y a tout ce qu'il faut dans l'aide intégrée au VBA :

    voir les propriétés de l'objet Hyperlink comme par exemple Address

    __________________________________________________________________________________________

    Merci de cliquer sur pour chaque message ayant aidé puis sur pour clore cette discussion …

  3. #3
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Janvier 2014
    Messages
    37
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Janvier 2014
    Messages : 37
    Points : 18
    Points
    18
    Par défaut
    bonjour,

    Merci pour ta réponse.

    J'avoue ne pas comprendre malgré l'aide.

    Je ne sais pas comment définir un dossier via lien hypertexte issue d'une cellule Excel pour enregistrer un fichier Word ouvert dans la macro.

    Ou je cherche de façon trop compliqué ou un truc m'a échappé.

    Peux tu m'aiguiller un peu plus stp.

  4. #4
    Expert éminent sénior
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Points : 18 674
    Points
    18 674
    Par défaut

    Peut-être quelque chose du genre {cellule}.Hyperlinks(1).Address

    __________________________________________________________________________________________

    Merci de cliquer sur pour chaque message ayant aidé puis sur pour clore cette discussion …

  5. #5
    Rédacteur/Modérateur

    Avatar de Heureux-oli
    Homme Profil pro
    Contrôleur d'industrie
    Inscrit en
    Février 2006
    Messages
    21 086
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : Belgique

    Informations professionnelles :
    Activité : Contrôleur d'industrie
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 21 086
    Points : 42 925
    Points
    42 925
    Par défaut
    Salut,

    Dans SaveAs, le nom du fichier peut être complet.

    Si tu as les données dans deux cellules, il suffit de concaténer les deux données pour avoir le nom complet.
    Le "ChangeFileOpenDirectory" n'a pas d'intérêt si tu utilises le chemin dans le nom de l'argument SaveAs

  6. #6
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Janvier 2014
    Messages
    37
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Janvier 2014
    Messages : 37
    Points : 18
    Points
    18
    Par défaut
    salut,

    Désolé je reviens tardivement mais beaucoup de boulot.

    Merci pour ta réponse mais ce que je cherche a faire c'est utliser un lien hypertexte contenu dans le fichier pour définir un emplacement d'enregistrement.

    Comme je le disais ceci a pour but de pouvoir modifier l'emplacement d'enregistrement en modifiant le lien hypertexte dans le fichier et ainsi ne pas toucher à la macro.

  7. #7
    Rédacteur/Modérateur

    Avatar de Heureux-oli
    Homme Profil pro
    Contrôleur d'industrie
    Inscrit en
    Février 2006
    Messages
    21 086
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : Belgique

    Informations professionnelles :
    Activité : Contrôleur d'industrie
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 21 086
    Points : 42 925
    Points
    42 925
    Par défaut
    Salut,

    Dans quel fichier ?

    Il me semble qu'il y en a deux, un document et un classeur.

  8. #8
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Janvier 2014
    Messages
    37
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Janvier 2014
    Messages : 37
    Points : 18
    Points
    18
    Par défaut
    bonjour,

    Merci de t'interresser de nouveau à mon cas.

    il s'agit d'un lien hypertexte contenu dans une cellule du classeur

  9. #9
    Rédacteur/Modérateur

    Avatar de Heureux-oli
    Homme Profil pro
    Contrôleur d'industrie
    Inscrit en
    Février 2006
    Messages
    21 086
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : Belgique

    Informations professionnelles :
    Activité : Contrôleur d'industrie
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 21 086
    Points : 42 925
    Points
    42 925
    Par défaut
    Salut,

    La ligne 2 du code que tu nous donne renvoie quoi comme texte ?

  10. #10
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Janvier 2014
    Messages
    37
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Janvier 2014
    Messages : 37
    Points : 18
    Points
    18
    Par défaut
    bonjour,

    c'est sur la ligne 1 que j'aimerais effectuer mon changement.

    au lieu de lui dire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    WordApp.ChangeFileOpenDirectory "e:\"

    j'aimerais remplacer le "e:\" par un lien hypertexte contenu dans une cellule de mon classeur.

  11. #11
    Rédacteur/Modérateur

    Avatar de Heureux-oli
    Homme Profil pro
    Contrôleur d'industrie
    Inscrit en
    Février 2006
    Messages
    21 086
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : Belgique

    Informations professionnelles :
    Activité : Contrôleur d'industrie
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 21 086
    Points : 42 925
    Points
    42 925
    Par défaut
    Salut,

    Dans ton cas, cette ligne ne sert à rien.
    Pourquoi la remplacer ?

    La seconde utilisera le lien de ta cellule comme nom de fichier.

  12. #12
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Janvier 2014
    Messages
    37
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Janvier 2014
    Messages : 37
    Points : 18
    Points
    18
    Par défaut
    bonjour,

    Je penses que je me suis mal exprimé sur le sujet :

    ma première ligne sert à définir le chemin d'enregistrement. J'aimerais que cette ligne soit un lien hypertexte contenu dans une cellule de mon classeur.

    ma deuxième ligne sert à définir le nom d'enregistrement qui lui est défini par une valeur contenu dans une autre feuille de mon classeur. Cette valeur n'est pas un lien hypertexte mais une valeur prise dans un autre fichier.

    Mon problème se situe donc sur la première ligne ou je n'arrive pas à définir un chemin d'enregistrement via un lien hypertexte.

    Désolé si je n'avais pas été clair sur le sujet.

  13. #13
    Rédacteur/Modérateur

    Avatar de Heureux-oli
    Homme Profil pro
    Contrôleur d'industrie
    Inscrit en
    Février 2006
    Messages
    21 086
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : Belgique

    Informations professionnelles :
    Activité : Contrôleur d'industrie
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 21 086
    Points : 42 925
    Points
    42 925
    Par défaut
    Salut,

    Cette ligne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    WordApp.ChangeFileOpenDirectory
    Ne donne pas le chemin d'enregistrement d'un document mais change juste une option de Word qui spécifie un répertoire par défaut.

    Comme je l'ai déjà dit, cette ligne ne sert à rien si on utilise du code. On peut sauver un document sans modifier cette option.

    A nouveau, que contient ta cellule.
    En clair, pas une description.

  14. #14
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Janvier 2014
    Messages
    37
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Janvier 2014
    Messages : 37
    Points : 18
    Points
    18
    Par défaut
    bonjour,

    désolé beaucoup de boulot et les vacances qui approchent

    Voici un bout du code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Dim wordapp As word.Application
    Dim worddoc As word.Document
     
    Set wordapp = New word.Application
    Workbooks("test oee").Sheets("liens").Hyperlinks(1).Follow NewWindow:=True
    wordapp.Visible = True 'word affiche pas pendant l'operation
    Set worddoc = wordapp.ActiveDocument
     
    worddoc.Bookmarks("trs").Range.Text = Sheets("résumé").Range("B25")
     
    wordapp.ChangeFileOpenDirectory "T:\Analyse Oee\ETNA\Quotidien"
    wordapp.ActiveDocument.SaveAs Filename:="Rapport ETNA du " & Format(Date - 1, "dd-mm-yy")



    J'esperes que tu pourra m'aider.

    De plus je ne peux reproduire la manip plusieurs fois, il me met que le serveur distant n'est pas diponible.

    J'ai vu un de tes sujets la dessus mais je ne vois pas ou je devrais mettre un wordapp de plus. Je ne t'ai pas mis tout le code a ce sujet mais bon si tu veux y jeter un oeil fais moi signe.

    Merci encore pour ton aide

  15. #15
    Rédacteur/Modérateur

    Avatar de Heureux-oli
    Homme Profil pro
    Contrôleur d'industrie
    Inscrit en
    Février 2006
    Messages
    21 086
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : Belgique

    Informations professionnelles :
    Activité : Contrôleur d'industrie
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 21 086
    Points : 42 925
    Points
    42 925
    Par défaut
    Salut,

    Pourquoi mettre un wordapp en plus ?

    Je ne sais toujours pas ce que ta cellule est censée contenir.

  16. #16
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Janvier 2014
    Messages
    37
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Janvier 2014
    Messages : 37
    Points : 18
    Points
    18
    Par défaut
    Désolé.
    Décidément je fais mon boulet.

    la cellule contient le lien hypertexte qui se trouva après changefileopendirectory

    Dois je le laisser en hypertexte ou le mettre en texte simple.

    pour ce qui est du wordapp j ai vu dans une discussion que tu as eu que la personne devait juste en ajouter 1 sur 1 de ces lignes de commandes et que son problème de serveur distant etait resolu.

  17. #17
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Janvier 2014
    Messages
    37
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Janvier 2014
    Messages : 37
    Points : 18
    Points
    18
    Par défaut
    Soit T:\Analyse Oee\ETNA\Quotidien

  18. #18
    Rédacteur/Modérateur

    Avatar de Heureux-oli
    Homme Profil pro
    Contrôleur d'industrie
    Inscrit en
    Février 2006
    Messages
    21 086
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : Belgique

    Informations professionnelles :
    Activité : Contrôleur d'industrie
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 21 086
    Points : 42 925
    Points
    42 925
    Par défaut
    Salut,

    Il faut l'utiliser en texte simple.

    Pas besoin de passer par "changefileopendirectory"

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    wordapp.ActiveDocument.SaveAs Filename:= "T:\Analyse Oee\ETNA\Quotidien\" &  "Rapport ETNA du " & Format(Date - 1, "dd-mm-yy")
    Il suffit d'utiliser le résultat de ta cellule à la place de "T:\Analyse Oee\ETNA\Quotidien"

  19. #19
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Janvier 2014
    Messages
    37
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Janvier 2014
    Messages : 37
    Points : 18
    Points
    18
    Par défaut
    bonjour,

    en effet cela fonctionne nickel.

    Je me suis obstiné avec mes liens hypertextes alors que comme tu a pu me le démontrer il n'y a pas besoin.

    En plus j'ai réussi à trouver pour mon problème de "aucun document ouvert" ou "serveur distant introuvable".

    je suis passé de

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Dim wordapp As word.Application
    Dim worddoc As word.Document
     
    Set wordapp = new word.application
    Workbooks("test oee").Sheets("liens").Hyperlinks(1).Follow NewWindow:=False
    wordapp.Visible = True 'word affiche pas pendant l'operation
    Set worddoc = wordapp.ActiveDocument
    à

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Dim wordapp As word.Application
    Dim worddoc As word.Document
     
    Workbooks("test oee").Sheets("liens").Hyperlinks(1).Follow NewWindow:=False
     
    Set wordapp = GetObject(, "word.Application")
    wordapp.Visible = True 'word affiche pas pendant l'operation
    Set worddoc = wordapp.ActiveDocument
    et plus aucun souci.

    je te remercie vraiment beaucoup pour ta patience et tes connaissances.

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

Discussions similaires

  1. Spécifier le chemin pour enregistrer une base de données MySQL
    Par SummerBoy dans le forum Installation
    Réponses: 14
    Dernier message: 17/10/2012, 20h30
  2. Lien Hypertext et chemin de dossier
    Par casavba dans le forum Balisage (X)HTML et validation W3C
    Réponses: 6
    Dernier message: 10/09/2008, 16h05
  3. Chemin pour enregistrer un fichier sur le serveur
    Par Scrountch dans le forum Glassfish et Payara
    Réponses: 3
    Dernier message: 11/03/2008, 12h52
  4. macro pour enregistrer sous
    Par macromega dans le forum Général VBA
    Réponses: 2
    Dernier message: 03/05/2007, 20h17
  5. [PHP-JS] Définir chemin pour enregistrer sous
    Par zia2 dans le forum Langage
    Réponses: 16
    Dernier message: 16/05/2006, 19h31

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