VBA - Copier/coller d'un classeur à un autre

Bonjour à tous,

j'aimerais copier via un bouton activeX une plage de valeur (et uniquement les valeur) d'une feuille de calcul d'un fichier excel vers une autre feuille de calcul d'un autre fichier excel.

Voici le code que j'ai rentré. Il ne fonctionne pas avec tous les fichier source (j'ai créé le bouton sur plusieurs fichier, vers un unique fichier qui centralise toutes les valeurs).

Je veux copier les valeurs de mon fichier d'origine vers l'onglet IJ Pierre situé dans le fichier "Encadrement 2014"

Private Sub CommandButton1_Click()

Range("Y13:WJ536").Select

Selection.Copy

Windows("ADM - Encadrement 2014.xlsx").Activate

Worksheets("IJ Pierre").Range("Y13").Select

ActiveSheet.Paste

Application.CutCopyMode = False

End Sub

Lorsque je clique sur le bouton, soit il ne se passe rien, soit j'obtiens l'erreur suivante:

erreur d'exécution 9, l'indice n'appartient pas à la sélection, et le débogage surligne la ligne ci dessus. Pourtant le fichier en question est bien ouvert et le même code sur un autre fichier source fonctionne, à confition que l'onglet destination soit actif.

Deuxième point. J'aimerais ne copier que les valeurs, sans la mise en forme.

j'ai tenté de remplacer "ActiveSheet.Paste" par "ActiveSheet.PasteSpecial xlValues", mais ça doit pas être ça^^ une idée?

merci infiniment pour le temps que vous pourrez consacrer à mon problème!!

Bonne journée à vous

Bonjour

Pour le premier point, il faudrait voir avec le fichier concerné, même expurgé de ses données.

Vérifie tout le même si l'extension est bien la même : .xls , .xlsx ou .xlsm

Pour le deuxième point, essaie l'instruction :

ActiveSheet.PasteSpecial xlPasteValues

Bye !

Rechercher des sujets similaires à "vba copier coller classeur"