Création
d'entreprise
Posez votre question Signaler

VBA Excel Copie feuille dans autre classeur [Résolu]

Infest - Dernière réponse le 28 avril 2011 à 12:08
Bonjour,
Je cherche à faire une macro qui, en cliquant sur un bouton Archivage, créer une copie de sauvegarde de cette page dans un autre classeur (dont on obtient l'emplacement via Application.GetOpenFilename).
Mais ça marche pas
en supposant que "Fichier" contient l'emplacemment du fichier d'archivage :
Fichier = "C:\Archivage.xls"
Planning2008 est la feuille à copier, et dans laquelle se trouve le bouton Archivage
Je fais :
Private Sub Ok_Click()
Sheets("Planning2008").Copy After:=Workbooks(Fichier).Sheets(xlLast)
Unload UserForm4
End Sub
mais il me met une erreur dans la ligne (L'indice n'appartient pas à la sélection)
Une idée? Une méthode différente?
Merci
Lire la suite 

VBA Excel Copie feuille dans autre classeur »

8 réponses
Réponse
+17
moins plus
apres test cela marche avec ca

Private Sub CommandButton1_Click()
Var_Chemin = "D:\Perso_JDC\Classeur2.xls"
Fichier1 = ActiveWorkbook.Name
Workbooks.Open Var_Chemin, 0, ReadOnly:=False
Fichier2 = ActiveWorkbook.Name
Workbooks(Fichier1).Sheets("Feuil1").Copy Before:=Workbooks(Fichier2).Sheets("Feuil3")
End Sub


tu n'as plus qu'à adapter a ton cas
Infest - 4 juil. 2008 à 15:44
aaaaah ça fait plaisir...
Merci!

Et juste un petit détail en plus : pour que la nouvelle page se place en dernière position tu fais comment?
Ajouter un commentaire
Réponse
+4
moins plus
normalement il faut mettre "after" mais cela ne marche pas chez moi alors la seul solution je pense c'est de faire un worksheet.add mais pas la motive de tester
Infest - 4 juil. 2008 à 16:00
mouais ça ira comme ça je ne vais pas me prendre la tête...

en tout cas merci beaucoup c'était cool de m'aider
Ajouter un commentaire
Réponse
+1
moins plus
"L'indice n'appartient pas à la sélection" : cela ceut dire que tu dois activer le fichier source avant de copier la feuille; et l'ouvrir si ce n'est pas fais
Ajouter un commentaire
Réponse
+1
moins plus
Ca ne fonctionne pas. J'ai essayé en activant le fichier cible, en l'ouvrant, ou les deux :

(Source = fichier source, Fichier = Fichier cible)

Workbooks.Open Filename:=Fichier
Windows(Fichier).Activate
Workbooks(Source).Sheets("Planning2008").Copy After:=Workbooks(Fichier).Sheets(xlLast)

Si je fais ça, ça me met l'erreur pour la 2ème ligne. Si je ne la mets pas, l'erreur est due à la suivante.

Ce n'est pas possible de copier une page dans un autre classeur sans l'ouvrir (l'autre)?
Ajouter un commentaire
Réponse
+0
moins plus
dr
Ajouter un commentaire
Réponse
+0
moins plus
Pour ne plus avoir l'erreur, essaye :
Workbooks(Source).Sheets("Planning2008.xls").Copy After:=Workbooks(Fichier).Sheets(xlLast) 
Ajouter un commentaire
Ce document intitulé « VBA Excel Copie feuille dans autre classeur » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
Passage au tout numérique : quel coût pour les particuliers ?