VBA excel copier coller Bugg ou Non ?

aurelie76 Messages postés 88 Date d'inscription   Statut Membre Dernière intervention   -  
lermite222 Messages postés 8724 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,

Désolé je me suis trompé de plate forme et je ne sais pas la rééditer sur la plate forme programmation ?

Après des heures de recherches sur les forums , quelqu'un peut-il me dire si oui ou non il est possible de copier des cellules d'une feuille d'un classeur X et de les copier sur une feuille d'un autre classeur Y en codant en VBA. Bcp de personne se posent cette question, et n'obtiennenent pas de réponse. Et toujours les mêmes interrogations, "erreur 1004" comme message.

voici le code :

Fichier = Application.GetOpenFilename
Workbooks.Open Fichier
Sheets(1).Select
Selection.Copy

Windows("Fiche_d'entretien_OSP_2008_1.xls").Activate
Sheets(2).Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
Range("C6").Select

et rien ne se passe ......

Merci à tous pour votre aide,

aurelie.
A voir également:

9 réponses

lermite222 Messages postés 8724 Date d'inscription   Statut Contributeur Dernière intervention   1 191
 
bonjour,
si j'ai bien compris il faut copier une feuille d'un autre classeur...
    Sheets("Feuil1").Copy Before:=Workbooks("AutreClasseur.xls").Sheets(1)

A+
1
aurelie76 Messages postés 88 Date d'inscription   Statut Membre Dernière intervention   3
 
Bonsoir Lermitte222,

Merci c'est la bonne instruction, j'ai fini de coder cette partie là, et je planche sur une autre partie qui pose pb d'erreur 9.
Merci bcp pour ton aide incomensurable........bisous aurelie
0
plubarj Messages postés 101 Date d'inscription   Statut Contributeur Dernière intervention   6
 
Hello Aurelie
Peut-être ai-je mal compris, mais un truc comme ça ne convient-il pas?
Sub CopyToOtherFile()
    Selection.Copy
    Workbooks.Open "Book1.xls"
    Windows("Book1.xls").Activate
    Sheets(2).Select
    Range("C6").Select
    ActiveSheet.Paste
End Sub
--
Plubarj Tumeur
0
aurelie76 Messages postés 88 Date d'inscription   Statut Membre Dernière intervention   3
 
MErci pour ton aide, mais c'est bien ça le problème, ca met une erreur 1004, impossible de coller une feuille d'un classeur vers une feuille d'un autre classeur, ca parait incroyable tellement la routine est basique ????? je comprend pas que µsoft est laissé un bugg pareil, il doit bien y avoir un moyen !

merci pour ton aide,

aurelie.
0
plubarj Messages postés 101 Date d'inscription   Statut Contributeur Dernière intervention   6
 
Tu as quelle version d'Excel?
Sur Office 2K3 ça fonctionne nickel.
0
aurelie76 Messages postés 88 Date d'inscription   Statut Membre Dernière intervention   3
 
je suis sous office 97
0
plubarj Messages postés 101 Date d'inscription   Statut Contributeur Dernière intervention   6 > aurelie76 Messages postés 88 Date d'inscription   Statut Membre Dernière intervention  
 
Oups, alors là je peux plus rien faire. J'ai encore quelqes PC avec Office 2000, mais 97...
Peut-être quelqu'un d'autre pourra t'aider?
0
amigo
 
Bonjour,

essaie avec ce code

Fichier = Application.GetOpenFilename
Workbooks.Open Fichier
Sheets(1).Select
Cells.Select
Selection.Copy

'Windows("Fiche_d'entretien_OSP_2008_1.xls").Activate
Windows("Fiche_d'entretien_OSP_2008_1").Activate
Sheets(2).Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
Range("C6").Select

A+.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
amigo
 
RE

Peut-etre il faut aussi ajouter cette ligne

Fichier = Application.GetOpenFilename
Workbooks.Open Fichier
Sheets(1).Select
Cells.Select
Selection.Copy

'Windows("Fiche_d'entretien_OSP_2008_1.xls").Activate
Windows("Fiche_d'entretien_OSP_2008_1").Activate
Sheets(2).Select
Range("A1").Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
Range("C6").Select
0
aurelie76
 
Merci Amigo,

je ne sais pas ce qui se passe, c'est pourtant le BAba d'excel de faire du copier coller et le code n'est pas compliqué, et ca ne fonctionne tjs pas, et sur le pc au job pareil ? franchement, c'est décourageant, je passe un temps infini pour faire marcher cette routine pour rien au bout ..... et je n'arrive pas à contourner le problème, passer par une autre méthode mais je vois pas comment ajouter une feuille d'un classeur vers un autre classeur sans passer par un copier coller ?
merci quand même à tous pour votre aide précieuse.

bisous, aurelie
0
amigo
 
bonjour,

Ton classeur ne serait-il pas protégé ou les macros désactivés? A mon avis, c'est une histoire de protection. je ne vois pas d'autres explications.

Si tu veux qu'on examine tes fichiers , fait un Zip et mets les sur https://www.cjoint.com/
Et n'oublie pas de poster le lien.

A+.
0
aurelie76 Messages postés 88 Date d'inscription   Statut Membre Dernière intervention   3
 
Bonjour Amigo,

désolé pour le retard mais j'ai refait mon code, et je tombe tjs sur la même erreur 1004, vraiment je ne vois pas ce qui bloque, je joins à mon post le lien pour que tu puisses regarder si tu as le temps ..... https://www.cjoint.com/?fliRh4tInE

j'explique mon appli. : sur la feuille volume et couts j'ai mis deux boutons insérer fichier et supprimer fichier, quand je clique sur insérer fichier j'ouvre l'arboresence pour choisir mon fichier .xls (exclusivement), sur la feuille volume et couts, je créé une icone qui me sert à faire le lien pour rappeller le fichier choisi dans l'arborescence que je veux insérer dans la feuille volume et couts mais je n'arrive pas à copier la feuille choisi donc je ne peux pas aller plus loin. le bouton supprimer fonctionne. Le code n'est pas achevé naturellement car je n'ia pas gérer les erreurs (plus tard quand j'aurai résolu ce pb mais vraiment je désespère)......
merci pour ton aide, mais j'ai lu dans plusieurs forum que ce problème était connu mais personne ne dit comment le contourner ?

merci encore, bisous, aurelie.
0
gbinforme Messages postés 14946 Date d'inscription   Statut Contributeur Dernière intervention   4 724
 
bonjour

Je te propose de remplacer
    Workbooks("buffer.xls").Activate ' feuille buffer active
     Sheets(1).Select   ' selection feuille 1
    Range("A1").Select 'selection cellule (1,1) error 1004
   Cells.Select
    Selection.Copy  ' copie des cell selectionnées

par
Workbooks("buffer.xls").Activate ' feuille buffer active
     Workbooks("buffer.xls").Sheets(1).Cells.Copy  ' copie des cell selectionnées


ou en plus facile à manipuler
dim wb as worksheet
set wb = Workbooks("buffer.xls")
 wb.Sheets(1).Cells.Copy 
0
amigo
 
Bonjour,

Voila comment j'ai contourné le problème. J'ai tout simplement extrait le code qui copie la feuille, vers une macro distincte dans une module.

Code te ta macro:
Private Sub insérer_Click()
  MsgBox "confirmer insérer fichier : ?", vbYesNo
  

 Fichier = Application.GetOpenFilename
Workbooks.Open Fichier   'ouverture arborescence

 ChDir "C:\Documents and Settings\All Users\"
 ActiveWorkbook.SaveAs Filename:= _
"C:\Documents and Settings\All Users\buffer.xls", _
FileFormat:=xlNormal, Password:="", WriteResPassword:="", _
ReadOnlyRecommended:=False, CreateBackup:=False  'sauvegarde as

 ' MsgBox Workbooks(ActiveWorkbook.Name).FullName chemin accès: facultatif
 
Workbooks("Fiche_d'entretien_OSP_2008bis.xls").Activate  ' fiche OSP active
  Sheets(5).Select
  
  
  '******* copier coller icone
  
    Selection.Name = "Logo"
    Selection.Copy
    Sheets("Volume et couts").Select
    Range("A1").Select
    ActiveSheet.Paste
    Selection.ShapeRange.IncrementLeft 190
    Selection.ShapeRange.IncrementTop 120
    Range("A1").Select
    Range("A2").Select
    
   Call Insere_Buffer

    ' ensuite il faut que je fasse le lien de la feuille 2 sur l'icone insérée
    ' et la gestion des erreurs
End Sub


Et voici la macro Insere_Buffer() à coller dans un module
Sub Insere_Buffer()
    Windows("buffer.xls").Activate ' feuille buffer active
    Sheets(1).Select   ' selection feuille 1
    Cells.Select
    Selection.Copy  ' copie des cell selectionnées
    Windows("Fiche_d'entretien_OSP_2008bis.xls").Activate ' selection fiche OSP
    Sheets("Feuil2").Select
    Range("A1").Select ' selection feuille 2
    ActiveSheet.Paste ' coller les cells copier
    Range("A1").Select
End Sub


Bonne continuation...
0
lermite222 Messages postés 8724 Date d'inscription   Statut Contributeur Dernière intervention   1 191
 
l'erreur 9 c'est un problème dans une déclaration de variable ou de tableau.
A+
0