Explication

Bonjour,

Sheets("A").Range("AB6:AC1000").Copy Sheets("B").Range("J6:K10000")

comme vous voyez j ai un range de j6:K10000 mais moi je evux qu'il prend de j6 jusqu'a la derniere cellule k dont je la connait pas, et c est pourcela j ai mis 10000, ma question est comment selectionne du j6 jusqu a la derniere cellule de k ( row k peut contenir des cellules vides)

Merci,

Bonjour,

Je pense que tu n'as pas besoin de définir la plage de destination pour copier/coller car on connait la dimension de la plage copiée. Il suffit d'indiquer la première cellule de destination de collage. Dans ton cas, la plage à copier correspond à un rectange de deux colonnes qui s'étend à 995 lignes. Je te propose ceci comme solution :

Sheets("A").Range("AB6:AC1000").Copy Sheets("B").Range("J6")

Teste et dis-nous si le résultat te convient.

NB : Je pense que tu as décidé de te former en VBA. C'est bien. Essaye quand même d'être curieux et regarde les aides déjà proposées gratuites et les sujets qui ont déjà traités

Bonjour,

j et k sont deux colonnes ki contiennent des informations, et moi je veux faire une copie de j6 jusqu a k... ( ... signifient jusqu a la derniere cellule utilise de la colonne k)

Merci,

Re,

Je pense que même si on choisi une plage de collage, si cette plage est plus grande en dimension par rapport à la plage de copie il restera les données en dehors de données copiées. Parceque le collage effectuera sur un bloc identique que la copie et n'effacera pas le bloc de cellules de destination et gardera les autres données des cellules de destination. Je pense qu'il faut d'abord vider la plage de collage déjà remplie et coller après. Il y sûrment d'autres possibilités que je ne vois pas pour le moment. Les spécialistes VBA te donneront un coup de main plus adapté à ta demande.

Pour l'instant la solution que je propose est la suivante :

Sheets("B").Range("J6:K" & Range("K" & Application.Rows.Count).End(xlUp).Row).ClearContents
Sheets("A").Range("AB6:AC1000").Copy Sheets("B").Range("J6")

Bonjour el ayoubi,

Ce que tu ne sembles pas avoir compris, c’est que c’est la plage copiée qui conditionne la dimension de la plage collée.

Si tu copies AB6:AC1000 et que tu colles en J6, la plage collée sera J6:K1000.

Si tu copies AB6:AC20 et que tu colles en J6, la plage collée sera J6:K20.

Si tu souhaites limiter la plage collée, il faut limiter la plage copiée (en fonction éventuellement d’une butée fixée par la plage de collage).

A+

Salut Raja.

EDIT : correction plage collée J6:K1000 suite à observation de Raja.

Salut frangy,

frangy a écrit :

Si tu copies AB6:AC1000 et que tu colles en J6, la plage collée sera J6:K10000.

Je penses que tu voulais dire J6:K1000. Je précise car notre ami commun débute et il a besoin d'être rassuré.

Oups ! C'est corrigé.

A+

Rechercher des sujets similaires à "explication"