Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

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
À +
 

Efgé

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

Bonjour rudyl, Dranreb. Pourquoi créer une application excel ? Une proposition dans le classeur. Cordialement
 

Pièces jointes

  • rudyl.xls
    24 KB · Affichages: 68

rudyl

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

Bonjour à vous.

En effet Efgé cela est plus perspicace et au moins fonctionne.
Je n'avais pas l'habitude de procéder ainsi.

Je te remercie par avance.

Cordialement,
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…