VBA> Coller une plage de cellules sur Excel

Bonjour à tous

Je refais appel à vous car je ne comprends pas la fonction "coller".

Je souhaite réaliser un programme qui permet d’insérer au dessus de ma case sélectionnée une plage de données (imaginons du 4x4) que j'ai sur une feuille sur une autre feuille.

Pour ce, j'insère 4 lignes au dessus

ensuite je copie ma plage

je sélectionne les 4 nouvelles lignes

et je colle ma plage

Mais le problème c'est que j'ai une erreur concernant la fonction paste. Quelqu'un sait d'où ça peut venir ??

Sub insertion()

Dim LigneActive As Integer, ColonneActive As Integer, FeuilleActive As Worksheet

Dim i As Integer

ColonneActive = ActiveCell.Column

LigneActive = ActiveCell.Row

For i = 0 To 3

ActiveCell.EntireRow.Insert

'ActiveCell.Insert shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove

Next i

LigneActive = ActiveCell.Row

ColonneActive = ActiveCell.Column

Sheets("tableau").Range("J11:AT17").Copy

ActiveSheet.Range(Cells(28, 1), Cells(34, 37)).Select

''ActiveSheet.Range(Cells(3, 4), Cells(11, 5)).Select

Selection.MergeCells = True

Selection.Paste

Bonjour,

essaie simplement

ActiveSheet.Paste

Salut, j'ai essayé mais ca ne marche pas, je me retrouve avec une erreur 1004, c'est pareil si je fais un pastespeciale

Alors que si je le fais à la main, ça fonctionne !

Bonjour, Salut Steelson !

Quelque peu alambiqué ton code !

Je pense que tu peux essayer ceci, et éventuellement fournir les explications complémentaires que tu as omis d'indiquer...

Sub insertion()
    Dim Cel0 As Range
    Set Cel0 = ActiveCell
    Cel0.Resize(4).EntireRow.Insert
    Sheets("tableau").Range("J11:AT17").Copy Cel0.Offset(-4)
End Sub

Cordialement.

Bonjour,

je pense qu'il y a un problème de raisonnement au moment du collage :

Pour ce, j'insère 4 lignes au dessus

et je colle ma plage [u] là non

[/u]

On sélectionne une cellule pas une plage dans la nouvelle feuille à partir de laquelle on va coller.

( fonction past)

Si vous avez copié une plage de 4/4 il n'y a pas besoin de lui dire que vous voulez le recoller dans une plage de 4/4

il sait déjà que la plage est de 4/4 ce qu'il veut savoir c'est à partir de qu'elle cellule il doit démarrer le collage.

Le plus simple est d'enregistrer une macro comme çà vous pouvez voir par la suite le code utilisé.

Cordialement.

Bonjour Xmenpl, MFerrand et Steelson ,

Je vous remercie pour la précision et la qualité de vos réponses, le code de Xmenpl est celui que je cherchais. Un grand merci !

EDIT : Je parlais en fait du code de MFerrand

je sélectionne les 4 nouvelles lignes

et je colle ma plage là non

FAUX ! Le fait que désigner la cible du collage par la cellule supérieure gauche de la plage soit plus avantageux et évite des erreurs, n'implique nullement que le collage ne fonctionnerait pas en sélectionnant toute la plage cible.

NB- Paste (et non past) est une méthode de l'objet Worksheet, pas une fonction.

edit: gametexxx, tu m'inquiètes, quel est donc ce code de Xmenpl, dont je ne vois pas la moindre trace ?

je sélectionne les 4 nouvelles lignes

et je colle ma plage là non

FAUX ! Le fait que désigner la cible du collage par la cellule supérieure gauche de la plage soit plus avantageux et évite des erreurs, n'implique nullement que le collage ne fonctionnerait pas en sélectionnant toute la plage cible.

NB- Paste (et non past) est une méthode de l'objet Worksheet, pas une fonction.

edit: gametexxx, tu m'inquiètes, quel est donc ce code de Xmenpl, dont je ne vois pas la moindre trace ?

Je n'ai pas cité la bonne personne ^^ bonne journée et merci encore

[/quote]

FAUX ! Le fait que désigner la cible du collage par la cellule supérieure gauche de la plage soit plus avantageux et évite des erreurs, n'implique nullement que le collage ne fonctionnerait pas en sélectionnant toute la plage cible.

NB- Paste (et non past) est une méthode de l'objet Worksheet, pas une fonction.

edit: gametexxx, tu m'inquiètes, quel est donc ce code de Xmenpl, dont je ne vois pas la moindre trace ?

[/quote]

Effectivement çà fonctionne aussi j'avoue que je n'avais jamais tester de refaire une sélection de plage avant collage…

veuillez me carbonner

pour le code Xmenpl c'est du VB très bas lol

Par contre pour le conseil d'enregistrer une macro pour voir le code utiliser ensuite c'était pas mal comme conseil.

enfin je crois

Par contre pour le conseil d'enregistrer une macro pour voir le code utiliser ensuite c'était pas mal comme conseil.

A condition de ne s'en servir que comme test de syntaxe, pas pour écrire le code dont la qualité n'est pas la première vertu lorsqu'il est enregistré.

gametexxx : ce qui m'avait intrigué c'est ta fusion finale... J'ai donc écrit pour qu'il fonctionne dans le cas où ta plage copiée était fusionnée, mais j'aimerais bien savoir quel était le cas de figure...

Cordialement.

Salut, j'ai essayé mais ca ne marche pas, je me retrouve avec une erreur 1004, c'est pareil si je fais un pastespeciale

Alors que si je le fais à la main, ça fonctionne !

J'ai corrigé le paste qui s'applique à la feuille

Pour le reste, Xmenpl a donné la réponse : problème de sélection (désolé, j'ai dû partir à l'aéroport)

Rechercher des sujets similaires à "vba coller plage"