XL 2021 Ouvrir lien hypertexte dans navigateur par défaut

Fab117

XLDnaute Impliqué
Hello,

Dans la partie "Private Sub UserForm_Initialize()" de mon UserForm , je vais remplir différents champs à partir d'une base constituée dans mon fichier Excel.

Notamment un TextBox contenant un lien URL :

VB:
"txt_URL.Value = Sheets("Tracker Global").Range("N" & LigneAMettreAJour)"


Je souhaiterais également (pendant l'initialisation du UserForm) qu'il ouvre le navigateur par défaut et charge la page correspondant à cet URL = ("Sheets("Tracker Global").Range("N" & LigneAMettreAJour)"



J'ai fait une recherche sur le net et j'ai trouvé l'approche suivante :

Dans mon code "Private Sub UserForm_Initialize()" je rajoute :

Code:
    Dim URL As String
    
    ' Remplir le champ de texte avec l'URL
    URL = Sheets("Tracker Global").Range("N" & LigneAMettreAJour).Value
    
    ' Ouvrir le navigateur par défaut et charger la page Web
    ShellExecute 0, "open", URL, vbNullString, vbNullString, vbNormalFocus

Et dans un autre module, je mets :
Code:
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

Malheureusement, concernant la fonction, ça ne fonctionne pas :
Excel 01.png


NB : Dans Outils/Références, j'ai bien vérifié que "Microsoft Shell Controls and Automation" était activé
Excel 02.png


Quelqu'un saurait-il comment résoudre ce problème ?

Merci d'avance et bonne semaine.

Fab
 

job75

XLDnaute Barbatruc
Bonjour,

Si votre Excel est en 64 bits ajoutez PtrSafe :
VB:
Declare PtrSafe Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" ( _
    ByVal hwnd As LongPtr, ByVal lpOperation As String, ByVal lpFile As String, _
    ByVal lpParameters As String, ByVal lpDirectory As String, _
    ByVal nShowCmd As Long) As LongPtr
A+
 

patricktoulon

XLDnaute Barbatruc
re
Bonjour
et pourquoi aller chercher les api ????
ceci t'ouvrira ta page web sur ton navigateur par defaut
VB:
Dim URL As String
 
    ' Remplir le champ de texte avec l'URL
    URL = Sheets("Tracker Global").Range("N" & LigneAMettreAJour).Value
 
   ActiveWorkbook.FollowHyperlink URL
 

Statistiques des forums

Discussions
313 224
Messages
2 096 338
Membres
106 572
dernier inscrit
JM04082023!