WorBooks.close et erreur d'execution 9

rudyl

XLDnaute Nouveau
Bonjour,

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
 

Dranreb

XLDnaute Barbatruc
Re : WorBooks.close et erreur d'execution 9

Bonjour.
Sais pas. Peut être un problème d'extention ".xls" ajouté automatiquement lors du SaveAs et qui ferait que ce classeur a un nom avec extension différent de celui contenu dans la variable Nomfichier. Pourquoi ne faites vous pas tout simplement:
VB:
xlBook.Close savechanges:=True
À +
 

Discussions similaires

Statistiques des forums

Discussions
312 211
Messages
2 086 299
Membres
103 173
dernier inscrit
Cerba95