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

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  [RESOLU] Comparer 2 fichiers de données

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[RESOLU] Comparer 2 fichiers de données

n°1621548
azkatari
Posté le 10-10-2007 à 12:31:21  profilanswer
 

Salut,
 
je cherche à comparer les données de deux fichiers, et ai réalisé la macro suivante:
 

Code :
  1. Sub comparer()
  2. Dim FileName, Path, Comp, Ini, Fin As String
  3. Dim NumLigne, NumCol, MinL, MaxL, MinC, MaxC As Integer
  4. Path = "T:\Reporting\Consolidation\"
  5. Comp = "Indicateurs Reporting"
  6. Workbooks.Open (lancement_comp.TextBox1)
  7. Workbooks.Open (lancement_comp.TextBox2)
  8. Workbooks(Comp).Activate
  9. MinL = 14
  10. MaxL = 30
  11. MinC = 3
  12. MaxC = 6
  13. For Each ws In Worksheets
  14.     If (ws.Name <> "Sommaire" ) Then
  15.         For NumCol = MinC To MaxC
  16.             For NumLigne = MinL To MaxL
  17.                 Workbooks(Comp).Sheets(ws.Name).Cells(NumLigne, NumCol).NumberFormat = "0%"
  18.                 If (Workbooks(lancement_comp.TextBox1).Sheets(ws.Name).Cells(NumLigne, NumCol) <> "" ) Then
  19.                     Workbooks(Comp).Sheets(ws.Name).Cells(NumLigne, NumCol) = (Workbooks(lancement_comp.TextBox1).Sheets(ws.Name).Cells(NumLigne, NumCol) - Workbooks(lancement_comp.TextBox2).Sheets(ws.Name).Cells(NumLigne, NumCol)) / Workbooks(lancement_comp.TextBox2).Sheets(ws.Name).Cells(NumLigne, NumCol)
  20.                     On Error Resume Next
  21.                 End If
  22.             Next NumLigne
  23.         Next NumCol
  24.     End If
  25. Next ws
  26. End Sub


 
ce qui ne marche pas du tout! J'ai une erreur "Type Mismatch"  dans le Workbooks(lancement_comp.TextBox1)...
le lancement_comp.Textbox1 donne bien le nom complet du fichier 1 à comparer (C:\...fichier.xls)
 
qu'set ce qui coince?


Message édité par azkatari le 10-10-2007 à 15:00:19
mood
Publicité
Posté le 10-10-2007 à 12:31:21  profilanswer
 

n°1621574
tegu
Posté le 10-10-2007 à 13:31:59  profilanswer
 

Si tu utilises la syntaxe « lancement_comp.TextBox1.Text », cela fonctionne-t-il mieux ?

n°1621580
azkatari
Posté le 10-10-2007 à 13:42:46  profilanswer
 

non :( j'avais de l'espoir mais rien! ca bloque toujour sur la ligne If (Workbooks(lancement_comp.TextBox1.Text).Sheets(ws.Name).Cells(NumLigne, NumCol) <> "" ) Then en disant Subscript out of range
Pourtant Textbox1.Text a bien le nom complet du fichier, ws.Name a bien le nom de la feuille, et NumLigne et NumCol sont bien au bon numéro, et le fichier est bien ouvert

n°1621609
tegu
Posté le 10-10-2007 à 14:07:42  profilanswer
 

Attends !
Dans la syntaxe  « workbooks(truc) », truc ne doit pas comporter le chemin complet, mais juste le nom du document (si le document est bien ouvert, bien sûr).


Message édité par tegu le 10-10-2007 à 14:08:07
n°1621665
azkatari
Posté le 10-10-2007 à 14:59:56  profilanswer
 

j'ai rajouté ca:  
 
Dim Splichemin(),Fin,Ini as String
Splitchemin = Split(lancement_comp.TextBox1, "\", -1, vbTextCompare)
Fin = Splitchemin(UBound(Splitchemin))
 
ca marche beaucoup mieux comme ca! merci chef :hello:


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

  [RESOLU] Comparer 2 fichiers de données

 

Sujets relatifs
[Delphi] fonction sur String [Résolu][Résolu]Probleme d'enregistrement - envoi de formulaire
[Résolu] Probleme d'enregistrement lors d'un envoi de formulaire[RESOLU] Enlever retour à la ligne entre balises HTML
[Résolu] [Ajax-Rico] Réponse envoyée mais pas de mise à jour[Résolu] WMI requete WQL
Quelques problèmes de fichiers + chemins d'accès[resolu]Besoin d'aide pour jointure sur mySQL
[Résolu] Tableau dynamique[Resolu] Ie6 me surprendra toujours....
Plus de sujets relatifs à : [RESOLU] Comparer 2 fichiers de données


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