Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

VBA: appel de pages hypertexte

2 réponses
Avatar
Papy Jean
Bonjour.

Dans une macro VBA, j'affiche la page P4102.htm en utilisant
Range("C5").Select
ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:="P4102.htm", _
TextToDisplay:="aaa"
Selection.Hyperlinks(1).Follow NewWindow:=False, AddHistory:=True

ça marche.
Mais, en faisant cela, j'utilise la cellule C5.

Serait possible de ne pas utiliser de cellule de la feuille active ?
Peut être en employant
Dim XXX as ??
Set XXX = ??

Connaissant mal VBA, je vois pas quoi mettre dans les ??
Peut être, aussi, la solution est-elle autre ?

Merci d'avance.
Papy Jean

2 réponses

Avatar
Papy Jean
RE-bonjour !

ça m'ennnuie bien
Car le lien hypertexte est fonction de la cellule active (le lien renvoie à
une documentation)
Autrement dit, avant d'appeler la page choisie, je suis obligé de modifier
la feuille pour y mettre le lien;
et Excel demandera si je veux enregistrer le classeur avant de le fermer.

Peut-être ai-je choisi une mauvaise méthode ?


"JB" a écrit dans le message de news:

A ma connaissance, un lien est tj dans une cellule

JB



Avatar
Ange Ounis
Tu devrais pouvoir t'en sortir en utilisant ShellExecute :

''''''''''''''''''''(dans un module ordinaire)
Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" _
(ByVal hwnd As Long, ByVal lpOperation As String, _
ByVal lpFile As String, ByVal lpParameters As String, _
ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long

Sub essai()
ShellExecute 0, "Open", "http://www.excelabo.net/", "", "", 1
End Sub
''''''''''''''''''''

----------
Ange Ounis
----------

Bonjour.

Dans une macro VBA, j'affiche la page P4102.htm en utilisant
Range("C5").Select
ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:="P4102.htm", _
TextToDisplay:="aaa"
Selection.Hyperlinks(1).Follow NewWindow:úlse, AddHistory:=True

ça marche.
Mais, en faisant cela, j'utilise la cellule C5.

Serait possible de ne pas utiliser de cellule de la feuille active ?
Peut être en employant
Dim XXX as ??
Set XXX = ??

Connaissant mal VBA, je vois pas quoi mettre dans les ??
Peut être, aussi, la solution est-elle autre ?

Merci d'avance.
Papy Jean