Mise en forme d'un fichier xls compliquée

Mise en forme d'un fichier xls compliquée - VB/VBA/VBS - Programmation

Marsh Posté le 14-04-2008 à 00:53:13    

Bonjour ou bonsoir à tous.
 
Un projet m'a été affilié dans ma boite.
Créer un script qui permet de récuperer la mac-address-table d'un switch et de les comparer par la suite à un fichier existant qui possède toutes les infos de toutes la machines de notre réseau.
Le but étant de savoir quel machine est connectée à tel port de tel switch.
 
Le problème est que je n'ai aucune notion de programmation. J'ai trouvé plus ou moins des pistes après recherches mais toutes non concluantes. J'ai retrouvé exactement le même problème rencontré sur ce forum sur ce lien : http://forum.hardware.fr/hfr/Progr [...] 9083_1.htm  mais aucune solution en fin de topic ( comme sur la plupart des sujet d'autre forum )
 
La première partie de récupérer le premier fichier de la mac-addresse-table a été trouvée.  
J'ai réussi à récupérer la table d'adresse mac de mon switch en utilisant hyperterminal et un serveur TFTP. Le fichier peut etre créer en .txt bien qu'il sorte bcp mieux sous format XLS.
Donc je souhaiterais pouvoir faire une sorte de "match" entre ce fichier que j'ai récupérer et un autre fichier qui possède toutes les informations ( adresse mac, nom de machine..) et faire un tri sur le numéro de port. En gros donc comparer ces deux fichiers et afficher port 1 = adresse mac X = Nom de machine X.
 
 
Je vous remercie d'avance pour toute aide même minime.
 
Bon début de semaine à tous.


Message édité par matsu92 le 15-04-2008 à 16:41:16
Reply

Marsh Posté le 14-04-2008 à 00:53:13   

Reply

Marsh Posté le 14-04-2008 à 08:21:19    

Si tu travailles avec des fichiers excel le plus simple est sans doute de faire ça en VBA (un petit tutorial ici).
Ce que tu demande n'est pas très compliqué, tu dois ouvrir les 2 fichiers et pour chaque ligne du premier tu vas chercher dans le second son nom.


---------------
Instagram - Mon PVT en Australie.
Reply

Marsh Posté le 14-04-2008 à 11:36:14    

Bonjour.
 
Effectivement, après consultation avec mon collègue, il m'a suggérer la même chose pour me faciliter un peu la tâche étant donné le peu de temps qu'il me reste pour mettre ca en place.
Je vais tenter de le faire sous excel en VBA à l'aide du d'un bouquin et de ton lien qui semble être bien complet. Le but étant maintenant de créer un bouton avec une boucle derrière qui ferait une recherche sur une saisie d'adresse mac d'en un premier temps.
Je m'y colle. Et il semble qu'il y ait déjà pas mal de sujet similaire sur le fofo.

Reply

Marsh Posté le 14-04-2008 à 22:01:06    

Bonsoir,  
J'ai avancé un peu dans mes recherches, après plusieurs petits test/exos je butte sur un simple bout de code pour l'instant.
 
J'ai une colonne B avec des adresses mac sur 1500 lignes, une colonne A avec les noms des machines, une colonne D avec les adresses mac récupérées de mon switch et je souhaite copier les adresses mac égales aux adresses mac de la colonne B sur la colonne F
 
Voici mon code :  
 

Code :
  1. Sub Bouton1_QuandClic()
  2. Dim Nligne As Integer
  3. Dim Ncolonne As Integer
  4. For Nligne = 2 To 1500
  5.     For Ncolonne = 4 To 4
  6.     If Cells(Nligne, "B" ) = Cells(Nligne, "D" ) Then
  7.    
  8.      Cells(Nligne, "A" ).Value = Cells(Nligne, "F" ).value
  9.     End If
  10.    
  11.         Nligne = Nligne + 1
  12.    
  13.     Next Ncolonne
  14. Next Nligne
  15. MsgBox "Programme terminé"
  16. End Sub


 
 
Merci à vous pour cette aide


Message édité par matsu92 le 15-04-2008 à 17:07:59
Reply

Marsh Posté le 15-04-2008 à 16:27:57    

Problème reglé difficilement ^^
 

Code :
  1. Sub Bouton1_QuandClic()
  2. Dim i As Integer
  3. Dim j As Integer
  4. For i = 2 To Range("E65536" ).End(xlUp).Row
  5.     j = 1
  6.     Do
  7.         j = j + 1
  8.     Loop While Cells(i, "E" ) <> Cells(j, "B" ) And j <= Range("B65536" ).End(xlUp).Row
  9.    
  10.     If Cells(i, "E" ) = Cells(j, "B" ) Then
  11.         Cells(i, "G" ) = Cells(j, "A" )
  12.     Else
  13.         Cells(i, "G" ) = "?"
  14.     End If
  15. Next
  16. MsgBox "Programme terminé"
  17. End Sub


Message édité par matsu92 le 15-04-2008 à 17:08:22
Reply

Marsh Posté le 15-04-2008 à 16:40:26    

Dernier problème que je rencontre.
La table d'adresse mac que je récupère de mon switch vers un fichier .txt ou .xls ne sort pas comme je le veux.
 
 
Mac Address Table
-------------------------------------------
 
Vlan    Mac Address       Type        Ports
----    -----------       --------    -----
   1    0000.3939.81db    DYNAMIC     Fa0/11
   1    001a.a01a.ed3e    DYNAMIC     Fa0/8
Total Mac Addresses for this criterion: 2
 
Ce que vous voyez sort sur une seule colonne (A). Donc sur la mm ligne j'ai : 1    001a.a01a.ed3e    DYNAMIC     Fa0/8 par exemple.
Or je souhaite avoir chaque info dans sa propre cellule afin ensuite de copier les cellules que je souhaite ( adresses mac et ports notament ) vers une autre feuille xls qui recense tous les pcs de la boite.
 
Comment m'y prendre pour ajuster la mise en forme du fichier récupérer?
 
Merci bcp.

Reply

Marsh Posté le 16-04-2008 à 00:02:46    

Salut, une approche vite fait sur le gaz, à améliorer http://cjoint.com/?eqabyW3g0U

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed