Salut cOx, le forum
Humm pas génial ton histoire de fichier qui change de nom pour faire une macro qui tienne la route... Sinon on va jouer avec des Windows.ActiveNext que je trouve dangereux...
Non le mieux est d'essayer de nommer tes fichiers source d'une manière plus cohérente que 1.xls puis 2.xls....
Par exemple, Source 1.xls, Source 2.xls
Ensuite sans faire de test, mais plus ou moins ce devrait être un code dans ce genre :
'Une premiere macro qui va faire le checking si un fichier "Source" se trouve bien ouvert... (1 seul) :
Dim Classeurs As Workbook
Private Sub Workbook_Open()
For Each Classeur In Workbooks
If Left(Classeur.Name, 6) = "Source" Then
i = i + 1
End If
Next
If i < 1 Then
MsgBox "Pas de Classeur Source Ouvert"
ElseIf i > 1 Then
MsgBox "Ambiguité détectée, plusieurs classeurs Source Ouverts"
Else
CopieInfo
End If
End Sub
'Si le checking est OK, alors on fait la Copie de la Feuille "Infos"...
Sub CopieInfo()
For Each Classeur In Workbooks
If Left(Classeur.Name, 6) = "Source" Then
Classeur.Activate
Classeur.Sheets("Infos").Copy Before:=ThisWorkbook.Sheets(1)
End If
Next
End Sub
Je pense que ce devrait marcher... En mettant donc ce code dans le private module "ThisWorkBook" du classeur cible ("Toto.xls")...
Bon Appétit
@+Thierry