Menu

Copier le contenu d'une feuille dans un classeur fermé [Résolu]

muiigisha 61 Messages postés lundi 25 septembre 2017Date d'inscription 6 décembre 2017 Dernière intervention - 13 nov. 2017 à 15:48 - Dernière réponse : muiigisha 61 Messages postés lundi 25 septembre 2017Date d'inscription 6 décembre 2017 Dernière intervention
- 17 nov. 2017 à 16:31
Bonjour,

pour copier le contenu de la feuille d'un des classeurs actifs dans un classeur fermé j'ai utilisé ce code trouvé sur le net et celà marchait très bien jusqu'au moment j'ai lié le classeur en tant que Data base dans power pivot . Lors de la compilation une erreur se produit et je ne comprends pas ce que l'aide me dit , l'erreur dit " Run-time error '1004': PasteSpecial method of range class failed"

Merci d'avance pour votre aide
mon code ci dessous

Workbooks.Open Filename:="C:\Daily_report\COD_Metrics\WorkDataFinal.xlsx"
Windows("WorkDataFinal.xlsx").Activate

Cells.Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
Windows("WorkDataFinal.xlsx").Close savechanges:=True
Application.DisplayAlerts = False
WDte.Close savechanges:=True
Kill ("C:\Daily_report\COD_Metrics\Bookdata.xlsx")


Afficher la suite 

Votre réponse

12 réponses

Meilleure réponse
Patrice33740 6982 Messages postés dimanche 13 juin 2010Date d'inscription 22 juin 2018 Dernière intervention - 13 nov. 2017 à 17:14
1
Merci
Bonjour,

1) ce code est incomplet
2) il n'écrit pas dans un classeur fermé
3) utiliser Activate et Select est une mauvaise méthode
4) le second pastespecial est inutile
5) au lieu de travailler sur toutes les cellules il est préférable de se limite à la plage utilisée (usedrange)
6) plutôt que pastespecial values, utiliser range.value = range.value

Merci Patrice33740 1

Avec quelques mots c'est encore mieux Ajouter un commentaire

CCM a aidé 23868 internautes ce mois-ci

muiigisha 61 Messages postés lundi 25 septembre 2017Date d'inscription 6 décembre 2017 Dernière intervention > Patrice33740 6982 Messages postés dimanche 13 juin 2010Date d'inscription 22 juin 2018 Dernière intervention - 16 nov. 2017 à 15:01
j'ai beau décocher la case en lecture seule mais ça ne change rien. j'ai suivi les conseils de l'aide et de plusieurs forum avec attrib -r +s <chemin de mon dossier>, la commande chmod777, partage avancé , au niveau de la sécurité j'ai mis controle total mais rien n'a changé.

par contre quand je clique sur cancel lors de la crétaion de la copie, j'ai le fichier d'origine (workdatafinal.xlsx) qui s'ouvre et une boite de dialogue affiche read-write /cancel et bien évidemment que je sélectionne read-write dans ce cas ça enregistre bel et bien les modifications que je lui apporte.
Patrice33740 6982 Messages postés dimanche 13 juin 2010Date d'inscription 22 juin 2018 Dernière intervention - 16 nov. 2017 à 23:18
Et les répertoires supérieurs sont-il en R/W ?
muiigisha 61 Messages postés lundi 25 septembre 2017Date d'inscription 6 décembre 2017 Dernière intervention > Patrice33740 6982 Messages postés dimanche 13 juin 2010Date d'inscription 22 juin 2018 Dernière intervention - 17 nov. 2017 à 08:24
Bonjour Patrice,
les répertoires supérieurs sont en mode lecture seule
Patrice33740 6982 Messages postés dimanche 13 juin 2010Date d'inscription 22 juin 2018 Dernière intervention > muiigisha 61 Messages postés lundi 25 septembre 2017Date d'inscription 6 décembre 2017 Dernière intervention - 17 nov. 2017 à 13:46
C'est pour ça que le sous-répertoire ne peut être mis en R/W
muiigisha 61 Messages postés lundi 25 septembre 2017Date d'inscription 6 décembre 2017 Dernière intervention > Patrice33740 6982 Messages postés dimanche 13 juin 2010Date d'inscription 22 juin 2018 Dernière intervention - 17 nov. 2017 à 16:31
mais je n'arrive pas à modifier cet attribut du grand répertoire. Pour l'instant j'arrive à enregistrer les modifications j'espère que ça dure. A moins qu'une solution soit apportée, j'ai essayé des choses mais rien n'a semblé fonctionner. Je me demande si celà a une solution :(
Commenter la réponse de Patrice33740