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

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  Comparaison d edeux fichiers, formatage

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Comparaison d edeux fichiers, formatage

n°1148639
pinkysioux
Posté le 13-07-2005 à 09:59:56  profilanswer
 

Bonjour à tous,  
 
   je suis novice en VBA, et c'est le seul langage à ma disposition..
Voilà ma problématique :
   J'ai un fichier F1 qui renferme beaucoup d'informations relatives à des serveurs (unh eligne par serveur, chaque champ correspond à une caractéristique : nom du serveur, type d'OS sur ce serveur, appli qu'il héberge etc...).
  J'ai un fichier F2 ("Feuil1" ) qui n'est composé que d'un champ correspondant à une liste de serveurs.
  Ni F1, ni F2 ne sont triés.
 
  Mon but serait de checker la liste de F2 afin de ne faire ressortir que la liste des serveurs de F2 qui sont dans F1 plus quelques caractéristiques choisies.  
Je souhaite que cette liste soit printée dans la "Feuil2" de F2.
 
  Voici mon programme :
 
 
Dim lastLine1%, lastLine2%, F1$, F2$, serv$, pos%, serveur$
    Dim nomServ$, numMax%, numMin%, argh%, numMaxStr$
    Dim taille As Integer
    Dim F1 As Excel.Workbook
    Dim F2 As Excel.Workbook
    Dim Feuil1 As Excel.Worksheet
    Dim Feuil2 As Excel.Worksheet
    Application.ScreenUpdating = False
    F1 = "XXX.xls"
    F2 = "YYY.xls"
    Workbooks.Open FileName:=F1
     
    lastLine1 = Worksheets("Feuil1" ).Cells(65535, 1).End(xlUp).Row
    Dim tabServ(500) As String
    Dim appli(500) As String
    Index = 1
    For Line = 2 To lastLine1
        serv = Trim(LCase$(Worksheets("Feuil1" ).Cells(Line, 5).Value))
        pos = InStr(serv, " " ) - 1
 
        'Formatage pour traiter des cas spéciaux du fichier F1
        If pos <> -1 Then
            serveur = Mid(serv, 1, pos)
            numMax = Mid(serv, pos + 4, Len(serv))
            numMaxStr = numMax & x
            taille = Len(numMaxStr)
            numMin = Mid(serv, pos - taille, taille + 1)
            nomServ = Mid(serv, 1, pos - taille)
            For i = numMin To numMax
                serveur = nomServ & i
                tabServ(Index) = serveur
                appli(Index) = Trim(LCase$(Worksheets("Feuil1" ).Cells(Line, 7).Value))
            Next i
        ' Fin du formatage pour cas spéciaux
 
        Else
            tabServ(Index) = serv
            appli(Index) = Trim(LCase$(Worksheets("Feuil1" ).Cells(Line, 7).Value))
            Index = Index + 1
        End If
    Next Line
     
    Workbooks.Open FileName:=F2
    Workbooks(F2).Worksheets("Feuil1" ).Activate
    lastLine2 = Worksheets("Feuil1" ).Cells(65535, 1).End(xlUp).Row
    MsgBox "lastLine2 = " & lastLine2
    Open Workbooks(F2).Worksheets("Feuil2" ) For Output As #1
    Print #1, "Serveurs"; "Application"
     
    i = 1
    For Line = 1 To lastLine2
    flag = False
        servToCheck = Trim(LCase$(Worksheets(F2).Cells(Line, 1).Value))
        MsgBox "servToCheck = " & servToCheck
        Do While (i <= Index) Or (flag = False)
           If tabServ(i) = servToCheck Then
               flag = True
               Print #1, servToCheck; appli(Index)
               MsgBox "servToCheck = " & servToCheck & "et appli = " & appli(Index)
           End If
        Loop
    Next Line
    End
     
End Sub
 
 
 
  J'ai évidemment enlevé les MsgBox et autres..
  Mon programme fonctionne bien jusqu'à la première partie, ensuite quand j'ouvre le fichier F2 : RIEN NE SE PASSE : pas de print "serveurs applicaton", pas de MsgBox qui apparait :
LE NEANT !!
 
  Je pense que je maîtrise mal les .activate ou select, je ne vois pas ce que cela pourrait être d'autre, toutefois j'ai bien un message me demandant si je veux rouvrir F2...
 
  Je reste perplexe..   :pfff:  
 
  Pourriez-vous m'aider ?  
 
  Merci beaucoup

mood
Publicité
Posté le 13-07-2005 à 09:59:56  profilanswer
 


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

  Comparaison d edeux fichiers, formatage

 

Sujets relatifs
Comparaison de typesRécupérer des fichiers dans un dossier
[OS] Créer un nouveau système de fichiers.Comparaison de texte
Editeur de fichiers textes énormes !Fichiers Excel en SYLK : possible d'integrer une image ?
[Batch] Suppression de fichiers et repertoire videvba ouverture des fichiers un à un d'un dossier sélectionné
[MySQL] Reconstruire une base de données sans les fichiers .myisuppression des fichiers temporaires sous IE
Plus de sujets relatifs à : Comparaison d edeux fichiers, formatage


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