oui la commande workbooks(Nom).close réclame le nom "réduit" du classeur .. tu peu adapter le code vu plus haut pour qu'il fonctionne avec nom complet..
1 2 3 4 5 6 7 8 9
|
Sub CloseWorbook(WordbookName As String)
Dim Wbk As Excel.Workbook
For Each Wbk In Excel.Workbooks
If UCase(Wbk.Path & "\" & Wbk.Name) = UCase(WordbookName) Then
Wbk.Close
End If
Next
End Sub |
ensuite
CloseWorbook("c:\tmp\monclasseur.xls")
Mais Sinon
il faudrai peu-être réorganiser ton code .. pour qe tu n'est plus à jouer avec ces noms....comment ouvre tu ces classeurs et comment accéede tu à leur donnée ... essai de faire quelque chose du genre :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
|
Sub test()
Dim Wk1 As Workbook
Set Wk1 = Workbooks.Open("c:\tmp\monclasseur.xls")
If Wk1 Is Nothing Then
MsgBox "erreur ouverture classeur......"
Exit Sub
End If
'Ici tu accéde au classeur
Wk1.Sheets(1).Range("A1") = "Modif feuille"
'....
'...
'Et quand tu as fini tu ferme le classeur en sauvant (avant d'en ouvrir un autre)
Wk1.Close True
End Sub |
Partager