Parametre du WebBrowser Le sujet est résolu

Y compris Power BI, Power Query et toute autre question en lien avec Excel
Avatar du membre
Le_Troll_Du_27
Membre fidèle
Membre fidèle
Messages : 164
Inscrit le : 14 juillet 2015
Version d'Excel : 2019 FR 64 Bits
Contact :

Message par Le_Troll_Du_27 » 26 janvier 2018, 12:08

Bonjour j'ai un fichier Client qui incorpore un WebBrowser
Ce même WebBrowser est paramétré pour afficher un plan par Google Maps.
Au début le fichier fonctionnait mais dans le WebBrowser une notification pour poursuivre.
Maintenant je n'ai plus le plan mais une page tel que l'image ci dessous :

Voici le code :
TextBox20.Text = ("http://maps.google.fr/maps?q=" & TextBox5 & ",+" & ComboBox3 & "+" & ComboBox2 & ", " & ComboBox9)
La suite:
Private Sub Initialise_ListBox1()
    Dim MaSourceGoogle As String
    Sheets("Feuil2").Activate        ' ...........................Sélectionne la feuille
    For T = 1 To 29        ' .....................................Boucle sur les Labels
        Controls("Label" & T) = Range("A1:AC1").Cells(T)        ' Alimente tous les labels
    Next T        ' ..............................................Fin de Boucle
    With ListBox1
        TextBox1 = .List(.ListIndex, 0)        ' .................Numéro de la Ligne
        ComboBox1 = .List(.ListIndex, 1)        ' ................Civilité
        For T = 2 To 6        ' ..................................Nom Prénom
            UserForm2.Controls("TextBox" & T) = .List(.ListIndex, T)
        Next T        ' ..........................................Fin de boucle
        ComboBox2 = .List(.ListIndex, 7)        ' ................Code Postal Domicile
        ComboBox3 = .List(.ListIndex, 8)        ' ................Ville Domicile
        For T = 7 To 19        ' .................................Nom Prénom
            UserForm2.Controls("TextBox" & T) = .List(.ListIndex, T + 2)
        Next T        ' ..........................................Fin de boucle
        ComboBox4 = .List(.ListIndex, 22)         ' ..............Collaborateurs 1
        ComboBox5 = .List(.ListIndex, 23)         ' ..............Collaborateurs 2
        ComboBox6 = .List(.ListIndex, 24)         ' ..............Collaborateurs 3
        ComboBox7 = .List(.ListIndex, 25)         ' ..............Collaborateurs 4
        ComboBox8 = .List(.ListIndex, 26)         ' ..............Collaborateurs 5
        ComboBox9 = .List(.ListIndex, 27)         ' ..............Pays
        TextBox20 = .List(.ListIndex, 28)         ' ..............Lien Google Maps
        TextBox2.SetFocus
    End With
    '*************************************************************
    '*                       Format                              *
    '*************************************************************
    TextBox2.Font.Bold = True
    ComboBox2 = Format(ComboBox2.Value, "0# ###")
    TextBox11 = Format(TextBox11.Value, "(0#) ## ## ## ##")
    TextBox16 = Format(TextBox16.Value, "dd mmmm yyyy")
    ' URL de l'image sur internet
    MaSourceGoogle = TextBox20.Value
    WebBrowser1.Navigate MaSourceGoogle
End Sub
J'espère que j'ai été explicite sinon je joindrai le fichier si besoin
En vous remerciant
Cordialement
Qui donne ne doit jamais s'en souvenir, qui reçoit ne doit jamais l'oublier


Date and Time Picker and MonthView - Windows 64/32:
http://forum.excel-pratique.com/excel/date-and-time-picker-windows-64-32-t79032-20.html
Avatar du membre
James007
Fanatique d'Excel
Fanatique d'Excel
Messages : 12'007
Appréciations reçues : 415
Inscrit le : 30 août 2014
Version d'Excel : 2007 EN

Message par James007 » 26 janvier 2018, 13:31

Bonjour,

Tu as très bien expliqué le problème que tu rencontres ... ;;)

Cela dit, pour creuser et découvrir ce qui se passe ... tu devrais joindre ton fichier ... ;;)
A+

:)

Quand on n’a qu’un marteau, tous les problèmes deviennent des clous…
Avatar du membre
waard
Contributeur
Contributeur
Messages : 436
Appréciations reçues : 16
Inscrit le : 9 février 2015
Version d'Excel : 2013, 2016, FR
Téléchargements : Mes applications

Message par waard » 26 janvier 2018, 15:43

Hello,

Dans son cas je doute que le fichier serve, le pb est bien plus complexe que ce qui apparaitra dans le fichier et vba.
De plus son pb à au moins 2 natures :

1/ Microsoft a fait des changements dans Office depuis 2013, en gros, Internet Explorer étant remplacé par Edge, (pas vu dans les ref VBA son ctrl par contre...), cela crée des tas de pb de compatibilité, qu'Office ne propose même pas gérer par Edge par défaut. :lole:
> Ctrl Webbrowser ne marche plus, sur les fichiers version >2013 (mon cas), sans à modifier les clefs registre système pour récupérer ce type de ctrl.
> Cela continuait à fonctionner étrangement par le mode compatibilité des anciens fichier pré-2013, mais Microsoft à eu la gentillesse de supprimer ce mode aussi, il y'a quelques mois.

Perso, je n'ai pas changé les clefs registre, donc je ne pourrai pas beaucoup aider, si tu as une DSI, tu devra leur demander avant car c'est leur responsabilité, à prendre en compte qu'il suffit d'une autre MàJ pour devoir tout à recommencer, en risquant d'avoir des bugs systèmes.

Un lien officiel parlant du pb Webbrowser par microsoft pour 2013 ici :
https://support.microsoft.com/en-us/help/2793374/cannot-insert-certain-scriptable-activex-controls-into-office-2013-doc
Concernant l'activation du ctrl webbrowser dans 2016 abordé par un forum :
https://social.msdn.microsoft.com/Forums/en-US/f33240d1-8865-4bff-b1d0-0e7f0b841249/cannot-insert-webbrowser-in-2016-excel-for-use-in-vba?forum=exceldev

2/ Concernant Google Map, webbrowser marche comme dit, avec Internet Explorer, du coup, le truc étant obsolète, remplacé par Edge, Google ne gère plus vraiment de liaisons avec, à cause des pb de sécu du à l’obsolescence, donc ça crée des soucis à ce niveau.

Néanmoins voir la solution de Google, si accès à Internet Exploreur (non pas Edge, pas pareil) ça pourrait résoudre le pb :
https://support.google.com/maps/answer/3118069?hl=fr
Possible aussi de changer des clefs registre vu dans ce lien :
http://forum.idimager.com/viewtopic.php?f=57&t=25681&sid=ff0c803d614d87ee95c7c9267a223cf5&start=15
2e solution trouvé qui semble meilleur, il semble possible de changer le navigateur lié à webbrowser, mais là encore je ne peux beaucoup aider, voir ce lien :
https://www.devhut.net/2013/10/18/webbrowser-activex-control-google-maps-invalid-character-scripting-error/

Si tu arrive à trouvé une solution, indique là sur le forum, ça permettra d'avoir une archive supplémentaire de ce qu'il faudra faire.
:?: Sinon pour info, dans le volet Dev, tu peux récupérer le complément Cartes Bing, jamais utilisé en VBA ou autre, mais ça existe.

:) :wink:
"One and yet a mass"
COHENNY Tristan - Projet MYRMIDON
Avatar du membre
Le_Troll_Du_27
Membre fidèle
Membre fidèle
Messages : 164
Inscrit le : 14 juillet 2015
Version d'Excel : 2019 FR 64 Bits
Contact :

Message par Le_Troll_Du_27 » 26 janvier 2018, 17:37

Merci Waard pour ton explication très argumentée et complète.
Modifié les clés de registre impossible pour moi car le fichier va être partagé. Chaque personne a une version d'office différente et il met impossible de changer les clés de registre de tous.
Je vais voir pour contourner le problème différament.
Je vais lire tout tes liens peut-être j'y trouverai une solution ou une autre vision de mon fichier

James007 je joins le fichier si tu vois une autre solution.
Liste de diffusion.xlsm
(335.86 Kio) Téléchargé 58 fois
En attendant je vais me documenter avec l'explication de Waard.

Cordialement
Qui donne ne doit jamais s'en souvenir, qui reçoit ne doit jamais l'oublier


Date and Time Picker and MonthView - Windows 64/32:
http://forum.excel-pratique.com/excel/date-and-time-picker-windows-64-32-t79032-20.html
Avatar du membre
waard
Contributeur
Contributeur
Messages : 436
Appréciations reçues : 16
Inscrit le : 9 février 2015
Version d'Excel : 2013, 2016, FR
Téléchargements : Mes applications

Message par waard » 28 janvier 2018, 18:51

Hello,

En regardant ton fichier, j'ai réussi à le faire tourner, pourquoi celui-ci et pas mes anciens ? :lole:
Si tu remplace https par http, dans tes lignes de codes de l'userform 2, google map remarche. :wink:
Capture-1.jpg
"One and yet a mass"
COHENNY Tristan - Projet MYRMIDON
Avatar du membre
Le_Troll_Du_27
Membre fidèle
Membre fidèle
Messages : 164
Inscrit le : 14 juillet 2015
Version d'Excel : 2019 FR 64 Bits
Contact :

Message par Le_Troll_Du_27 » 29 janvier 2018, 00:29

Cela va fonctionnait qu'un temps ensuite tu auras le même soucis
J'ai contourné le problème en ouvrant automatiquement une fenêtre sur IE.
Private Sub Initialise_ListBox1()
    Dim MaSourceGoogle As String
    Sheets("Feuil2").Activate        ' ...........................Sélectionne la feuille
    For T = 1 To 29        ' .....................................Boucle sur les Labels
        Controls("Label" & T) = Range("A1:AC1").Cells(T)        ' Alimente tous les labels
    Next T        ' ..............................................Fin de Boucle
    With ListBox1
        TextBox1 = .List(.ListIndex, 0)        ' .................Numéro de la Ligne
        ComboBox1 = .List(.ListIndex, 1)        ' ................Civilité
        For T = 2 To 6        ' ..................................Nom Prénom
            UserForm2.Controls("TextBox" & T) = .List(.ListIndex, T)
        Next T        ' ..........................................Fin de boucle
        ComboBox2 = .List(.ListIndex, 7)        ' ................Code Postal Domicile
        ComboBox3 = .List(.ListIndex, 8)        ' ................Ville Domicile
        For T = 7 To 19        ' .................................Nom Prénom
            UserForm2.Controls("TextBox" & T) = .List(.ListIndex, T + 2)
        Next T        ' ..........................................Fin de boucle
        ComboBox4 = .List(.ListIndex, 22)         ' ..............Collaborateurs 1
        ComboBox5 = .List(.ListIndex, 23)         ' ..............Collaborateurs 2
        ComboBox6 = .List(.ListIndex, 24)         ' ..............Collaborateurs 3
        ComboBox7 = .List(.ListIndex, 25)         ' ..............Collaborateurs 4
        ComboBox8 = .List(.ListIndex, 26)         ' ..............Collaborateurs 5
        ComboBox9 = .List(.ListIndex, 27)         ' ..............Pays
        TextBox20 = .List(.ListIndex, 28)         ' ..............Lien Google Maps
        TextBox2.SetFocus
    End With
    '*************************************************************
    '*                       Format                              *
    '*************************************************************
    TextBox2.Font.Bold = True
    ComboBox2 = Format(ComboBox2.Value, "0# ###")
    TextBox11 = Format(TextBox11.Value, "(0#) ## ## ## ##")
    TextBox16 = Format(TextBox16.Value, "dd mmmm yyyy")
    ' URL de l'image sur internet
    MaSourceGoogle = TextBox20.Value
    Navigateur
    If ComboBox2.Value > 1 Then
        WebBrowser1.Navigate MaSourceGoogle
    Else
        WebBrowser1.Navigate "about:blank"
    End If
End Sub
Sub Navigateur()
Dim Browser As SHDocVw.InternetExplorer 'Microsoft Internet Controls
Dim URL As String
Dim MaSourceGoogle As String
MaSourceGoogle = TextBox20.Value
  URL = MaSourceGoogle
  Set Browser = New InternetExplorer
    Browser.Silent = True
    Browser.Navigate URL
    Browser.Visible = True
  Do
    Loop Until Browser.ReadyState = READYSTATE_COMPLETE
End Sub
En attendant de trouver mieux.
J'ai lu tous tes liens et en effets le plus simple et de modifier le registre. Mais je reste convaincu que l'on peut contourner le problème.
Je ne clos pas tant que je n'ai pas trouvé ;;)
Cordialement
Qui donne ne doit jamais s'en souvenir, qui reçoit ne doit jamais l'oublier


Date and Time Picker and MonthView - Windows 64/32:
http://forum.excel-pratique.com/excel/date-and-time-picker-windows-64-32-t79032-20.html
Avatar du membre
Le_Troll_Du_27
Membre fidèle
Membre fidèle
Messages : 164
Inscrit le : 14 juillet 2015
Version d'Excel : 2019 FR 64 Bits
Contact :

Message par Le_Troll_Du_27 » 30 janvier 2018, 03:49

Version plus simplifié :
dans les Userforms 2, 3 , 4 et 5 à remplacer par :
 ' URL de l'image sur internet
    MaSourceGoogle = TextBox20.Value
    ' à partir d'ici on efface tout pour y mettre celà
    ShellExecute 0, vbNullString, MaSourceGoogle, vbNullString, vbNullString, 0
    
    If Not ComboBox2.Value = "" Then
        WebBrowser1.Navigate MaSourceGoogle
    Else
        WebBrowser1.Navigate "https://www.google.fr/?gws_rd=ssl#spf=1"
    End If
End Sub
et dans un module M_Affichage
Public 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
J'ai beau parcourir tous les sites parlant de cette erreur de non pris en charge par office 2016 je n'ai toujours rien trouver.
Je n'ai pas assez de recul sur le sujet pour y trouver une solution à ce problème
Qui donne ne doit jamais s'en souvenir, qui reçoit ne doit jamais l'oublier


Date and Time Picker and MonthView - Windows 64/32:
http://forum.excel-pratique.com/excel/date-and-time-picker-windows-64-32-t79032-20.html
Avatar du membre
Le_Troll_Du_27
Membre fidèle
Membre fidèle
Messages : 164
Inscrit le : 14 juillet 2015
Version d'Excel : 2019 FR 64 Bits
Contact :

Message par Le_Troll_Du_27 » 30 janvier 2018, 04:28

Peut être une solution en modifiant la clé de registre dès le départ dans l'ouverture du fichier :
A remplacer par :
Private Sub Workbook_Open()
    Call SetSettings("HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_BROWSER_EMULATION\Excel.exe", 11001, "REG_DWORD", False)
    MsgBox ("Bonne journée !" & Chr(10) & "Nous sommes le " & Format(Date, "dddd d mmmm yyyy"))
    Application.Speech.Speak [A4]
    TesteSiDossierExiste
    With Application
        .DisplayFullScreen = True     ' ...........................................................Masquer la barre d'état
        .DisplayStatusBar = True    ' .............................................................Masquer barre de formule
        .DisplayFormulaBar = True    ' ............................................................Masquer les onglets
        .WindowState = xlNormal    ' ..............................................................État de la fenêtre
    End With
    With ActiveWindow
        .DisplayWorkbookTabs = False    ' .........................................................Masquer les onglets
        .DisplayHeadings = False     ' ............................................................Masquer N°ligne et Colonne"
    End With
    Start
End Sub
et dans le module Démarrage
inserer :
Public Sub SetSettings(Optional strPfad As String, Optional strInhalt As String, _
    Optional strTyp As String, Optional bolDeleteKey As Boolean = False)
    Dim wshshell As Object
    Set wshshell = CreateObject("WScript.Shell")
    If bolDeleteKey Then
        wshshell.RegDelete strPfad
    Else
        wshshell.RegWrite strPfad, strInhalt, strTyp
    End If
    Set wshshell = Nothing
End Sub
et dans le userform ;
' URL de l'image sur internet
    MaSourceGoogle = TextBox20.Value
    ' Nous n'avons plus besoin de ceci
    ' ShellExecute 0, vbNullString, MaSourceGoogle, vbNullString, vbNullString, 0 
    
    If Not ComboBox2.Value = "" Then
        WebBrowser1.Navigate MaSourceGoogle
    Else
        WebBrowser1.Navigate "https://www.google.fr/?gws_rd=ssl#spf=1"
    End If
End Sub
Liste de diffusion.xlsm
(355.91 Kio) Téléchargé 36 fois
En attendant de vous lire
Cordialement
Qui donne ne doit jamais s'en souvenir, qui reçoit ne doit jamais l'oublier


Date and Time Picker and MonthView - Windows 64/32:
http://forum.excel-pratique.com/excel/date-and-time-picker-windows-64-32-t79032-20.html
Avatar du membre
Le_Troll_Du_27
Membre fidèle
Membre fidèle
Messages : 164
Inscrit le : 14 juillet 2015
Version d'Excel : 2019 FR 64 Bits
Contact :

Message par Le_Troll_Du_27 » 30 janvier 2018, 18:45

Une erreur s'est glissé dans initialisation de la ListBox1 de l'userform3
Je n'arrive plus à voir mon erreur. Pouvez vous m'indiquer?
Le fichier est juste dans le message précédent
Private Sub Initialise_ListBox1()
    Dim MaSourceGoogle As String
    Sheets("Feuil3").Activate        ' ............................................................Sélectionne la feuille
    For T = 1 To 15        ' ......................................................................Boucle sur les Labels
        Controls("Label" & T) = Range("A1:O1").Cells(T)        ' ..................................Alimente tous les labels
    Next T        ' ...............................................................................Fin de Boucle
    With ListBox1
        TextBox1 = .List(.ListIndex, 0)        ' ..................................................Groupe
        ComboBox1 = .List(.ListIndex, 1)        ' .................................................Civilité
        For T = 2 To 8        ' ...................................................................Nom Prénom
            UserForm3.Controls("TextBox" & T) = .List(.ListIndex, T)
        Next T        ' ...........................................................................Fin de boucle
        ComboBox2 = .List(.ListIndex, 9)        ' .................................................Code Postal
        ComboBox3 = .List(.ListIndex, 10)        ' ................................................Ville
        ComboBox4 = .List(.ListIndex, 11)        ' ................................................Certifié
        TextBox9 = .List(.ListIndex, 12)        ' .................................................Dare de création
        ComboBox5 = .List(.ListIndex, 13)         ' ...............................................Pays
        TextBox10 = .List(.ListIndex, 14)         ' ...............................................Lien Google Maps
        TextBox1.SetFocus
    End With
    '**********************************************************************************************
    '*                                           Format                                           *
    '**********************************************************************************************
    TextBox2.Font.Bold = True
    ComboBox2 = Format(ComboBox2.Value, "0# ###")
    TextBox6 = Format(TextBox6.Value, "(0#) ## ## ## ##")
    TextBox9 = Format(TextBox9.Value, "dd mmmm yyyy")
    ' URL de l'image sur internet
    MaSourceGoogle = TextBox10.Value
    'ShellExecute 0, vbNullString, MaSourceGoogle, vbNullString, vbNullString, 0
    
    If Not ComboBox2.Value = "" Then
        WebBrowser1.Navigate MaSourceGoogle
    Else
        WebBrowser1.Navigate "https://www.google.fr/?gws_rd=ssl#spf=1"
    End If
End Sub

Merci
Qui donne ne doit jamais s'en souvenir, qui reçoit ne doit jamais l'oublier


Date and Time Picker and MonthView - Windows 64/32:
http://forum.excel-pratique.com/excel/date-and-time-picker-windows-64-32-t79032-20.html
Répondre Sujet précédentSujet suivant
  • Sujets similaires
    Réponses
    Vues
    Dernier message