Transfert d'une ligne entre 2 classeurs

Bonjour le Forum,

J'ai appliqué la mauvaise macro sur mon classeur (V3) et les valeurs d'un range ("H215:AN215") sont faussées pour certaines feuilles (de la 34 à la 72ème). J'ai une version antérieure du classeur (V2) avec les bonnes valeurs sur cette ligne. Les feuilles ont le même nom et le même numéro dans les 2 classeurs.

Je souhaite copier les valeurs du Range("H215:AN215") pour chaque feuille (entre 34 et 72) de mon classeur V2 et les coller à la même position dans la feuille du même numéro dans le classeur V3.

Ainsi si je prends un exemple:

Je veux que dans Range("H215:AN215") de la feuille ECR (ou Sheets( 34)) de mon classeur V3;

Il y ait la même valeur que dans le Range("H215:AN215") de la feuille ECR (aussi Sheets(34)) de mon classeur V2.

Ceci pour toutes les feuilles 34 à 72.

Mes essais ratés pour le moment (erreur 9):

Set V3 = Workbooks("MAQUETTE TDB APD FRANCAISE full V3.0.xlsm")
Set V2 = Workbooks("MAQUETTE TDB APD FRANCAISE full V2.0.xlsm")
Set MyRange = Range("H215:AN215")

For i = 34 To 72
        V2.Sheets(i).MyRange.Copy
        V3.Sheets(i).Range("H215").PasteSpecial xlPasteValue
Next i

End Sub

En PJ 3 feuilles de mon classeur V2, pour avoir la V3 rentrez des valeurs random dans Range("H215:AN215").

Merci d'avance pour votre aide

8exemple.zip (168.93 Ko)

Bonjour Paretoptimal

As-tu essayé d'activer les Workbooks avant d'essayer de copier ou de coller ? C'est peut-être ça qui bloque...

Set V3 = Workbooks("MAQUETTE TDB APD FRANCAISE full V3.0.xlsm")
Set V2 = Workbooks("MAQUETTE TDB APD FRANCAISE full V2.0.xlsm")
Set MyRange = Range("H215:AN215")

For i = 34 To 72
        V2.Activate
        V2.Sheets(i).MyRange.Copy
        V3.Activate
        V3.Sheets(i).Range("H215").PasteSpecial xlPasteValue
Next i

bonsoir,

avec la ligne :

Set MyRange = Range("H215:AN215")

tu ne précise pas la feuille concernée ... et cela est risque d'erreur , il faut éviter de jouer avec les Activate et autre Select, souvent inutiles...

ton objet MyRange ne me semble pas utile :

..
For i = 34 To 72
        V2.Sheets(i).Range("H215:AN215").Copy
        V3.Sheets(i).Range("H215").PasteSpecial xlPasteValue
Next i
...

Bonjour le forum,

Merci pour vos eux réponses.

J'ai supprimé l'objet MyRange et essayé vos techniques avec et sans "activate".

J'obtiens alors une nouvelle erreur, cette fois ci c'est "1004 erreur d'execution, la methode PasteSpecial de l'objet Range a échoué".

Sur mon fichier V3 dans la feuille 34 j'obtiens une "Image" flottante du Range("H215:AN215") de V2.

Bizarre.

Cependant je ne me débine pas et je tente un PasteSpecial xlAll.... et cela fonctionne (même sans activate)!!!

Merci pour votre aide.

Rechercher des sujets similaires à "transfert ligne entre classeurs"