Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Copier/Coller une plage en VBA

  • Initiateur de la discussion Initiateur de la discussion Amilo
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Amilo

XLDnaute Accro
Bonsoir le forum,

Je suis toujours à recherche d'une solution pour le problème indiqué dans mon fichier ci-joint,

J'ai une plage de départ en B5:C11 et je souhaite obtenir le résultat en K5:L8,

Le résultat obtenu avec le bouton est en G5:H11,


Merci d'avance

Cordialement
 

Pièces jointes

Re : Copier/Coller une plage en VBA

Bonsoir Gareth,

voilà un pseudo que je croise pour la 1ère fois, d'après votre fiche, vous êtes récemment inscript et bienvenu sur ce forum,

Pour ce qui est de votre variante, ça fonctionne trés bien et je vous remercie pour votre contribution,

Et je dirais encore un code d'un autre genre comme celui de VDAVID que je remercie également pour son aide sur ce fil,


Bonne nuit à toutes et à tous,

Cordialement
 
Re : Copier/Coller une plage en VBA

Bonjour le Forum, VDAVID, GARETH,

Les solutions à VDAVID et GARETH fonctionnent trés bien sur le fichier que j'avais soumis intialement,

Malheureusement dans le fichier final que je vous transmets ci-dessous et mille excuses pour ce désagrément, il s'avère que le code à GARETH n'est plus applicable car la propriété .CurrentRegion va sélectionner l'ensemble de la plage, y compris les titres et les colonnes adjacentes à ma plage délimitée en jaune...!!!


Le code à VDAVID fonctionne trés bien même avec le nouveau fichier modifié, mais je n'arrive pas à exporter cette plage sur l'onglet "feuil2" plutôt que la "feuil1"


Merci d'avance pour aide


Cordialement
 

Pièces jointes

Re : Copier/Coller une plage en VBA

Bonsoir Gareth, Amilo,

Il faut modifier le code comme ceci:

Code:
Sub exporter()


Dim maPlage As Range
Dim maPlagefin As Range
Dim i As Long
Dim h As Long
Dim m As Long
Dim tabl(), tableau()

'Sheets("Feuil1").Select
m = 0
Set maPlage = Sheets("feuil1").Range("B5:D11") 'Plage du traitement
Set maPlagefin = Sheets("feuil2").Range("K" & Sheets("Feuil2").Range("K65536").End(xlUp).Row + 2 & ":" & "M" & Sheets("Feuil2").Range("K65536").End(xlUp).Row + 1 + maPlage.Rows.Count)

tabl = maPlage.Value


ReDim tableau(UBound(tabl()), 1 To maPlage.Columns.Count)

For i = LBound(tabl()) To UBound(tabl())

For h = LBound(tabl(), 2) To UBound(tabl(), 2)

If tabl(i, 1) = "" Then
GoTo Borne
End If

tableau(m, h) = tabl(i, h)

Next h


m = m + 1

Borne:
Next i

maPlagefin.Value = tableau


End Sub

Toujours en destination une ligne à partir de la dernière ligne non vide de la colonne "K" dans l'onglet "feuil2".
Bonne fin de week-end !

EDIT: Ces lignes sont à mettre en une seule:

Code:
Set maPlagefin = Sheets("feuil2").Range("K" & Sheets("Feuil2").Range("K65536").End(xlUp).Row + 2 & ":" & "M" & Sheets("Feuil2").Range("K65536").End(xlUp).Row + 1 + maPlage.Rows.Count)
 
Dernière édition:
Re : Copier/Coller une plage en VBA

Bonsoir VDAVID,

Merci pour votre réponse et cette modification,

Je comprends mieux mon erreur, j'ai omis de modifier partout là où il y avait l'objet .Range...

En tout cas tout fonctionne comme souhaité désormais...

Mille mercis pour votre aide

Bonne fin de dimanche
 
Re : Copier/Coller une plage en VBA

Bonsoir Gareth,

Effectivement vous avez raison, c'est pas le bon fichier que j'ai joint et désolé pour cette maladresse,

Comme vous avez pu le constater, VDAVID a modifié son code suite à mon dernier message,

Par contre je remets le bon fichier avec les entêtes et les colonnes supplémentaires pour constater que votre code qui fonctionnait trés bien avec mon 1er fichier, ne s'applique plus à ce nouveau fichier...

Toute autre proposition est biensur la bienvenue pour mon apprentissage de VBA...

P.S : j'en ai profité aussi pour inclure dans ce fichier, la dernière modification à VDAVID qui donne exactement le résultat souhaité.

Mille mercis à vous pour toute l'aide que vous m'avez apportée.


Cordialement
 

Pièces jointes

Dernière édition:
Re : Copier/Coller une plage en VBA

Bonjour Gareth,

Merci beaucoup pour cette modification et votre aide,

J'avoue que je m'attendais à un tout autre code que le 1er,

Finalement, il est plutôt simple d'utilisation et à comprendre,

Bonne journée à vous

Cordialement
 
Re : Copier/Coller une plage en VBA

Bonsoir Gareth,

Merci beaucoup pour votre code réadapté à mon nouveau fichier,

J'avais déjà exploité rapidement le fichier ce matin avant votre dernier message concernant le "bug" de la colonne Test,

Je l'avais également vu et déjà corrigé tôt ce matin au boulot,

Par contre, je m'attendais à un tout autre code et je suis agréablement surpris de voir qu'il ressemble beaucoup au précédent donc plutôt facile à comprendre et à mémoriser...

Merci encore à vous et à VDAVID pour votre proposition et votre aide,

Bonne soirée
 
Dernière édition:
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
40
Affichages
2 K
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…