Je développe actuellement un programme en VBA sous excel. Mon programme se met à jour automatiquement à son lancement à partir de donneées situées dans un fichier disponible sur un réseau local. Le problème est que si le PC n'est pas connecté au réseau le programme plante puisqu'il ne trouve pas l'adresse à laquelle il va trouver le fichier en question.
Y a t il un moyen de vérifier l'état de mon PC "connecté ou déconnecté au réseau" et non pas à "internet" pour éviter le plantage!
D'avance merci,
PS:
J'ai testé cette fonction qui marche pour internet mais pas pour intranet! Pourquoi?
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
Set objPing = GetObject("winmgmts:{impersonationLevel=impersonate}").ExecQuery("select * from Win32_PingStatus where address = '" & strComputer & "'")
For Each objStatus In objPing
If IsNull(objStatus.StatusCode) Or objStatus.StatusCode <> 0 Then
'WScript.Echo("Computer " & machine & " is not reachable")
PingSilent = 0
Worksheets(2).Cells(12, 1) = "connecté"
Else
'WScript.Echo("Computer " & machine & " is Live")
PingSilent = 1
Worksheets(2).Cells(12, 1) = "non connecté"
End If
Next
End Function
"""""""""""""""""""""""""""""""""""""""""""
Salut
Le plus simple est de ne rien toucher et d'utiliser une gestion d'erreur :
On Error Goto monLabel
' Ici, ton programme
Exit Funtion ' permet de sortir normalement
monLabel: ' Tu remarques les ; après le nom de l'étiquette
If Err.Number = LeNoQuiVaBien Then
MsgBox "Fichier inaccessible"
Else
MsgBox "Erreur " & Err.Number & " - " & Err.Description
End If
End Function
Voir aussi fonction Resume si besoin pour revenir au programme
Complémentairement, tu peux utiliser la fonction Dir(monFichier) qui te renverra le nom du fichier si le fichier existe
Vala
Jack, MVP VB NB : Je ne répondrai pas aux messages privés
<hr />Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)