Correction de code

damien -  
pijaku Messages postés 13513 Date d'inscription   Statut Modérateur Dernière intervention   -
Bonjour,
Voici mon problème, j'ai ecris une macro qui me permet de copier une plage de cellule vers un autre classeur. cependant ceci fonctionne lorsque les deux classeur sont ouvert. mais j'aimerais que la copie puisse se faire même lorsque le classeur d'arriver est fermer . voici ce que j'ai ecris avec votre aide :

Sub copie5()
Workbooks.Open Filename:="C:\Documents and Settings\yomkil01\Mes documents\suivi general du service exploitation.xls"
Workbooks("Rapport Suivi MOS.xls").Sheets("ANNEE").Range("C41:N41").Copy
Workbooks("suivi general du service exploitation").Sheets("tableau de bord mensuel").Range("D41:O41").PasteSpecial Paste:=xlValues
ActiveWorkbook.Save
ActiveWorkbook.Close Filename:="C:\Documents and Settings\yomkil01\Mes documents\suivi general du service exploitation.xls"
ActiveWorkbook.Save
End Sub
lorsque je compile un message d'erreur appataît le voici:
Erreur d'execution 1004
Erreur définie par l'application ou par l'objet
Que faire pour qu'il puisse fonctionner?
merci de vôtre aide
Coordialement
Damien

A voir également:

1 réponse

pijaku Messages postés 13513 Date d'inscription   Statut Modérateur Dernière intervention   2 769
 
Bonjour,
Dur dur d'écrire dans un classeur fermé : un peu de doc à ce sujet
Par contre, tu n'en as pas besoin car ta procédure ouvre puis ferme le classeur "suivi". Par conséquent, inutile qu'il soit déjà ouvert...
Néanmoins, tu dois avoir un souci d'ordre dans ton code, ce qui pose le problème du classeur actif. Essaie comme ceci :
1- Copier la plage de cellule du classeur "rapport"
2- ouvrir le classeur suivi (celui-ci devient ton ActiveWorkBook)
3- Collage spécial valeurs
4- Enregistrement et fermeture du classeur actif (suivi)
5- Sauvegarde du classeur "rapport" (inutile sauf si tu as fait des modifications avant).
Essaie ceci et reviens.
0