Ce code permet de scanner les ip d'un réseau local. Il met le résultat dans deux fixhiers. Le premier fichier (valide.txt) est utilisé pour stocké les ip qui ne sont pas encore utilisées. Le second fichier stocke les ip dèja utilisées sur le réseau local. La partie de base de se programme a été trouvée dans le forum de se site, elle n'est pas de moi.
Source / Exemple :
Dim AdIP As String
Dim i As Integer
Dim nb As Integer
i% = 1
Open "c:\ip_valide.txt" For Output As #1
Open "c:\ip_non_valide.txt" For Output As #2
nb = 0
While i% <> 253
i% = i% + 1
AdIP$ = "192.168.1." & i%
'**************************
'Open "c:\windows\protect.org" For Output As #NumFich
Dim Commande As String
Dim Resultat As Long
Dim Ad_a_tester As String
Dim Handle As Long
Dim Fichier As String
Dim Ligne As String
Dim EstOK As Boolean
Dim t As Long
EstOK = True
Fichier = App.Path & "\" & AdIP$
Ad_a_tester = AdIP
Commande = "c:\windows\system32\cmd.exe /cping " & Ad_a_tester & " -n 1 >" & Fichier 'fait un ping d'une trame sur le réseau a l'@ ad_a_tester
Resultat = Shell(Commande, vbMinimizedNoFocus)
t = Timer
Do
If Timer - t > 5 Then Exit Do
DoEvents
Loop
Do
DoEvents
Err = 0
On Error Resume Next
If FileLen(Fichier) <> 0 And Err = 0 Then Exit Do
Loop
EstOK = True
Handle = FreeFile
Open Fichier For Input As #Handle
While Not EOF(Handle)
Input #Handle, Ligne
If InStr(Ligne, "d'attente de la demande") <> 0 Or InStr(Ligne, "Impossible de joindre") <> 0 Then
EstOK = False
GoTo sort_bouc
End If
If InStr(Ligne, "ponse de") <> 0 Or InStr(Ligne, "Statistiques Ping") <> 0 Then
EstOK = True
End If
Wend
sort_bouc:
Close #Handle
Kill Fichier
If EstOK = True Then
' mettre l'ip dans un fichier nommé no valide
nb% = nb% + 1
Print #2, AdIP$
Else
' mettre l'ip dans un fichier nommé valide
Print #1, AdIP$
End If
On Error Resume Next
ProgressBar1.Value = Int((100 * i) / 253)
'****************************
Label1.Caption = " ~~ Traitement en cours ... ~~ Nombre de pc trouvés : " & nb%
Wend
Label1.Caption = "Vous pouvez maintenant éditer les fichiers c:\ip_valide et c:\ip_non_valide. Nb pc trouvés : " & nb%
Conclusion :
voila ++ et enjoy yourself :-)