Copier coller entre 2 fichiers dont un nouvellement ouvert

Bonjour

J'aimerais bien mettre le fichier en CC, toutefois, il est trop gros. Les pros d'ici sauront sûrement trouver le bug dans mon code. J'essai :

1-Récupéré le nom du présent fichier

2-Permettre à l'utilisateur d'ouvrir son "vieux" fichier

3-Commencer le transfert des données du vieux au nouveau

C'est ici que ça plante (la ligne juste avant le msgbox à la fin) avec le message d'erreur 438, Priorité ou méthode non gérée par cet objet. J'ai pourtant bel et bien une feuille dans ce fichier qui a le nom de "Lecture", et ça ne fonctionne pas plus quand je fais LeNouvFichier.sheets(Lecture)....

Avez-vous des idées?

Public Sub MiseAJourOrdi()
'cet outil permet, lorsque j'ai le nouveau fichier, de pouvoir ouvrir l'ancien et copier les données afin de créer le nouveau fichier up to date

'Récupère le nom du présent fichier

    Dim LeNouvFichier As Workbook
    Set LeNouvFichier = ThisWorkbook

'Récupération de l'ancien fichier, demande pour le chercher et l'ouvrir

    Dim pathFichier As String, nomFichier As String, tmpStr() As String
    Dim LeVieuxFichier As Workbook
    'récupérer le fichier (path complet)
    pathFichier = Application.GetOpenFilename

    'ouvrir le fichier, et enregistre son nom dans la variable LeVieuxFichier
    Set LeVieuxFichier = Application.Workbooks.Open(pathFichier)

    LeVieuxFichier.Sheets("feuil1").Range("A1") = "test" 'Ligne inutile mais pour tester si je peux bien sélectionner le bon fichier et ça marche, le code imprime "test" dans le bon fichier.

    'Test de copier coller d'un fichier à l'autre:
    LeNouvFichier.Lecture.Range("A1:C7").Copy Destination:=LeVieuxFichier.Sheets("feuil1").Range("A1")

MsgBox ("allo")

End Sub

Bonjour

Essaie cette instruction :

    LeNouvFichier.Sheets("Lecture").Range("A1:C7").Copy Destination:=LeVieuxFichier.Sheets("feuil1").Range("A1")

Bye !

Ton truc fonctionne, et je t'en remercie. Toutefois les utilisateurs pourront changer le nom des onglets (feuille), et c'est pourquoi je voulais passer par le "Name" de la feuille plutôt que d'aller chercher le nom de la feuille qui risque de changer entre ma programmation et temps où ils utiliseront cette macro

Merci

Nomdefeuille= Sheets(i).Name
LeNouvFichier.Sheets(Nomdefeuille).Range("A1:C7").Copy Destination:=LeVieuxFichier.Sheets("feuil1").Range("A1")

dans ce genre la?

Tabarouette (expression Québécoise qui veut dire un grand étonnement)

Ton idée Zarik, en plus de fonctionner, va même m'aider à accéléré le copier coller grâce à une boucle. C'est fantastique!

Merci beaucoup!

Rechercher des sujets similaires à "copier coller entre fichiers nouvellement ouvert"