Copier une plage nommée et coller au fur et a mesure

Bonsoir le forum

Je viens solliciter votre aide pour réaliser le traitement suivant par macro.

J'ai une plage nommée "reel" (C_MOIS!K12:M49).

Je souhaite la copier et la coller au fur et à mesure sur la dernière cellule non vide de la ligne 3.

Le collage se fait sur la ligne 3 et commence sur la cellule B3 de la feuille "CENTRALISATION".

Après le premier collage, les prochaines collages doivent se faire sur la dernière cellule non vide de la ligne 3.

Bonne compréhension

Bonjour Zombe, bonjour le forum,

Essai comme ça :

Sub Macro1()
Dim O As Worksheet 'déclare la variable O (Onglet)
Dim DEST As Range 'déclare la variable DEST (cellule de DESTination)

Set O = Worksheets("CENTRALISATION") 'définit l'onglet O
'définit la cellule de destination DEST (B3 si B3 est vide, sinon, la première cellule vide de la colonne B)
Set DEST = IIf(O.Range("B3").Value = "", O.Range("B3"), O.Cells(Application.Rows.Count, "B").End(xlUp).Offset(1, 0))
Range("reel").Copy DEST 'copie la plage nommée "reel" dans DEST
End Sub

Bonjour ThauThème et le forum

Merci pour votre solution.

Je ne souhaite pas que les prochains collages se fassent en colonne mais en ligne.

Selon mon raisonnement, après le 1er collage, le 2ème collage doit commencer en E3, le 3ème en H3 et ainsi de suite.

Merci

Re,

Pardon j'avais mal lu...

Le code modifié :

Sub Macro1()
Dim O As Worksheet 'déclare la variable O (Onglet)
Dim DEST As Range 'déclare la variable DEST (cellule de DESTination)

Set O = Worksheets("CENTRALISATION") 'définit l'onglet O
'définit la cellule de destination DEST (B3 si B3 est vide, sinon, la première cellule vide de la colonne B)
Set DEST = IIf(O.Range("B3").Value = "", O.Range("B3"), O.Cells(3, Application.Columns.Count).End(xlToLeft).Offset(0, 1))
Range("reel").Copy DEST 'copie la plage nommée "reel" dans DEST
End Sub

Ce qui me tue c'est que tu ne fasses même pas l'effort de le lire (j'ai pourtant fait l'effort de te le commenter !), de le comprendre et de le modifier. Tu m'aurais dit : j'ai essayé de modifier comme ça... et ça ne marche pas, d'accord. Mais là, franchement, tu abuses ! Tu ne vas pas progresser vite en VBA si tu ne comptes que sur les autres. Encore un(e) où la fée Gnasse s'est penchée sur son berceeau !

Bonjour

Je vous comprend mais sans vous mentir j'ai essayé de bricoler et ca ne marchait pas.

Voila ce que j'avais essayé ci-dessous:

'définit la cellule de destination DEST (B3 si B3 est vide, sinon, la première cellule vide de la colonne B)
Set DEST = IIf(O.Range("B3").Value = "", O.Range("B3"), O.Cells(3, Application.Columns.Count).End(xlUp).Offset(1, 0))

Dans votre 2ème code je constate que mon erreur se situait ici

xlUp

Je devrais mettre

xltoleft

et

offset(0,1)

Encore merci et je m'excuse de n'avoir pas manifesté ce que j'avais essayé pour que vous sachiez que j'ai pas paressé.

Cordialement

Re,

La paresse ne me gêne pas ! Moi-même...

Ce qui me gênait c'est que tu donnais à penser que tu n'avais pas tenté. Puisque tu l'as fait, tu as appris quelque chose de nouveau que tu n'oublieras plus. Cool non ? Désolé si je pique un peu, c'est pour la bonne cause...

Rechercher des sujets similaires à "copier plage nommee coller fur mesure"