VBA excel activer lien hyprtexte
Résolu
Thordek
-
tonio69 -
tonio69 -
Bonjour à toutes et à tous,
J'ai beau chercher et essayer, je ne trouve pas comment activer le lien de la cellule "cells(i,7)" de mon code.
Donc ma procedure cherche dans les 803 cellules, celle qui à le meme nom que la valeur de la listbox. Dès que la case est trouvé, j'aimerai que le lien s'ouvre.
Merci d'avance pour votre aide.
Thordek
J'ai beau chercher et essayer, je ne trouve pas comment activer le lien de la cellule "cells(i,7)" de mon code.
Private Sub CommandButton1_Click()
Dim LigneSelectionnée, n As String
Dim i As Integer
LigneSelectionnée = resultat.ListBox1.Value
For i = 6 To 809
If CStr(Cells(i, 7).Value) = LigneSelectionnée Then
'Worksheets(1).Cells(i, 7).Select
'ActiveCell.Hyperlink.Follow NewWindow:=True
'Worksheets(1).Shapes(1).Hyperlink.Follow NewWindow:=True
n = "G" & CStr(i)
MsgBox n
'Range(n).Hyperlinks(1).Follow
'Range(n).Select
Range(n).Hyperlinks(1).Follow NewWindow:=False, AddHistory:=True
End If
Next i
End Sub
Donc ma procedure cherche dans les 803 cellules, celle qui à le meme nom que la valeur de la listbox. Dès que la case est trouvé, j'aimerai que le lien s'ouvre.
Merci d'avance pour votre aide.
Thordek
8 réponses
-
re:
Très difficile de me prononcer !
Intuitivement, je dirais que c'est le lien lui-même qui est défectueux ?
n.b. Évite les accents dans le code :
Dim LigneSelectionnée
Dim LigneSelectionnee
Cette ligne ne spécifie pas le type de la variable [LigneSelectionnée]
Dim LigneSelectionnée, n As String est l'équivalent de
Dim LigneSelectionnée As Variant, n As String
La variable [i] est de type Integer et devrait selon moi être de type Long
Dim i As Integer
Si tu regarde l'aide, tu trouveras :
Cells(Row,Column).Value
Propriété de Row -> [Type de données Long]
Row, propriété
Voir aussi S'applique à Exemple Détails Cette propriété renvoie le numéro de la première ligne de la première zone de la plage. Type de données Long en lecture seule.
Il en est de même pour la propriété de [Column]
Cdt
Lupin -
re:
Sais-tu comment lancer ta procédure en mode pas à pas ?
Ce serait bien de savoir sur quel ligne il plante !
1.) Enleve la mention Private devant ta Sub
2.) Ajoute un module à ton projet
3.) Créer une sub pour appeller la procédure
Option Explicit Sub TestMacro() Call Feuil1.CommandButton1_Click End Sub '
4.) À partir du menu Excel
// Menu / Outils / Macro / Macro...
Sélectionner [TestMacro]
Cliquer sur le bouton [Pas à pas détaillé]
Utiliser la touche [F8] pour avancer pas à pas de façon détaillé !
Repère la ligne où se situe l'erreur ?
Cdt
Lupin -
re:
Peux-tu identifier à quel ligne l'erreur survient (Mode pas à pas)?
L'erreur 9 indique souvent un dépassement de plage!
Si tu peux localiser la ligne où l'erreur est provoqué
il sera facile de solutionner :-)
Cdt
Lupin -
Bonjour,
Enlever 1 paramètre !
Range(n).Hyperlinks(1).Follow AddHistory:=True
Cdt
Lupin -
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
re:
essai ceci :
au lieu de :
n = "G" & CStr(i)
MsgBox n
met simplement ceci :
n = "G" & i
MsgBox n
Cdt
Lupin-
Bonjour à Toi, Lupin, en cette nouvelle journée.
Le problème ne vient pas de là, de mon point de vue.
Explication :
n = "G" & i
Range(n).Hyperlinks(1).Follow AddHistory:=True
et
Cells(i, 7).Select
Range(ActiveCell.Address).Hyperlinks(1).Follow
me donnent le même résultat, les 4 premiers liens s'activent mais pas plus. J'en conclue que ce n'est pas la faute du "i".
N'y-a-t-il pas un problème sur "Hyperlinks(1)". J'ai regardé s'il n'y avait bien qu'un seul lien par cellule, et c'est le cas.
Cdt,
Thordek
-
-
Bon,
J'ai trouvé une solution (mais toujours pas pourquoi ça ne marche pas).
Je crée le lien dont j'ai besoin, et seulement celui-là. Puis je l'active.
Merci beaucoup Lupin, ça fait plaisir de recevoir de l'aide, et des pistes de reflexions.
Bonne journée à tous le monde.
Thordek -
re:
Il est clair que Excel retient certaines choses, exemple lorsqu'on
nomme les cellules j'ai remarqué que les noms sont conservés
même si on change ceux-ci.
Tu pourra essayer de copier tes hyper-liens sur une nouvelle
feuille, j'ai déjà solutionné plusieurs problème de cette façon.
Bonne continuité
@+
Cdt
Lupin -
bonjour,
j'aurai besoin de faire une macro qui me permette d'ouvrir un lien hypertexte.
je m'explique:
j'ai un dossier avec différentes photos. Dans une cellule de ma feuille j'aimerai rentrer un numéro qui m'ouvre le lien de la photo correspondante au numéro.
merci pour vos réponses ! :)