Lien hypertexte qui ouvre la visionneuse photo windows et affiche la première photo

degap05

XLDnaute Impliqué
Bonjour,

Je sais créer un lien hypertexte qui ouvre un dossier contenant des photos, toujours numérotées de 1 à ...

Pensez-vous qu'il soit possible, par ce lien hypertexte, d'ouvrir automatiquement la photo numéro 1 du dossier ?

Merci de votre aide.
A+
 

job75

XLDnaute Barbatruc
Re : Lien hypertexte qui ouvre la visionneuse photo windows et affiche la première ph

Bonjour degap05,

Si le lien pointe sur le dossier et que la 1ère photo se nomme 1.jpg :

Code:
Private Sub Worksheet_FollowHyperlink(ByVal Target As Hyperlink)
SendKeys "o" 'y sur version anglaise, pour éviter le message
ThisWorkbook.FollowHyperlink Target.Address & "\1.jpg"
End Sub
testé OK sur Excel 2003. Peut-être sur Excel 2007/2010 :

Code:
Private Sub Worksheet_FollowHyperlink(ByVal Target As Hyperlink)
ThisWorkbook.FollowHyperlink Target.Address & "\1.jpg"
SendKeys "o" 'y sur version anglaise, pour éviter le message
End Sub
A+
 

job75

XLDnaute Barbatruc
Re : Lien hypertexte qui ouvre la visionneuse photo windows et affiche la première ph

Re,

S'il y a d'autres liens hypertexte dans la feuille, utiliser la propriété Parent pour distinguer la (les) cellule(s) concernée(s) :

Code:
Private Sub Worksheet_FollowHyperlink(ByVal Target As Hyperlink)
If Target.Parent.Address = "$A$1" Then 'If Target.Parent.Column = 1, à adapter
  SendKeys "o" 'y sur version anglaise, pour éviter le message
  ThisWorkbook.FollowHyperlink Target.Address & "\1.jpg"
End If
End Sub
A+
 

job75

XLDnaute Barbatruc
Re : Lien hypertexte qui ouvre la visionneuse photo windows et affiche la première ph

Bonjour degap05, le forum,

Sur mon ordi avec Excel 2003 ceci fonctionne bien aussi :

Code:
Private Sub Worksheet_FollowHyperlink(ByVal Target As Hyperlink)
'If Target.Parent.Column = 1 Then _'à adapter
If Target.Parent.Address = "$A$1" Then _
  Application.OnTime Now, Me.CodeName & ".Touches"
End Sub

Private Sub Touches()
SendKeys "^a{HOME}~" 'ouvre la 1ère photo
End Sub
Les 2 macros sont dans le code de la feuille.

Nota 1 : pour classer alphanumériquement jusqu'à 999 photos il faut les numéroter 001 002 003...

Nota 2 : sous certaines versions peut-être faut-il une temporisation :

Code:
Application.OnTime Now + 1 / 86400, Me.CodeName & ".Touches" '+ 1 seconde
A+
 

job75

XLDnaute Barbatruc
Re : Lien hypertexte qui ouvre la visionneuse photo windows et affiche la première ph

Re,

Je viens de tester sur mon portable avec Excel 2010 :

- les solutions des posts #2 et #3 ne fonctionnent pas

- la solution du post #4 fonctionne avec une temporisation de 1 seconde.

A+
 

degap05

XLDnaute Impliqué
Re : Lien hypertexte qui ouvre la visionneuse photo windows et affiche la première ph

Bonjour job75,

Je te remercie de tes différents essais.
Je n'ai pas accès à la base de registre.
Ce qui fonctionne chez moi:

Private Sub Worksheet_FollowHyperlink(ByVal Target As Hyperlink)
ThisWorkbook.FollowHyperlink Target.Address & "\1.jpg"
End Sub

Sans message d'erreur, mais.......ce n'est pas la visionneuse qui s'ouvre, mais la photo dans Internet Explorer.
Ce qui serait bon, si ce n'est que cette application ne permet d'aller à la photo suivante, comme la visionneuse et ses flèches de navigation.
D'autre part, je n'avais pas été assez précis en ce qui concerne le nom de la première photo du dossier:
exemple: toto(.1), la seconde: toto(.2), etc, la dixième: toto(10). "Toto" étant la partie variable d'un dossier à l'autre, le système de numérotation ne change pas.

Merci
A+
 
Dernière édition:

job75

XLDnaute Barbatruc
Re : Lien hypertexte qui ouvre la visionneuse photo windows et affiche la première ph

Re,

Sur mon ordi fixe avec Windows XP je n'ai pas la visionneuse.

Mais je l'ai sur mon portable avec Windows 7.

Alors ceci fonctionne :

Code:
Private Sub Worksheet_FollowHyperlink(ByVal Target As Hyperlink)
'temporisation d'une seconde
Application.OnTime Now + 1 / 86400, Me.CodeName & ".Touches"
End Sub

Private Sub Touches()
SendKeys "^a%fa~" 'ouvre la 1ère photo
End Sub
Suivant la version il faut sans doute adapter la combinaison de touches :

^a sélectionne toutes les photos

%f ouvre le menu "Fichier"

a raccourci pour la commande "Aperçu"

~ touche Entrée pour exécution de la commande "Aperçu" sélectionnée.

A+
 
Dernière édition:

degap05

XLDnaute Impliqué
Re : Lien hypertexte qui ouvre la visionneuse photo windows et affiche la première ph

Job75,
Cette dernière mouture génère un message d'erreur: permission refusée.
Plusieurs de tes versions ont une action inattendue, elles éteignent le verrouillage du pavé numérique...

A+
 
Dernière édition:

degap05

XLDnaute Impliqué
Re : Lien hypertexte qui ouvre la visionneuse photo windows et affiche la première ph

Job75,
Merci pour tes messages.
Pour forcer l'ouverture d'une visionneuse, j'ai repris une macro de JCGL, qui fonctionne.
La ou je ne sais plus faire, c'est indiquer le chemin pour ouvrir la photo: Toto (.1).jpg, ou plutôt la photo n°1 d'un dossier qui sera toujours nommée: ......... (.1).jpg
 

Pièces jointes

  • Ouvrir visionneuse - Copie.xls
    19 KB · Affichages: 140

job75

XLDnaute Barbatruc
Re : Lien hypertexte qui ouvre la visionneuse photo windows et affiche la première ph

Re,

En fait j'ai bien la visionneuse sur Windows XP (mais je ne m'en sers jamais).

J'ai simplifié la combinaison de touches, elle fonctionne chez moi sur les 2 versions :

Code:
Private Sub Worksheet_FollowHyperlink(ByVal Target As Hyperlink)
'temporisation d'une seconde
Application.OnTime Now + 1 / 86400, Me.CodeName & ".Touches"
End Sub

Private Sub Touches()
SendKeys "^a~" 'ouvre la 1ère photo
End Sub
Le pavé numérique se désactivait aussi chez moi sur Windows 7/Excel 2010.

Pour l'accès refusé, aucune idée.

A+
 

degap05

XLDnaute Impliqué
Re : Lien hypertexte qui ouvre la visionneuse photo windows et affiche la première ph

Job75,
Toujours le même message et la désactivation du pavé numérique ...
Mais un grand merci pour tes différentes tentatives.
Je ne t'ai que trop mobilisé.
A+
 

tototiti2008

XLDnaute Barbatruc
Re : Lien hypertexte qui ouvre la visionneuse photo windows et affiche la première ph

Bonjour degap, bonjour job :)

Sans lien hypertexte, peut-être une idée par là

https://www.excel-downloads.com/threads/lien-hypertext-image.30245/

Sinon j'ai déjà eu la question sans avoir de solution sur le fait que les liens hypertextes dans Excel (peut-être dans tout Office, pas testé) n'utilisent pas forcément l'application associée à l'extension du fichier dans le système.. Et comme job l'a proposé au début, il y a de grandes chances que ce soit associé d'une manière ou d'une autre à la base de registre, mais je n'ai pas trouvé où.
 

Discussions similaires

Statistiques des forums

Discussions
312 495
Messages
2 088 964
Membres
103 992
dernier inscrit
Christine 974