IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

problème avec FollowHyperlink


Sujet :

Macros et VBA Excel

  1. #1
    Membre confirmé
    Inscrit en
    Mai 2007
    Messages
    106
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 106
    Par défaut problème avec FollowHyperlink
    bonjour tout le monde...

    une petite question... voici ma ligne de code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub CommandButton1_Click()
    ThisWorkbook.FollowHyperlink "http://www.google.com", , True
    End Sub
    je souhaiterai que lorsque je ne suis pas connecté sur internet(pas de connexion) et que je clic sur le CommandButton1, et bien je souhaiterai que ça ne m'envoye pas un message d'error (je ne veux pas que ça m'ouvre Visual Basic en fait)
    je veux par exemple que ça m'ouvre un textBox, me disant: pas de connexion

    si quelqu'un peut m'aider

  2. #2
    Membre expérimenté
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    258
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 258
    Par défaut
    C'est peut etre simpliste mais il faut dans ce cas tester ta connexion avant dans une boucle If

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Private Sub CommandButton1_Click()
     
    If connexion non OK then
     
    msgbox("pas de liaison internet, désolé!")
    exit sub
     
    else
     
    ThisWorkbook.FollowHyperlink "http://www.google.com", , True
     
    end if
    End Sub
    reste à savoir comment tester cette connexion internet!

    Une autre solution consiste à demander à l'utilisateur à ce que internet soit déjà ouvert avant! De cette facon, c'est l'utilisateur qui teste et pas la macro! (Gain de poids de fichier et pas de gestion d'erreur)

  3. #3
    Membre confirmé
    Inscrit en
    Mai 2007
    Messages
    106
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 106
    Par défaut
    je m'en douté c'est pour ça que je le demande...
    ça m'étonne qu'on puisse pas vérifier avec une macro si internet et connecté, c'est bizard!!!

  4. #4
    Membre Expert
    Avatar de zazaraignée
    Profil pro
    Étudiant
    Inscrit en
    Février 2004
    Messages
    3 174
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2004
    Messages : 3 174
    Par défaut
    Je crois bien qu'il faudra ajouter le composant Internet (voir le menu Outils, Références).

  5. #5
    Membre confirmé
    Inscrit en
    Mai 2007
    Messages
    106
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 106
    Par défaut
    j'ai cocher le composant Microsoft Internet Controls; mais je sais quoi ecrire comme code

  6. #6
    Expert confirmé

    Homme Profil pro
    Inscrit en
    Août 2005
    Messages
    3 317
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2005
    Messages : 3 317
    Par défaut
    bonsoir


    Pour vérifier si le poste de travail est connecté:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Private Declare Function IsNetworkAlive Lib "SENSAPI.DLL" _
        (ByRef lpdwFlags As Long) As Long
     
    Sub verificationConnection()
        Select Case IsNetworkAlive(0)
            Case 0: MsgBox "not connected"
            Case 1: MsgBox "connected to LAN"
            Case 2: MsgBox "connected to WAN"
            Case Else: MsgBox "connected to other network"
        End Select
    End Sub

    michel

  7. #7
    Membre confirmé
    Inscrit en
    Mai 2007
    Messages
    106
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 106
    Par défaut
    merci beaucoup c'est parfait voila exactement mon code pour ceux que ça interesse
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Private Declare Function IsNetworkAlive Lib "SENSAPI.DLL" (ByRef lpdwFlags As Long) As Long
    Private Sub Image1_Click()
    Select Case IsNetworkAlive(0)
            Case 0: MsgBox "not connected"
            Exit Sub
            Case 1: MsgBox "connected to LAN"
            Case 2: MsgBox "connected to WAN"
            Case Else: MsgBox "connected to other network"
        End Select
    ThisWorkbook.FollowHyperlink "http://www.wanao.com", , True
    End Sub

  8. #8
    Membre averti
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    34
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 34
    Par défaut
    Bonjour!
    Sinon, il y a aussi la fonction InternetGetConnectedStateEx de la librairie wininet.dll, qui retourne la valeur 1 si la connexion Internet est activée. Cela se code ainsi, dans un module standard...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    Option Explicit
     
    Private Declare Function InternetGetConnectedStateEx Lib "wininet.dll" (ByRef lpdwFlags As Long, ByVal lpszConnectionName As String, ByVal dwNameLen As Integer, ByVal dwReserved As Long) As Long
     
    Public Function IsInternetConnected() As Boolean
        Dim strConnType As String
        Dim lngReturnStatus As Long
     
        lngReturnStatus = InternetGetConnectedStateEx(lngReturnStatus, strConnType, 254, 0)
        IsInternetConnected = (lngReturnStatus = 1)
    End Function
    @+
    Paolo

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Problème avec "ActiveWorkbook.FollowHyperlink Address"
    Par lbar012001 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 31/01/2008, 13h43
  2. VC++ Direct3D8, problème avec LPD3DXFONT et LPD3DTEXTURE8
    Par Magus (Dave) dans le forum DirectX
    Réponses: 3
    Dernier message: 03/08/2002, 11h10
  3. Problème avec le type 'Corba::Any_out'
    Par Steven dans le forum CORBA
    Réponses: 2
    Dernier message: 14/07/2002, 18h48
  4. Problème avec la mémoire virtuelle
    Par Anonymous dans le forum CORBA
    Réponses: 13
    Dernier message: 16/04/2002, 16h10

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo