Bonjour,

Pour lancer des sauvegardes entre ordinateurs de mon réseau local chez moi, je lance une batterie de vérification, vérification de présence de PC et routeur.
Je me trouve avec un problème pour pinger l'IP de mon routeur wifi / Ethernet. Qu'il soit allumé ou pas, mon code VBA me renvoie un résultat ok
voici ma fonction
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
 
    Dim intPingResult As Integer
    Dim ipRouteur As String
 
    ' Remplacez cette adresse IP par l'adresse IP de votre routeur
    ipRouteur = "192.168.1.252" ' Exemple : adresse IP du routeur
 
    ' Crée un objet Shell pour exécuter la commande ping
    Set objShell = CreateObject("WScript.Shell")
 
    ' Exécute la commande ping et redirige le résultat vers une variable
    strCmd = "ping -n 1 " & ipRouteur
 
    ' Exécute la commande et récupère le code de résultat (0 si le routeur répond)
    intPingResult = objShell.Run(strCmd, 0, True)
 
    ' Si le ping retourne 0, le routeur est accessible
    If intPingResult = 0 Then
        VerifierRouteur = True ' Le routeur est allumé et accessible
    Else
        VerifierRouteur = False ' Le routeur n'est pas accessible
    End If
 
    ' Libère l'objet Shell
    Set objShell = Nothing
End Function

et le code dans mon formulaire
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
 
    If VerifierRouteur() Then
        ImageRouteurSup.Visible = False
        ImageRouteurCoche.Visible = True
    Else
        ImageRouteurCoche.Visible = False
        ImageRouteurSup.Visible = True
        erreurRouteur = "Le routeur wifi / ethernet n'est pas allumé" & vbCrLf & vbCrLf & ""
    End If
Dans mon module, si je remplace l'IP par 192.168.1.252, le résultat est OK
Par contre, si je remplace par 12.168.1.252, le résultat est KO

Alors j'ai décidé de lancer les ping directement via commande dos
voici les résultats obtenus :


Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
C:\WINDOWS\system32>ping 192.168.1.253
 
Envoi d’une requête 'Ping'  192.168.1.253 avec 32 octets de données*:
Réponse de 192.168.1.253*: octets=32 temps=439 ms TTL=64
Réponse de 192.168.1.253*: octets=32 temps=1 ms TTL=64
Réponse de 192.168.1.253*: octets=32 temps=1 ms TTL=64
Réponse de 192.168.1.253*: octets=32 temps=1 ms TTL=64
 
Statistiques Ping pour 192.168.1.253:
    Paquets*: envoyés = 4, reçus = 4, perdus = 0 (perte 0%),
Durée approximative des boucles en millisecondes :
    Minimum = 1ms, Maximum = 439ms, Moyenne = 110ms

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
C:\WINDOWS\system32>ping 192.168.1.252
 
Envoi d’une requête 'Ping'  192.168.1.252 avec 32 octets de données*:
Réponse de 192.168.1.74*: Impossible de joindre l’hôte de destination.
Réponse de 192.168.1.74*: Impossible de joindre l’hôte de destination.
Réponse de 192.168.1.74*: Impossible de joindre l’hôte de destination.
Réponse de 192.168.1.74*: Impossible de joindre l’hôte de destination.
 
Statistiques Ping pour 192.168.1.252:
    Paquets*: envoyés = 4, reçus = 4, perdus = 0 (perte 0%),
je remarque que le nombre de paquets perdu est de 0 et en résultat : "Réponse de...."


par contre, avec un IP commençant par 12.x.x.x, il y a bien 4 paquet de perdu et en résultat "Délai d'attente...."
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
C:\WINDOWS\system32>ping 12.168.1.252
 
Envoi d’une requête 'Ping'  12.168.1.252 avec 32 octets de données*:
Délai d’attente de la demande dépassé.
Délai d’attente de la demande dépassé.
Délai d’attente de la demande dépassé.
Délai d’attente de la demande dépassé.
 
Statistiques Ping pour 12.168.1.252:
    Paquets*: envoyés = 4, reçus = 0, perdus = 4 (perte 100%),