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

Copier / Coller de plage variable

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 !

Sly le globe trotter

XLDnaute Occasionnel
Bonjour,

je m'en remets à vos talents d'excelliens pour le sortir de la panade 😀 J'ai effectué quelques recherches sur le net sans trouver comment résoudre mon problème.

Je cherche à copier / coller des plages de données variable sans succès.

Du coup, je procède ainsi
Code:
Sheets("Treated Data").Cells(lin_syn, 1) = Sheets("Raw Data").Cells(lin, 1)
Sheets("Treated Data").Cells(lin_syn, 2) = Sheets("Raw Data").Cells(lin, 2)
Sheets("Treated Data").Cells(lin_syn, 3) = Sheets("Raw Data").Cells(lin, 3)

N'est-il possible d'utiliser la fonction copy pour copier / coller une plage de données variable ?

Merci pour votre aide précieuse.
 
Dernière édition:
Re : Copier / Coller de plage variable

Bonjour Sly,

à tester :

Code:
with Sheets("Treated Data")
.Range(.Cells(lin_syn, 1),.Cells(lin_syn, 3)).Copy Sheets("Raw Data").Cells(lin, 1)
end with

Edit : Oups, en effet, j'ai inversé...
Bonjour Softmama
 
Dernière édition:
Re : Copier / Coller de plage variable

Bonjour tototiti2008,

Ta méthode fonctionne parfaitement en inversant les cellules à copier et coller !
Merci beaucoup.

Du coup, cela donne
Code:
With Sheets("Raw Data")
    .Range(.Cells(lin, 1), .Cells(lin, 3)).Copy Sheets("Treated Data").Cells(lin_syn, 1)
End With

Bonne continuation !
 
Re : Copier / Coller de plage variable

Bonjour,

Dans un cadre général tu peux utiliser la Méthode Copy telle qu'elle s'applique à une plage de cellules de la façon suivante :

Code:
[I]expression[/I].[B]Copy[/B](Destination)
avec expression qui renvoie un objet Range

Par exemple de la façon suivante :
Code:
[I]Sheets("Feuil1").Range("A1")[/I].Copy Destination:=Sheets("Feuil2").Range("A1")

Dans le cas qui t'intéresse, tu peux avantageusement remplacer ton code par :
VB:
    Sheets("Raw Data").Cells(lin, 1).Resize(3).Copy Destination:=Sheets("Treated Data").Cells(lin_syn, 1)

[EDITION] Houlàlà, Bonjour Tototiti2008, je prends mon temps pour répondre moi, dsl !
 
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

G
Réponses
3
Affichages
1 K
G
Réponses
7
Affichages
1 K
gfgghbhg
G
K
Réponses
4
Affichages
1 K
K
C
Réponses
2
Affichages
1 K
CHARPENTIER
C
N
Réponses
5
Affichages
3 K
Nicocotte125
N
T
Réponses
4
Affichages
6 K
ThomasGLT
T
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…