Voici une solution, c'est pas très élègant, mais ça marche avec 1 seul fichier !
Vérifie que ton fichier est bien fermé avant, car sinon il y aura un prob de fichier en lecture seul.
Je l'ai testé et ça marche
Bonne journée (répond moi)
msgbox "Cliquez pour débuter les pings"
Set objExcel = CreateObject("Excel.Application" )
Set objWorkbook = objExcel.Workbooks.Open("C:\Documents and Settings\jmour\Mes documents\liste.xls" )
intRow = 1
'Lecture de la colonne 1
Do Until objExcel.Cells(intRow,1).Value = ""
StrComputer = objExcel.Cells(intRow, 1).Value
objworkbook.close
PING()
Set objworkbook = objExcel.Workbooks.Open("C:\liste.xls" )
intRow = intRow + 1
Loop
objworkbook.close
msgbox "Pings terminés"
objExcel.Quit
'Fonction PING
Function PING()
Set objWMIService = GetObject("winmgmts:\\" & "." & "\root\cimv2" )
Set colPings = objWMIService.ExecQuery _
("Select * From Win32_PingStatus where Address = '" & strComputer &"'" )
For Each objStatus in colPings
If IsNull(objStatus.StatusCode) _
or objStatus.StatusCode<>0 Then
set objworkbook1 = objExcel.Workbooks.Open("C:\liste.xls" )
'msgbox intRow & " NOK " & strComputer
objExcel.Cells(intRow, 3).Value = ""
objExcel.Cells(intRow, 4).Value = "Ping Non OK"
objworkbook1.save
objworkbook1.close
Else
set objworkbook2 = objExcel.Workbooks.Open("C:\liste.xls" )
'msgbox intRow & " OK " & strComputer
objExcel.Cells(intRow, 3).Value = "Ping OK"
objExcel.Cells(intRow, 4).Value = ""
objworkbook2.save
objworkbook2.close
End If
Next
End Function
Message édité par jim150181 le 06-07-2007 à 14:09:15