Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

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 :


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


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
 

Discussions similaires

Réponses
4
Affichages
608
Réponses
3
Affichages
405
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…