VBA excel copier coller Bugg ou Non ?

aurelie76 Messages postés 88 Statut Membre -  
lermite222 Messages postés 9042 Statut Contributeur -
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.
Configuration: Windows XP
Mozilla 1.6

9 réponses

  1. lermite222 Messages postés 9042 Statut Contributeur 1 199
     
    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
    1. aurelie76 Messages postés 88 Statut Membre 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
  2. plubarj Messages postés 103 Statut Contributeur 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
    1. aurelie76 Messages postés 88 Statut Membre 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
  3. plubarj Messages postés 103 Statut Contributeur 6
     
    Tu as quelle version d'Excel?
    Sur Office 2K3 ça fonctionne nickel.
    0
    1. aurelie76 Messages postés 88 Statut Membre 3
       
      je suis sous office 97
      0
      1. plubarj Messages postés 103 Statut Contributeur 6 > aurelie76 Messages postés 88 Statut Membre
         
        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
  4. 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
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. 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
    1. 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
  7. 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
    1. aurelie76 Messages postés 88 Statut Membre 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
  8. gbinforme Messages postés 14930 Date d'inscription   Statut Contributeur Dernière intervention   4 744
     
    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
  9. 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
  10. lermite222 Messages postés 9042 Statut Contributeur 1 199
     
    l'erreur 9 c'est un problème dans une déclaration de variable ou de tableau.
    A+
    0