Boucle Copier/Coller Colonne

Bonjour,

Je cherche a créer une boucle me permettant de copier un certain nombre de lignes d'une colonne i et de la coller sur le même emplacement sur une autre Feuille.

J'aimerais copier les lignes 1 à 651 de ma Colonne i mais j'obtiens toujours un message d'erreur lorsque je cherche a utiliser Range. Je pense juste avoir la mauvaise syntaxe pour cette fonction range.

Ca ressemblerait à ça:

For i = 3 To 6

Sheets("Feuil1").Select

Range("1" & i, "651" & i).Select

Selection.Copy

Sheets("Feuil2").Select

Range("1" & i, "651" & i).Select

Selection.Paste

En gros mon problème c'est la syntaxe de range pour une boucle For...Next

Merci d'avance pour votre aide!

Salumanu

Bonjour,

Si c'est pour coller des colonnes (qui se suivent en plus) sur les mêmes autres colonnes mais d'une autre feuille, je ne vois pas l'intérêt d'une boucle ?

Sheets("Feuil1").Range("C1:F651").Copy
    Sheets("Feuil2").Activate
    Range("C1").Select
    ActiveSheet.Paste
    Application.CutCopyMode = False

Ce code suffit amplement

Sinon une syntaxe plus fonctionnelle serait

Range(Cells(1,i),Cells(651,i)).select

Car de toute façon boucle ou pas la syntaxe de ton range n'est pas bonne telle que tu l'as écrite.

Tu as la lettre de lacolonne puis le numéro de ligne et non l'inverse comme tu as fait, ce qui aurait donné :

Range(i & "1:" & i & "651").copy 

sauf qu'en executant , le code se serait trouvé être :

Range(3&"1:"&3&"651")

ce qui est incompréhensible pour excel car il attend une lettre et non un chiffre, donc si on ne veut pas s'amuser à passer par une fonction supplémentaire pour retrouver à quelle lettre correspond ton "i", il faut passer par les "Cells(x,x)" qui eux fonctionnent avec le numéro de colonne et non la lettre.

Cordialement,

Tout d'abord Merci infiniment pour votre explication,

Si je cherche a faire ceci c'est qu'il s'agit juste d'une étape de ma macro. En effet la feuille sur laquelle je vais coller ma colonne va changer a chaque tour de ma boucle. L’intérêt de cette manœuvre est de copier plus de 260 colonnes sur 260 fichiers (feuilles correspondants)

Grace a la syntaxe que vous m'avez conseillée je peux finalement sélectionner les cellules qu'il me faut, cependant je rencontre un message d'erreur lors du collage.

(içi je regle la boucle sur 1 seul tour puisque le mécanisme de changement de feuille n'est pas encore construit, donc le collage sera réalisé sur la colonne C))

For i = 3 To 3

Range(Cells(1, i), Cells(651, i)).Select

Selection.Copy

Sheets("Feuil1").Select

Range("C1: C651").Select

Selection.Paste (erreur: proprieté ou méthode non gerée par cet objet)

Next

Le message d'erreur apparaît peut importe la destination du collage, je pense que le problème viens de la méthode employée, mais je ne vois pas d'où.

Merci encore pour votre aide!

Salumanu

Je vais surement dire une bétise mais pour moi ce qui me paraitrait logique :

Tu lui demandes Selection.Paste (ce qui veut dire coller la selection) sauf qu'entre le moment où tu as copié ta selection et le moment de ton collage, tu as effectué 2 autres instructions "Select" et donc je pense que la "Selection" copiée, n'est plus en mémoire.

Essais avec :

ActiveSheet.Paste

Cordialement,

Super ça marche! Merci beaucoup!

J'avais aussi pensé a ce type de problème mais quand j'ai lancé la macro pas à pas les deux sélections s'affichaient bien sur les cellules.

Merci encore!

Salumanu

Après c'est possible que cela ne soit pas la raison du message mais bien une erreur de syntaxe ^^

Bonne fin de journée

Rechercher des sujets similaires à "boucle copier coller colonne"