[VBA Excel] mettre une formule =hyperlink en variable
Résolu/Fermé
lml-mike
Messages postés
453
Date d'inscription
vendredi 16 février 2007
Statut
Contributeur
Dernière intervention
18 novembre 2018
-
Modifié par lml-mike le 6/12/2013 à 17:49
lml-mike Messages postés 453 Date d'inscription vendredi 16 février 2007 Statut Contributeur Dernière intervention 18 novembre 2018 - 9 déc. 2013 à 11:01
lml-mike Messages postés 453 Date d'inscription vendredi 16 février 2007 Statut Contributeur Dernière intervention 18 novembre 2018 - 9 déc. 2013 à 11:01
A voir également:
- Activesheet.hyperlinks.add
- Formule excel pour additionner plusieurs cellules - Guide
- Formule excel si et - Guide
- Excel mise en forme conditionnelle formule - Guide
- Formule excel moyenne - Guide
- Formule excel - Guide
4 réponses
lermite222
Messages postés
8724
Date d'inscription
dimanche 8 avril 2007
Statut
Contributeur
Dernière intervention
22 janvier 2020
1 190
Modifié par lermite222 le 7/12/2013 à 08:41
Modifié par lermite222 le 7/12/2013 à 08:41
Bonjour,
un lien Hyperlincks ne peut être attribuer à une variable, c'est un peu comme le format de cellule et gérer par Excel.
Pour faire ce que tu veux tu dois assigner le lien au moment ou tu attribue une valeur aux cellules
A+
EDIT:
Relisant ta question...
Essaye avec
Double guillemets pour un guillemet dans la variable.
Et dans ta deuxième boucle
Pas besoin de passer par un objet Range.
Si tu te cognes à un pot et que ça sonne creux, c'est pas forcément le pot qui est vide. ;-)(Confucius)
Note: Je ne répond pas aux MP pour les questions techniques. Et ma boule de cristal est cassée .
un lien Hyperlincks ne peut être attribuer à une variable, c'est un peu comme le format de cellule et gérer par Excel.
Pour faire ce que tu veux tu dois assigner le lien au moment ou tu attribue une valeur aux cellules
colonne = 4 For indtab = 1 To UBound(indtab) ActiveSheet.Hyperlinks.Add Anchor:=Cells(indtab, colonne), Address:= _ Messcreens(indtab), TextToDisplay:=Messcreens(indtab) Next indtab
A+
EDIT:
Relisant ta question...
Essaye avec
Messcreens(Indtab) = "=HYPERLINK(" & Messcreens(indtab) & ";""Screenshot"") "
Double guillemets pour un guillemet dans la variable.
Et dans ta deuxième boucle
Colonne = 4 For indtab = 1 to ubound(indtab) Cells(indtab, colonne) .FormulaLocal = Messcreens(indtab) next indtab
Pas besoin de passer par un objet Range.
Si tu te cognes à un pot et que ça sonne creux, c'est pas forcément le pot qui est vide. ;-)(Confucius)
Note: Je ne répond pas aux MP pour les questions techniques. Et ma boule de cristal est cassée .
lml-mike
Messages postés
453
Date d'inscription
vendredi 16 février 2007
Statut
Contributeur
Dernière intervention
18 novembre 2018
120
Modifié par lml-mike le 9/12/2013 à 10:04
Modifié par lml-mike le 9/12/2013 à 10:04
Salut lermite !
J'ai essayé ta technique avec le formula local, mais il me renvoie une erreur avec :
Erreur définie par l'application ou par l'objet.
C'est bien dommage, elle me serait fort utile pour ensuite assigner mes screenshots d'une traite !! Tu as une idée d'où ça peut venir ? Les déclarations de variable peut-être ? MesScreens() est en string (ce vieux pervers!)
Merci beaucoup !
EDIT : J'ai trouvé ça :
Messcreens(Indtab) = "=HYPERLINK(" & Messcreens(indtab) & ";""Screenshot"") "
s'écrit en fait :
Messcreens(Indtab) = "=HYPERLINK(""" & Messcreens(indtab) & """;""Screenshot"") "
Le lien doit être entre guillemets dans la formule...ça commence à faire beaucoup de guillemets lol !
Edit2 : J'ai essayé avec ta formule :
ActiveSheet.Hyperlinks.Add Anchor:=Cells(13, 5), Address:= _
mesScreens(indTab), TextToDisplay:=mesScreens(indTab)
Le lien se créé mais lors du clic le message d'erreur "impossible d'ouvrir le fichier spécifié" s'affiche. C'est bizarre, si je copie/colle le contenu de la cellule ça fonctionne, mais si je copie/colle la cellule elle même je garde la même erreur...Erreur de format ?
J'aimerais bien t'afficher mes formules comme toi en format notepad++, comment tu fais ?
Edit 3: En corrigeant MesScreens(indtab) et en ressayant avec le formulalocal ça marche...Merci beaucoup du coup ^_^
Le problème venait donc initialement de
Messcreens(Indtab) = "=HYPERLINK(Messcreens(indtab);"Screenshot")
qui s'écrit donc :
Messcreens(Indtab) = "=HYPERLINK(""" & Messcreens(indtab) & """;""Screenshot"") "
Voilà comment passer 2 jours de recherche pour un problème de guillemets xD
J'ai essayé ta technique avec le formula local, mais il me renvoie une erreur avec :
Erreur définie par l'application ou par l'objet.
C'est bien dommage, elle me serait fort utile pour ensuite assigner mes screenshots d'une traite !! Tu as une idée d'où ça peut venir ? Les déclarations de variable peut-être ? MesScreens() est en string (ce vieux pervers!)
Merci beaucoup !
EDIT : J'ai trouvé ça :
Messcreens(Indtab) = "=HYPERLINK(" & Messcreens(indtab) & ";""Screenshot"") "
s'écrit en fait :
Messcreens(Indtab) = "=HYPERLINK(""" & Messcreens(indtab) & """;""Screenshot"") "
Le lien doit être entre guillemets dans la formule...ça commence à faire beaucoup de guillemets lol !
Edit2 : J'ai essayé avec ta formule :
ActiveSheet.Hyperlinks.Add Anchor:=Cells(13, 5), Address:= _
mesScreens(indTab), TextToDisplay:=mesScreens(indTab)
Le lien se créé mais lors du clic le message d'erreur "impossible d'ouvrir le fichier spécifié" s'affiche. C'est bizarre, si je copie/colle le contenu de la cellule ça fonctionne, mais si je copie/colle la cellule elle même je garde la même erreur...Erreur de format ?
J'aimerais bien t'afficher mes formules comme toi en format notepad++, comment tu fais ?
Edit 3: En corrigeant MesScreens(indtab) et en ressayant avec le formulalocal ça marche...Merci beaucoup du coup ^_^
Le problème venait donc initialement de
Messcreens(Indtab) = "=HYPERLINK(Messcreens(indtab);"Screenshot")
qui s'écrit donc :
Messcreens(Indtab) = "=HYPERLINK(""" & Messcreens(indtab) & """;""Screenshot"") "
Voilà comment passer 2 jours de recherche pour un problème de guillemets xD
lermite222
Messages postés
8724
Date d'inscription
dimanche 8 avril 2007
Statut
Contributeur
Dernière intervention
22 janvier 2020
1 190
Modifié par lermite222 le 9/12/2013 à 10:44
Modifié par lermite222 le 9/12/2013 à 10:44
Oui, pas évident de mettre le bon nombre de guillemets aux bons endroits.
Pour l'emploi de ActiveSheet.Hyperlinks.Add , tu doit mettre la variable AVANT de mettre Hyperlinck. Exemple...
A+
Si tu te cognes à un pot et que ça sonne creux, c'est pas forcément le pot qui est vide. ;-)(Confucius)
Note: Je ne répond pas aux MP pour les questions techniques. Et ma boule de cristal est cassée .
Pour l'emploi de ActiveSheet.Hyperlinks.Add , tu doit mettre la variable AVANT de mettre Hyperlinck. Exemple...
ActiveSheet.Hyperlinks.Add Anchor:=Cells(13, 5), Address:= _ "C:\Chemin\le fichier.xls", TextToDisplay:="A voir dans la cellule"
Pour mettre les formules en "code" tu sélectionne tout le code ou la formule et tu clic sur le bouton "triangle inverser" juste au dessus de l'éditeur, dans le menu tu sélectionne "Basic"
A+
Si tu te cognes à un pot et que ça sonne creux, c'est pas forcément le pot qui est vide. ;-)(Confucius)
Note: Je ne répond pas aux MP pour les questions techniques. Et ma boule de cristal est cassée .
lml-mike
Messages postés
453
Date d'inscription
vendredi 16 février 2007
Statut
Contributeur
Dernière intervention
18 novembre 2018
120
9 déc. 2013 à 11:01
9 déc. 2013 à 11:01
Merci pour le détail ^_^
Il me restera quelques détails sur mon script que je ne maîtrise pas encore. J'espère te recroiser sur le forum dans la semaine !
je te souhaite une excellente journée et une bonne semaine également.
Il me restera quelques détails sur mon script que je ne maîtrise pas encore. J'espère te recroiser sur le forum dans la semaine !
je te souhaite une excellente journée et une bonne semaine également.