Partager via

Mac Excel 2016 : Lien_HYPERTEXTE vers un fichier JPG local ne marche pas

Anonyme
2017-02-22T20:39:03+00:00

Comme je n'arrive pas à afficher dans Aperçu l'image d'un jpg local avec la fonction LIEN_HYPERTEXTE, est-il possible de faire appel à un programme écrit en VBA ou mieux Applescript ?

Microsoft 365 et Office | Excel | Pour la maison | Windows

Question verrouillée. Cette question a été migrée à partir de la Communauté Support Microsoft. Vous pouvez voter pour indiquer si elle est utile, mais vous ne pouvez pas ajouter de commentaires ou de réponses ni suivre la question.

0 commentaires Aucun commentaire

Réponse acceptée par l’auteur de la question

Anonyme
2017-02-23T07:14:50+00:00

Manifestement, il y a bataille avec le fonctionnement en "bac à sable" de Mac OS X (ou la façon dont Office 2016 gère ce fonctionnement). Dès qu'il est question d'un volume différent du volume de démarrage, il semble impossible de faire exécuter à Excel une commande lançant Aperçu. En tout cas, si on n'a pas de problème pour faire ouvrir un classeur Excel depuis un volume secondaire, il est systématiquement refusé d'ouvrir quoi que ce soit avec une autre application (y compris Word ou PowerPoint). Aussi bien en "simple" VBA qu'en AppleScript (en combinaison avec VBA, bien sûr). Illustration :

L'instruction VBA suivante fonctionne pour ouvrir un classeur (dont le chemin serait en A2) :

MacScript ("tell application ""Microsoft Excel""" & vbCr & "open """ & Range("A2").Value & """" & vbCr & "end tell")

Mais ça ne fonctionne pas si on tente d'ouvrir l'image avec Aperçu (pourtant ça marche dans Éditeur de scripts) :

MacScript ("tell application ""Preview""" & vbCr & "open """ & Range("A1").Value & """" & vbCr & "end tell")

Mais ça ne fonctionne pas non plus avec LibreOffice (classeur ou image) :

MacScript ("tell application ""LibreOffice""" & vbCr & "open """ & Range("A2").Value & """" & vbCr & "end tell")

Par contre, Excel peut "ouvrir" une image (c'est évidemment inutilisable) :

MacScript ("tell application ""Microsoft Excel""" & vbCr & "open """ & Range("A1").Value & """" & vbCr & "end tell")

Dans Excel 2011 (qui n'a pas de gestion du fonctionnement en "bac à sable") ces commandes fonctionnent toutes, y compris bien sûr LIEN_HYPERTEXTE(). En résumé, je crois qu'on peut dir que dans Excel 2016 il est impossible de faire ouvrir un fichier distant par une application tierce, que ce soit par lien direct ou par macro. J'ai bien essayé de ruser en faisant lancer un AppleScript par une macro, mais ça n'accepte pas non plus... Reste à copier tes images sur le disque de démarrage. 👿

Je crains bien qu'on ne puisse pas y faire grand chose dans l'immédiat. Tu peux toujours faire part de ton observation aux équipes produit via le bouton "smiley triste" à droite de la barre d'outils ou/et sur le site dédié UserVoice.

Cette réponse a-t-elle été utile ?

0 commentaires Aucun commentaire

4 réponses supplémentaires

  1. Anonyme
    2017-02-23T23:16:48+00:00

    Oui, MacScript est une instruction VBA. Oui, pour lancer du code AppleScript, voire des commandes Shell Script (celles du Terminal) dans Excel, il faut passer par du code VBA.

    Pour ces questions, il est très intéressant de regarder **les pages qu'y consacre Ron de Bruin**.

    Cette réponse a-t-elle été utile ?

    0 commentaires Aucun commentaire
  2. Anonyme
    2017-02-23T15:24:31+00:00

    Ne connaissant pas bien VBA, je suppose que MacScript est une fonction VBA ? Derrière c'est du code que je reconnais mieux mais avec un encodage syntaxique un peu laborieux !

    La version Excel Mac doit obligatoirement passer par VBA pour lancer un script Apple ?

    Merci de toutes vos explications

    Cette réponse a-t-elle été utile ?

    0 commentaires Aucun commentaire
  3. Anonyme
    2017-02-22T23:27:53+00:00

    J'utilise la version Excel 15.31 dans un abonnement Office 365.

    le système est MacOS Sierra 10.12.3.

    Je crois que ce sont les dernières versions.

    je cree le lien en utilisant directement la fonction =LIEN_HYPERTEXTE(A1;"Photo")

    La cellule A1 contient la chaine de caractère spécifiant le fichier obtenue par concaténation avec des valeurs de différentes autres cellules. C'est peut-être là que se situe ma première interrogation. Quel format doit avoir le chemin ? Dans mon cas j'ai mis un format POSIX classique "file:///Volume/HD_TEST/Photos/Picture-1.jpg". J'ai essayé plein d'autres variantes sans succès jusqu'ici (Alerte : Impossible d'ouvrir le fichier spécifié).

    Avec "http:// ....../photo.jpg" cela marche mais la photo n'est pas prise en local.

    C'est la raison pour laquelle je souhaiterais lancer directement un script Applescript. Est-ce possible ?

    Cette réponse a-t-elle été utile ?

    0 commentaires Aucun commentaire
  4. Anonyme
    2017-02-22T22:59:18+00:00

    Quelques précisions sur le contexte sont nécessaires pour comprendre le cas. Personnellement, je ne rencontre pas de souci pour que la fonction LIEN_HYPERTEXTE() donne le résultat attendu (pas plus qu'avec un lien inséré par le menu "Insérer", un clic droit ou la combinaison Commande K).

    Quel niveau de mise à jour d'Office 2016 ? Sur quelle version de Mac OS X ? Comment procèdes-tu exactement pour utiliser cette fonction ? Qu'observes-tu ?

    Cette réponse a-t-elle été utile ?

    0 commentaires Aucun commentaire