Vba excel active workbooks
Résolu
aurelie76
Messages postés
88
Date d'inscription
Statut
Membre
Dernière intervention
-
aurelie76 Messages postés 88 Date d'inscription Statut Membre Dernière intervention -
aurelie76 Messages postés 88 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
j'ai un soucis avec mon code, j'ai une erreur d'excécution 9 lorsque je veux delete un classeur appellé par une variable
voici le code :
....
Fichier = Application.GetOpenFilename
Workbooks.Open Fichier 'ouverture arborescence
classeur1 = ActiveWorkbook.Name
'MsgBox classeur1
Workbooks("classeur1.xls").Delete
....
à l'instruction Workbooks("classeur1.xls").Delete, j'ai l'indice n'appartient pas à la sélection ?
quelqu'un peut-il m'aider, merci,
aurelie
j'ai un soucis avec mon code, j'ai une erreur d'excécution 9 lorsque je veux delete un classeur appellé par une variable
voici le code :
....
Fichier = Application.GetOpenFilename
Workbooks.Open Fichier 'ouverture arborescence
classeur1 = ActiveWorkbook.Name
'MsgBox classeur1
Workbooks("classeur1.xls").Delete
....
à l'instruction Workbooks("classeur1.xls").Delete, j'ai l'indice n'appartient pas à la sélection ?
quelqu'un peut-il m'aider, merci,
aurelie
A voir également:
- Activeworkbook
- Liste déroulante excel - Guide
- Word et excel gratuit - Guide
- Déplacer colonne excel - Guide
- Si ou excel - Guide
- Excel compter cellule couleur sans vba - Guide
7 réponses
Bonjour,
essayer comme ceci :
Lupin
essayer comme ceci :
Option Explicit Private Sub insérer_Click() Dim Sh As Worksheet Dim classeur2 As String, classeur1 As String Dim nom1 As String, wb As Workbook MsgBox "confirmer insérer fichier : ?", vbYesNo ' n.b. Éviter les accents de la langue française ' dans les instruction même si celle-ci sont des ' noms de fonctions ou routine que vous avez créé. insérer.Enabled = False Fichier = Application.GetOpenFilename Workbooks.Open Fichier 'ouverture arborescence classeur1 = ActiveWorkbook.FullName 'MsgBox classeur1 For Each Sh In Workbooks(classeur1).Worksheets Workbooks(classeur1).Sheets(Sh.Name).Copy _ After:=Workbooks("Fiche_d'entretien_OSP_2008ter.xls").Sheets(5) Next Sh ' MsgBox classeur1 Workbooks(classeur1).Activate Workbooks(classeur1).Close Kill classeur1 End Sub '
Lupin
Bonjour,
Pas clair du tout...
Fichier = Application.GetOpenFilename
Workbooks.Open Fichier 'ouverture arborescence
'Ici je suppose que tu veux renommer le classeur 1, mais c'est pas possible d'avoir 2 classeurs du même nom dans la même instance d'excel !!
'Donc, plutôt que de renommer classeur1; le supprimé
'classeur1 = ActiveWorkbook.Name
'Delete n'est pas une action valable, si tu veux fermer...
workbooks("Classeur1").Close
pour avoir le 'path' d'un classeur il faut qu'il ai déjà été sauver sur le DD idem pour FullName
chemin = ActiveWorkbook.FullName
A+
Pas clair du tout...
Fichier = Application.GetOpenFilename
Workbooks.Open Fichier 'ouverture arborescence
'Ici je suppose que tu veux renommer le classeur 1, mais c'est pas possible d'avoir 2 classeurs du même nom dans la même instance d'excel !!
'Donc, plutôt que de renommer classeur1; le supprimé
'classeur1 = ActiveWorkbook.Name
'Delete n'est pas une action valable, si tu veux fermer...
workbooks("Classeur1").Close
pour avoir le 'path' d'un classeur il faut qu'il ai déjà été sauver sur le DD idem pour FullName
chemin = ActiveWorkbook.FullName
A+
Esssaye de mettre le chemin complet.
E.g. C:\DossierDeTravail\Classeur1.Xls)
Qui plus est, avant d'effacer ton fichier, ferme le.
E.g. C:\DossierDeTravail\Classeur1.Xls)
Qui plus est, avant d'effacer ton fichier, ferme le.
bonjour dandypunk,
le pb c'est que je ne connais pas l'instruction ou la ligne de commande pour récupérer le chemin d'accès, je sais l'afficher dans un msgbox mais comment la récupérer pour l'insérer dans le code ? si tu connais cette instruction merci.
aurelie76
le pb c'est que je ne connais pas l'instruction ou la ligne de commande pour récupérer le chemin d'accès, je sais l'afficher dans un msgbox mais comment la récupérer pour l'insérer dans le code ? si tu connais cette instruction merci.
aurelie76
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Dandypunk,
j'ai tourné le path dans tous les sens mais je n'obtiens pas le résultat souhaité. Je continue à chercher, merci pour tes conseils et aide,
aurelie
j'ai tourné le path dans tous les sens mais je n'obtiens pas le résultat souhaité. Je continue à chercher, merci pour tes conseils et aide,
aurelie
Bonjur Lermitte,
Merci de me venir en aide une fois de plus, en fait, de mon classeur principal j'ouvre l'arborescence de mon C:\ et je choisis n'importe quel document xls de C et j'insère les feuilles de ce document dans mon classeur principal. Les deux classeurs sont donc ouverts : le principale et le classeur choisi sous C:\. Une fois laes feuilles insérées dans le doc principal, je veux fermer le classeur "choisi"
Private Sub insérer_Click()
Dim Sh As Worksheet
Dim classeur2 As String
Dim classeur1 As String
Dim nom1 As String
Dim wb As Workbook
MsgBox "confirmer insérer fichier : ?", vbYesNo
insérer.Enabled = False
Fichier = Application.GetOpenFilename
Workbooks.Open Fichier 'ouverture arborescence
classeur1 = ActiveWorkbook.Name
'MsgBox classeur1
For Each Sh In Workbooks(classeur1).Worksheets
Workbooks(classeur1).Sheets(Sh.Name).Copy After:=Workbooks("Fiche_d'entretien_OSP_2008ter.xls").Sheets(5)
Next Sh
' MsgBox classeur1
Workbooks("classeur1.xls").Activate
Workbooks(classeur1).Close
et j'ai une erreur excécution 9 (l'indice n'appartient pas à la sélection.
c'est plus compliqué que je croyais BVA, merci pour tes conseils sur les instructions.
aurélie.
Merci de me venir en aide une fois de plus, en fait, de mon classeur principal j'ouvre l'arborescence de mon C:\ et je choisis n'importe quel document xls de C et j'insère les feuilles de ce document dans mon classeur principal. Les deux classeurs sont donc ouverts : le principale et le classeur choisi sous C:\. Une fois laes feuilles insérées dans le doc principal, je veux fermer le classeur "choisi"
Private Sub insérer_Click()
Dim Sh As Worksheet
Dim classeur2 As String
Dim classeur1 As String
Dim nom1 As String
Dim wb As Workbook
MsgBox "confirmer insérer fichier : ?", vbYesNo
insérer.Enabled = False
Fichier = Application.GetOpenFilename
Workbooks.Open Fichier 'ouverture arborescence
classeur1 = ActiveWorkbook.Name
'MsgBox classeur1
For Each Sh In Workbooks(classeur1).Worksheets
Workbooks(classeur1).Sheets(Sh.Name).Copy After:=Workbooks("Fiche_d'entretien_OSP_2008ter.xls").Sheets(5)
Next Sh
' MsgBox classeur1
Workbooks("classeur1.xls").Activate
Workbooks(classeur1).Close
et j'ai une erreur excécution 9 (l'indice n'appartient pas à la sélection.
c'est plus compliqué que je croyais BVA, merci pour tes conseils sur les instructions.
aurélie.
Merci pour tous vos conseils super précieux, sans vous j'y serais encore, félicitations pour vos connaissances et expériences dans ce domaine, on a besoin de personnes comme vous sur ce site.
Consciente de vous avoir accaparés, je vous réitère encore tous mes remerciements.
bisous à tous, aurélie.