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

Copier Coller en vba

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 !

Evelynetfrancois

XLDnaute Impliqué
BONJOUR A TOUT LE MONDE

je voudrais copier le contenu (valeurs)des cellules "A1" "G4" et "G5" de la feuil1
et les coller dans les colonnes" B1"C1"D1"de la feuil2
puis les autres , en B2"C2"D2 AINSI DE SUITE à chaque lancement de la macro
les une en desous des autres , pouvez vous m'aider , je tourne autour sans trouver
MERCI D AVANCE POUR VOTRE AIDE
E et F
 
Re : Copier Coller en vba

bonjour,

La reference VBA donne

Worksheets("Sheet1").Range("A1😀4").Copy _ destination:=Worksheets("Sheet2").Range("E5")


comme exemple. Peut etre cela correspond a ton besoin
 
Re : Copier Coller en vba

Bonjour E et F, Lapix

Peut être une autre approche avec un collage spécial, si les lignes des cellules de destination changent, la première ligne de la feuille 2 contient des titres !!!

Code:
Sheets("Feuil1").Range("A1").Copy
Sheets("Feuil2").Range("B65536").End(xlUp).Offset(1, 0).PasteSpecial xlValue
Sheets("Feuil1").Range("G4:G5").Copy
Sheets("Feuil2").Range("C65536").End(xlUp).Offset(1, 0).PasteSpecial xlValue, , , True

Bon week end
@+
 
Re : Copier Coller en vba

un grand merci a vous deux

Donc pierrot93 , il semblerait donc qu'on est oblige de copier et coller par cellules ou bloc contigue !!? les un apres les autres !!
je cherchais desesperement a le faire en une seule ligne de macro , je pensais que c etait possible , d'ou ma question

je fais les essais ....................
a toute
E et F
 
Re : Copier Coller en vba

re ^pierrot93

Sheets("Feuil1").Range("A1").Copy
Sheets("Feuil2").Range("B65536").End(xlUp).Offset(1, 0).PasteSpecial xlValue
fonctionne ,
mais me renvoie REF! dans la cellule coller , car la valeur est le resultat d'une formule
(je voudrais copier le contenu (valeurs))
as- tu une idée ?
merciiii d avance

E et F
 
Re : Copier Coller en vba

Re E et F

Sauf erreur de ma part, non la copie n'est pas possible sur des selections multiples même en VBA, comme le dit d'ailleurs la boite de dialogue quand on essaye.

Bonne soirée
@+
 
Re : Copier Coller en vba

coucou tout le monde,
sans etre un fortiche, quand je souhaite comprendre un code, je fais une nouvelle macro et j'execute ce que je recherche et je reouvre la macro fait modifier et regarde le code employé
En faisant cela pour le copiage sans valeur, j'ai trouvé ça.
J'espère que ca te sera utile :

Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _:=False, Transpose:=False
amities
rémi
 
Re : Copier Coller en vba

VOILA vous avez trouvez !!!

malcy45 j ai supprimé les "selection" de ta ligne , et tout est OK
comme ca c est bien le contenu qui est coller

Private Sub CommandButton1_Click()
Sheets(1).Range("C3").Copy
Sheets(2).Range("A65536").End(xlUp).Offset(1, 0).PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
Sheets(1).Range("Q19").Copy
Sheets(2).Range("B65536").End(xlUp).Offset(1, 0).PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
Sheets(1).Range("R19").Copy
Sheets(2).Range("C65536").End(xlUp).Offset(1, 0).PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
End Sub

un grand merci à vous 3
E et F
 
Re : Copier Coller en vba

Re Rémi, E et F

Rémi, ici la problèmatique est de copier des sélection multiples, soit des plage non adjacentes, et a priori Excel ne le veux pas, ni en live ni pas le code.

Le lien que tu nous as donné permet de copier une plage vers une autre, mes les plages de cellules se touchent.

Bonne fin de journée
@+
 
Re : Copier Coller en vba

Re

mon code initial avait un bogue, il fallait lire

Code:
Sheets("Feuil1").Range("A1").Copy
Sheets("Feuil2").Range("B65536").End(xlUp).Offset(1, 0).PasteSpecial xlPasteValues, , , True
Sheets("Feuil1").Range("G4:G5").Copy
Sheets("Feuil2").Range("C65536").End(xlUp).Offset(1, 0).PasteSpecial xlPasteValues, , , True

Désolé, j avais testé avec des données pas des formules, ce qui fait que ca marchait.

Rémi ne tiens pas compte de ce que j ai dit precedemment, j'ai été un peu vite ....

Autant pour moi...

Bonne fin de soirée
@+
 
Re : Copier Coller en vba

RE PIERROT93

desolé ??? ha non !
effectivement je n'avais pas tout expliqué correctement!!
je viens de faire l essais avec ta macro
ca va au poil !!!!
plus propre et plus court

Merci beaucoup sincerement
bonne soirée

E et F
 
Re : Copier Coller en vba

Salut à tous !

Une autre macro qui fait la même chose, mais en consommant moins de ressource :

Sub Recop()
Dim i As Integer
i = Sheets(2).Range("B65535").End(xlUp).Row + 1
Sheets(2).Range("B" & i) = Sheets(1).Range("A1").Value
Sheets(2).Range("C" & i) = Sheets(1).Range("G4").Value
Sheets(2).Range("D" & i) = Sheets(1).Range("G5").Value
End Sub

Maintenant, si tu avais beaucoup plus de cellules à recopier, on peut gagner en écriture, tel que :

Sub Recop()
Dim i As Integer
i = Sheets(2).Range("B65535").End(xlUp).Row + 1
With Sheets(2)
.Range("B" & i) = Sheets(1).Range("A1").Value
.Range("C" & i) = Sheets(1).Range("G4").Value
.Range("D" & i) = Sheets(1).Range("G5").Value
End With
End Sub

Et si tu devais recopier les valeurs de ta feuille 1 dplusieurs fois, il est possible de déclarer dans des variables, tes 3 valeurs de départ, afin d'éviter des longues lignes de code.




@ +++

ChrisOne
 
Dernière édition:
Re : Copier Coller en vba

Re E et F !

La suite de ce que je te disais (Coupure Internet oblige)...Héhé !

Sub Recop()
Dim i As Integer
Dim Vala, Valb, Valc As Variant

i = Sheets(2).Range("B65535").End(xlUp).Row + 1
Vala = Sheets(1).Range("A1").Value
Valb = Sheets(1).Range("G4").Value
Valc = Sheets(1).Range("G5").Value

With Sheets(2)
.Range("B" & i) = Vala
.Range("C" & i) = Valb
.Range("D" & i) = Valc
End With

End Sub

Tu remarqueras que j'ai déclaré les 3 variables en "Variant", cela te permet d'avoir soit du texte ou des chiffres dans tes cellules à recopier.

Cei dit, quand tu déclares une variable, si tu ne mets pas son type, Excel, par défaut, lui accorde "Variant".

@ +++

ChrisOne
 
- 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
20
Affichages
1 K
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…