Copier une feuille d'un classeur dans un autre

Bonjour,

Je sais que ma question est toute bête probablement, mais je ne comprends pas pourquoi le code suivant ne marche pas :

 Workbooks("Fichier1" & Dates & ".xls").Columns.Copy  Workbooks("Fichier2.xlsm").Worksheets("Feuil1").Columns(2)

Je précise que Dates est une variable que je récupère avant (elle marche tout à fait), et que les deux classeurs sont ouverts.

Je voudrais (tout bêtement?) copier toute le classeur Fichier1 (qui ne contient qu'une seule feuille) dans le classeur Fichier2, feuille Feuil1 à partir de sa seconde colonne.

Pourtant, je ne comprends pas pourquoi ça ne marche pas.

Quelqu'un pourrait-il m'aider ?

Merci beaucoup d'avance !

Bonjour

Tu essaies de copier 16 384 colonnes (Columns) dans 16 383 colonnes : 16 384 - 1 ( tu veux recopier à partir de la colonne B)

Il faut préciser la source

Essayes

Workbooks("Fichier1" & dates & ".xls").Sheets(1).Columns.Copy Workbooks("Fichier2.xlsm").Worksheets("Feuil1").Columns(1)

Bonjour Banzai64,

Tout d'abord, merci pour l'accueil dans le forum

Dans le même esprit, si je veux supprimer tout le contenu de ma feuille (excepté la colonne 1), je dois écrire le code suivant ?

 Worksheets("Feuil1").Columns(1).Clear

ou alors n'existe-t-il pas de moyen de le faire sans compter d'abord combien j'ai de colonnes dans mon tableau ? (et ensuite de demander de supprimer entre les colonnes 2 et N)

merci,

Bonjour

Worksheets("Feuil1").Columns(1).Clear

Dans ce cas tu ne supprimes que la colonne 1

grm a écrit :

ou alors n'existe-t-il pas de moyen de le faire sans compter d'abord combien j'ai de colonnes dans mon tableau ?

Oui

Un fichier avec ce que tu as et ce que tu veux permettra de mieux préciser la réponse

Bonjour,

J'avais réussi à me débrouiller finalement avec le code ci-dessous, mais je ne comprends pas... Hier mon code marchait très bien, mais à présent, il bug systématiquement quand je lance mon programme à cette ligne-ci :

Workbooks("Fichier1").Sheets(1).Range("A:AI").Copy Workbooks("Fichier2").Worksheets("Feuille1").Columns(2)  

Quelqu'un en comprendrait-il la raison ?

J'ai essayé de changer "Columns(2)" par "Range((B:AJ"), mais ça pose toujours problème et je ne sais pas du tout pourquoi ...

PS : Autre chose étrange, j'ai l'impression que mon code colle par défaut les valeurs et non les formules (ce que je voulais, mais je n'avais pas réfléchi sur le moment). Est-ce normal ? (je croyais qu'il fallait utiliser PasteSpecial...)

Bonjour

Modifies ton code

Workbooks("Fichier1").Sheets(1).Columns("A:AI").Copy Workbooks("Fichier2").Worksheets("Feuille1").Columns(2)

Même en modifiant mon code, ça ne marche toujours pas.

Excel me dit : "L'indice n'appartient pas à la sélection".

Savez-vous pourquoi ?

Bonjour

Sans fichier pas évident

Vérifies que ton fichier comporte bien la page "Feuille1"

marques les extensions des noms des fichiers

Si pas ça

J'ai trouvé finalement.

Un problème de filtre (qui n'avait donc rien à voir avec vba)...

Merci quand même

Rechercher des sujets similaires à "copier feuille classeur"