Re: [MACRO] 6 fichiers indiv => 1 fichier complet
Arf !!!
Oui tu devrais boire plus de café ! Car là tu me fais refaire tous les tests qui marchaient très bien lors de mon premiers développement...
Donc OK j'ai compris !, mais depuis que j'ai fait les test, je n'ai pas été ré-essayé de refaire ce que je t'avais dit, mais en fait en reconstruisant tout, je me rends compte que tu ne m'as pas bien compris et que tu n'as pas appliqué mes instructions ....
Dans mon message du 27-07-04 15:30 j'ai pourtant bien précisé ceci :
Et dans le code lui-même de la macro "CollectingTheFiles" juste avant "End Sub" mais après le Next :
Application.Quit
ThisWorkbook.Close True
Jamais je n'ai dis de mettre ces deux lignes dans "CollectingInfo".... Grrr
Pour ce qui est du T7 c'est catégoriquemnt non ! En aucun cas ceci stopperait un quelconque Bug, bien au contraire !!! LS étant la dernière Ligne Source (NB sur Colonne D) donc ("A7:T" & LS) signifie A7:T dernière Ligne.... Mettre ("A7:T" & LS) constitue une erreur, A7:T7 et dernière ligne soit 777 (si la dernière ligne est 77)... OK ?
Re-voici le Code que je viens de faire tourner
_____________________________________________________________________________
Sub CollectingTheFiles()
Dim TheArrayOfBooks As Variant
Dim WB As Variant
Dim ThePath As String
ThePath = "N:\path\"
TheArrayOfBooks = Array("loic.xls", "touré.xls", "mamadou.xls", "sara.xls", "laétitia.xls", "stephane.xls", "elite.xls")
For Each WB In TheArrayOfBooks
Workbooks.Open ThePath & WB
CollectingInfo ActiveWorkbook
Next
Application.Quit '<<<< ARF C'est ici que je t'ai dit de mettre ceci !!! lol
ThisWorkbook.Close True
End Sub
Sub CollectingInfo(File As Workbook)
Dim LC As Integer, LS As Integer
Dim PlageSource As Variant
Dim WSCible As Worksheet
Set WSCible = ThisWorkbook.Sheets("Collection")
With File.Sheets(1)
LS = .Range("D65536").End(xlUp).Row
PlageSource = .Range("A7:T" & LS) 'Pas le A7:T7 malheureux !
End With
LC = WSCible.Range("A65536").End(xlUp).Row + 1
For i = 1 To LS - 6
WSCible.Cells(LC + i, 1) = File.Name
Next
WSCible.Range("B" & LC + 1 & ":U" & LC + LS - 6) = PlageSource
File.Close 0
End Sub
_____________________________________________________________________________
Cette fois-ci, ce devrait être la bonne !!! LOL
Bonne Journée
@+Thierry