Bonjour,
Voilà je tente de fermer un classeur via la fonction
Mais il me renvois toujours le code d'execution erreur l'indice n'appartient pas à la sélection. Alors que le classeur est bien ouvert et nommé correctement.
Voici mon code :
Merci par avance de votre aide.
Cordialement
Voilà je tente de fermer un classeur via la fonction
Code:
Workbooks(Nomfichier).Close savechanges:=True
Mais il me renvois toujours le code d'execution erreur l'indice n'appartient pas à la sélection. Alors que le classeur est bien ouvert et nommé correctement.
Voici mon code :
Code:
''' Init des variables
Nomfichier = Txt_NomFichier.Value
''' Traitement pour la création du nouveau classeur
If Nomfichier <> "" And Txt_Path.Value <> "" Then
''On créer l'objet Excel
Set xlApp = CreateObject("Excel.Application")
''On défini le nombre d'onglets (ici 5)
xlApp.SheetsInNewWorkbook = 4
''On ajoute un classeur
Set xlBook = xlApp.Workbooks.Add
''On donne un nom au classeur
xlBook.SaveAs (Txt_Path.Value & "\" & Nomfichier)
''On rend le classeur visible
xlApp.Visible = True
''On créer l'objet onglet dans le nouveau classeur créé
Set xlSheet = xlBook.Worksheets(1)
''On affecte un nom aux l'onglets
xlSheet.Name = "VISITEURS"
''on libère l'objet onglet pour pouvoir en créer un nouveau
Set xlSheet = Nothing
Set xlSheet = xlBook.Worksheets(2)
xlSheet.Name = "INTERVENANT"
Set xlSheet = Nothing
Set xlSheet = xlBook.Worksheets(3)
xlSheet.Name = "RECEPTIONS"
Set xlSheet = Nothing
Set xlSheet = xlBook.Worksheets(4)
xlSheet.Name = "EXPEDITION"
Set xlSheet = Nothing
'Windows("NewsWorkBook.xls").Activate
'Workbooks("NewsWorkBook.xls").Activate
'ActiveWorkbook.Close savechanges:=True
'Windows("test.xls").Activate
'ActiveWindow.Close savechanges:=True
Workbooks(Nomfichier).Close savechanges:=True
' ActiveWorkbook.save
' Application.DisplayAlerts = False
' ActiveWorkbook.Close
''On remet la propriété de l'application à 3 (par défaut)
xlApp.SheetsInNewWorkbook = 3
' Windows("test.xls").Activate
'ActiveWindow.Close savechanges:=True
'On ferme l'application
'xlApp.Quit
Merci par avance de votre aide.
Cordialement