copier des plages avec union
Le
JP

Bonjour,
Est-ce qu'il existe une méthode pour copier et coller des plages avec uni=
on?
Exemple de ce que je voudrais faire:
' copie de plages se jouxtant
Union(Range("A1:B12"), rangez("C1:F12")).copy
' selection de plages éloignées
Union(Range("A1:B12"), Range("K1:N12")).select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBla=
nks:=True, Transpose:=False
J'ai un message d'erreur 1004 avec "La méthode de pastespecial de la clas=
se range à échouée"
Merci
JP
Est-ce qu'il existe une méthode pour copier et coller des plages avec uni=
on?
Exemple de ce que je voudrais faire:
' copie de plages se jouxtant
Union(Range("A1:B12"), rangez("C1:F12")).copy
' selection de plages éloignées
Union(Range("A1:B12"), Range("K1:N12")).select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBla=
nks:=True, Transpose:=False
J'ai un message d'erreur 1004 avec "La méthode de pastespecial de la clas=
se range à échouée"
Merci
JP
Pourquoi ne pas utiliser ceci
Range("A1:B12") = Range("A1:B12")
Range("K1:N12") = Range("C1:F12")
MichD
---------------------------------------------------------------
Ca ne marche pas car je ne veux copier que les valeurs. La plage C1:F12 dan s mon exemple contient des valeurs issues d'une formule.
Je viens d'essayer et je perds toutes les données.
JP
je crois qu'il faut ajouter .Value
Range("A1:B12").Value = Range("A1:B12").Value
Range("K1:N12").Value = Range("C1:F12").Value
isabelle
Le 2014-04-18 08:18, JP a écrit :
Oui, pour value, tu as raison.
Je viens d'illustrer le problème dans sa globalité au travers d'un exem ple en CJ.
http://cjoint.com/?DDspiYnyXeV
En fait la copie des plages en feuil2 doit s'opérer quand j'ajoute un nom colonne A de la feuil1.
Je n'arrive pas à trouver la bonne méthode. Le sens de ma première qu estion était de copier en une seule fois toutes les plages pour éviter un mélange des données.
Je pense que l'exemple est plus parlant.
Merci
JP
remet Application.EnableEvents = True
et utilise une plage dynamique
Sub exempleCopy()
With Sheets("Feuil2")
lastRw = .Range("J65536").End(xlUp).Row
.Range("A1:A" & lastRw).Value = .Range("J1:J" & lastRw).Value
.Range("D1:E" & lastRw).Value = .Range("K1:L" & lastRw).Value
End With
End Sub
isabelle
Le 2014-04-18 09:09, JP a écrit :
Dans mon fichier original, j'ai effectivement une plage dynamique.
Je viens de mettre ton code dans l'exemple.
Regarde le nouveau nom "AAA".
Il s'est classé en début de liste mais il ne devrait pas avoir de valeu rs dans les deux colonnes à coté en feuil2.
http://cjoint.com/?DDsp4HtbbtV
JP
pour changer ça,
je ne comprend pas ce que tu essai de faire ?
isabelle
Le 2014-04-18 09:58, JP a écrit :
Feuille 1 j'ai des colonnes à coté avec des données (je viens d'en aj outer dans l'exemple)
Feuille 2 il y a des formules en colonnes B et C mais aussi dans les colonn es J;KetL.
Ce que je souhaite faire c'est un tri des données en feuille2 au moment o ù j'ajoute un nom en feuille 1. Je passe par la copie de plages.
Est ce la meilleure solution?! ...
vois le fichier avec les nouvelles colonnes (feuil1)
http://cjoint.com/?DDsqxAvgN3G
JP
pourquoi copier les valeurs des colonnes K et L sur les colonne D et E?
ça tourne en rond!
isabelle
Le 2014-04-18 10:23, JP a écrit :
On ne tourne pas en rond. La partie de droite du tableau de la feuille 2 re prend les noms de la feuille 1 et les données (chiffres) de la feuille2.
Après les copies, tout devrait rentrer en ordre.
Mais ce n'est pas le cas dans ma démarche.
JP