Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2413 connectés 

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  PING et NSLOOKUP dans excel ! (avancement 80%)

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

PING et NSLOOKUP dans excel ! (avancement 80%)

n°2083849
SaW3r
Posté le 22-06-2011 à 11:40:25  profilanswer
 

Bonjour à tous, voila je vous expose mon problème :
 
Je dispose d'un tableau sous excel contenant des adresses IP et autre infos comme cela :
 
Adresses IP :        Noms d'hôte :     Adresses MAC :           etc....
172.26.2.001            machine1            ...............             etc....
172.26.2.002            machine2            ...............             etc....
 
Je souhaiterais pouvoir pinger toutes les lignes une par une et voir si une IP répond ou pas, elle sont écrit ainsi avec 2 zéros devant car je vais jusqu'à 254 et je trouve cela plus esthétique que ce soit aligné :
 
172.26.2.001
172.26.2.050
172.26.2.254
 
Le problème est que lorsque je ping j'aimerais enlever les zéro devant le derniers chiffres car le ping est faussé sinon.. Par exemple si je ping 172.26.2.012 le ping se dirige sur 172.26.2.10 ! :o
 
J'ai trouvé et modifié ce petit bout de code sur internet mais je n'arrive pas à tester si le ping répond ou pas..
 

Code :
  1. Sub test()
  2. ligne = 1
  3. While ligne <= 254
  4. Shell "ping -n 1 -w 20 " & Cells(ligne, 1), vbNormalFocus
  5. If     *** IP répond ***      Then
  6. Cells(ligne, 1).Font.Color = RGB(0, 255, 0)
  7. Else
  8. Cells(ligne, 1).Font.Color = RGB(255, 0, 0)
  9. End If
  10. ligne = ligne + 1
  11. Wend
  12. End Sub


 
J'aimerais donc enfaite transformé 172.26.2.001 en 172.26.2.1, pinger l'adresse, puis la réécrire 172.26.2.001 puis écrire la ligne en verte si l'adresse IP répond ou en rouge si elle ne répond pas..
 
Ci possible par la suite récupérer le nom d'hôte.. J'ai fait un script BATCH qui me permet de le faire mais alors le faire en VBA aucune idée ! :s
Et je ne veux pas avoir à utiliser un fichier .bat car ce fichier excel se baladera de pc à pc..  
 
Merci à tous !


Message édité par SaW3r le 24-06-2011 à 14:37:06
mood
Publicité
Posté le 22-06-2011 à 11:40:25  profilanswer
 

n°2083892
kiki29
Posté le 22-06-2011 à 14:17:02  profilanswer
 

Salut, voir sur http://groupes.codes-sources.com/a [...] 30133.aspx entre autres


Message édité par kiki29 le 22-06-2011 à 14:22:20

---------------
Myanmar 90/91 : http://gadaud.gerard.free.fr/publi [...] index.html
n°2083902
SaW3r
Posté le 22-06-2011 à 14:32:51  profilanswer
 

Salut, merci pour ta réponse le ping fonctionne bien et il écrit l'heure et le message de réponse mais par contre il ping seulement mon IP local et pas celles se trouvant dans les cases A1, A2, A3... Je ne comprends pas :(

n°2083905
kiki29
Posté le 22-06-2011 à 14:37:47  profilanswer
 

re,là c'est à toi de l'adapter à ton contexte


---------------
Myanmar 90/91 : http://gadaud.gerard.free.fr/publi [...] index.html
n°2083911
SaW3r
Posté le 22-06-2011 à 14:45:52  profilanswer
 

Voila je l'ai adapté, je vous fais parvenir mon fichier excel :
 
http://saw3r.free.fr/PING_EXCEL.xlsm
 
Le tableau est vide, il ne reste que les adresse IP, j'ai volontairement supprimé les infos donc c'est normal.
 
Mais je suis confronté à un problème, je n'arrive qu'a écrire dans une cellule via :
 

Code :
  1. Cells(1, 8) = "blablabla"


 
En ouvrant mon fichier vous comprendrez mon problème.. Enfaite j'aimerais que les colonnes de la première lignes soit indépendantes, que je puisses modifier leur taille sans modifier toutes celles qui se situe en dessous, est-ce possible ? Ci possible en rajouter aussi..
 
Et j'aimerais récupérer le nom d'hôte automatiquement aussi, je sais le faire en BATCH avec la commande NSLOOKUP mais je n'ai aucune idée en VBA..

J'ai mis en place aussi un compteur pour visualiser le nombre d'IP en ligne et hors ligne mais il ne fonctionne pas je ne comprends pas pourquoi, il compte seulement une fois enfaite ! oO
 
Merci à vous !
 
 
EDIT :
 
J'ai avancé sur le NSLOOKUP mais il reste un problème.. la réponse de cette commande donne  
 
"
 
Serveur :JEMENFOU
Adress:  xxx.xxx.xxx.xxx
 
Nom : CEQUEJEVEUX
Adress: xxx.xxx.xxx.xxx
 
"
 
J'arrive à récupéré  JEMENFOU mais comme son nom l'indique.. Cette valeur ne m'intéresse pas.. comment sauter une ligner dans la récupération de texte ?
 
Voici mon code actuel qui récupère JEMENFOU :
 

Code :
  1. Sub Get_DNS_Name()
  2.     Set objShell = CreateObject("WScript.Shell" )
  3.     For lngRow = 2 To 10
  4.         strIP = Trim(Cells(lngRow, 1).Value)
  5.         Set objExec = objShell.Exec("nslookup " & strIP)
  6.         While objExec.Status = 0
  7.             'Application.Wait (Now + TimeValue("0:00:01" ))
  8.         Wend
  9.         arrRESPONSE = Split(objExec.StdOut.ReadAll, vbCrLf)
  10.        
  11.         Cells(lngRow, 2).Value = arrRESPONSE
  12.        
  13.         strDNSName = Left(Right(Cells(lngRow, 2).Value, 17), 5)
  14.        
  15.         Cells(lngRow, 2).Value = strDNSName
  16.         Set objExec = Nothing
  17.     Next
  18.    
  19. End Sub


 
Merci de votre aide !


Message édité par SaW3r le 23-06-2011 à 16:12:10

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  PING et NSLOOKUP dans excel ! (avancement 80%)

 

Sujets relatifs
Récupérer l'id d'une entrée au moment ou celle-ci est créerecuperer contenu du log mysql-bin.xxxx
API Amazon, comment récuperer une inforécupérer le nom d'une image dans un dossier
[Matlab] Recuperer les valeurs d'un quiverrécupérer une variable dans une base de donnée pour la mettre dans un
Parser XML en Java et y récupérer des informationshelp!!! comment recuperer un text sur un site qui a deconecté ...
Aide ! Récupérer le langage binaire d'un fichier. 
Plus de sujets relatifs à : PING et NSLOOKUP dans excel ! (avancement 80%)


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR