VBA - Test connexion à internet (PC/Mac)

David3164

XLDnaute Nouveau
Bonjour à tous,

Je cherche une méthode pour vérifier que la connexion à internet est bien active afin de lancer ou non la récupération de données via internet.
J'ai trouvé une méthode qui semble fonctionner via l'utilisation de la librairie Wininet.dll mais cela ne fonctionne pas sous Mac.
Le but est de faire un fichier qui fonctionne tant sous Mac (maison) et PC (boulot)... Est-ce possible ou utopique?

J'ai testé le code suivant:
Code:
Option Explicit

Private Declare Function internetgetconnectedstate Lib "wininet.dll" (ByRef lpdwFlags As Long, ByVal dwReserved As Long) As Long


Private Sub sConnection()

Dim vConnection As Boolean

vConnection = ConnexionInternetActive

End Sub

Private Function ConnexionInternetActive() As Boolean

ConnexionInternetActive = internetgetconnectedstate(0&, 0&)

End Function

Je me retrouve avec l'erreur 53: le fichier n'existe pas en exécutant pas à pas. Normal, je pense au fait que je n'ai pas la librairie Wininet.dll sur mon Mac.

Merci pour votre aide!

David
 

sousou

XLDnaute Barbatruc
Re : VBA - Test connexion à internet (PC/Mac)

Bonjour.
Ceci est un extrait d'une application crée pour une gestion de maintenance (client léger)
Cet extrait montre comment j'utilisai (l'application tourne toujours ans) les propiétés de l'objet IE pour gérer les connections, rapatrier ou envoyer des données
Gestion des propiété Busy et readystate
Mais sa date dans ma mémoire.....
'Envoi d'une web DI
Sub connectgmao(message, monindex)
Set ie = CreateObject("InternetExplorer.Application")
Application.StatusBar = " Connexion au système "
With ie
'taille de la fenêtre IExplorer
ie.Visible = True
ie.Width = 1000
ie.Height = 300
ie.Left = 0
ie.Top = 0
ie.Toolbar = False
.Navigate "http://............"

t = Time
While .ReadyState <> 4 'attente fin de téléchargement
If Time > t + CDate("00:00:30") Then Call erreur(3)
Wend
'Gestion du premier formulaire
On Error GoTo erreurG1
.Document.forms(0).user.Value = utilisateurGome
.Document.forms(0).Password.Value = motpasseGome
.Document.forms(0).submit
t = Time
While .Busy = True 'attente fin de téléchargement
If Time > t + CDate("00:00:30") Then Call erreur(4)
Wend
'------------------------------------------------------------------------
End If
 

Statistiques des forums

Discussions
314 651
Messages
2 111 561
Membres
111 201
dernier inscrit
netcam