OVH Cloud OVH Cloud

copy paste ...

13 réponses
Avatar
Kamel
Bonsoir,

Il y a une question que je me pose depuis un moment sur le copier coller en
vba. Ce code fonctionne:
Worksheets("Feuil1").Select
Range("A1:C3").Select
Selection.Copy
Worksheets("Feuil2").Select
Range("B4").Select
ActiveSheet.Paste

Ou est l'erreur dans celui-ci ? (des fois il fonctionne des fois non ????? )
dim ws1, ws2 as worksheet
set ws1=worksheets("Feuil1")
set ws2=worksheets("Feuil2")
ws1.Range("A1:C3").Copy
ws2.Range("B4").Select
ws2.Paste

Merci !

10 réponses

1 2
Avatar
jps
et quand ça ne fonctionne pas, kamel, tu as quoi en un joli jaune flashy
dans VBE?
jps

"Kamel" a écrit dans le message de
news:
Bonsoir,

Il y a une question que je me pose depuis un moment sur le copier coller
en

vba. Ce code fonctionne:
Worksheets("Feuil1").Select
Range("A1:C3").Select
Selection.Copy
Worksheets("Feuil2").Select
Range("B4").Select
ActiveSheet.Paste

Ou est l'erreur dans celui-ci ? (des fois il fonctionne des fois non
????? )

dim ws1, ws2 as worksheet
set ws1=worksheets("Feuil1")
set ws2=worksheets("Feuil2")
ws1.Range("A1:C3").Copy
ws2.Range("B4").Select
ws2.Paste

Merci !




Avatar
Kamel
message: La méthode select de la classe Range a échoué.


au niveau: ws2.Range("B4").Select

"jps" a écrit dans le message de news:

et quand ça ne fonctionne pas, kamel, tu as quoi en un joli jaune flashy
dans VBE?
jps

"Kamel" a écrit dans le message de
news:
Bonsoir,

Il y a une question que je me pose depuis un moment sur le copier coller
en

vba. Ce code fonctionne:
Worksheets("Feuil1").Select
Range("A1:C3").Select
Selection.Copy
Worksheets("Feuil2").Select
Range("B4").Select
ActiveSheet.Paste

Ou est l'erreur dans celui-ci ? (des fois il fonctionne des fois non
????? )

dim ws1, ws2 as worksheet
set ws1=worksheets("Feuil1")
set ws2=worksheets("Feuil2")
ws1.Range("A1:C3").Copy
ws2.Range("B4").Select
ws2.Paste

Merci !







Avatar
jps
as-tu essayé avec Activesheet.Range?
AMHA, XL ne sait plus où il en est dans tes feuilles, surtout si ta proc est
écrite dans l'une d'elles et comme tu te balades dans une autre...
jps

"Kamel" a écrit dans le message de
news:
message: La méthode select de la classe Range a échoué.


au niveau: ws2.Range("B4").Select

"jps" a écrit dans le message de news:

et quand ça ne fonctionne pas, kamel, tu as quoi en un joli jaune flashy
dans VBE?
jps

"Kamel" a écrit dans le message de
news:
Bonsoir,

Il y a une question que je me pose depuis un moment sur le copier
coller



en
vba. Ce code fonctionne:
Worksheets("Feuil1").Select
Range("A1:C3").Select
Selection.Copy
Worksheets("Feuil2").Select
Range("B4").Select
ActiveSheet.Paste

Ou est l'erreur dans celui-ci ? (des fois il fonctionne des fois non
????? )

dim ws1, ws2 as worksheet
set ws1=worksheets("Feuil1")
set ws2=worksheets("Feuil2")
ws1.Range("A1:C3").Copy
ws2.Range("B4").Select
ws2.Paste

Merci !











Avatar
jps
de toutes façons, kamel, si tu as un code qui va bien, utilise-le car tu
sais que le mieux est l'ennemi du bien...
jps

"Kamel" a écrit dans le message de
news:
message: La méthode select de la classe Range a échoué.


au niveau: ws2.Range("B4").Select

"jps" a écrit dans le message de news:

et quand ça ne fonctionne pas, kamel, tu as quoi en un joli jaune flashy
dans VBE?
jps

"Kamel" a écrit dans le message de
news:
Bonsoir,

Il y a une question que je me pose depuis un moment sur le copier
coller



en
vba. Ce code fonctionne:
Worksheets("Feuil1").Select
Range("A1:C3").Select
Selection.Copy
Worksheets("Feuil2").Select
Range("B4").Select
ActiveSheet.Paste

Ou est l'erreur dans celui-ci ? (des fois il fonctionne des fois non
????? )

dim ws1, ws2 as worksheet
set ws1=worksheets("Feuil1")
set ws2=worksheets("Feuil2")
ws1.Range("A1:C3").Copy
ws2.Range("B4").Select
ws2.Paste

Merci !











Avatar
Kamel
En fait, en faisant ws2.Range("B4").Select, je cherche à selectionner une
cellule d'une feuille non active.
Mais est-on obligé de sélctionner une feuille pour y coller des valeurs ??
Kamel

"jps" a écrit dans le message de news:

de toutes façons, kamel, si tu as un code qui va bien, utilise-le car tu
sais que le mieux est l'ennemi du bien...
jps

"Kamel" a écrit dans le message de
news:
message: La méthode select de la classe Range a échoué.


au niveau: ws2.Range("B4").Select

"jps" a écrit dans le message de news:

et quand ça ne fonctionne pas, kamel, tu as quoi en un joli jaune
flashy
dans VBE?
jps

"Kamel" a écrit dans le message de
news:
Bonsoir,

Il y a une question que je me pose depuis un moment sur le copier
coller



en
vba. Ce code fonctionne:
Worksheets("Feuil1").Select
Range("A1:C3").Select
Selection.Copy
Worksheets("Feuil2").Select
Range("B4").Select
ActiveSheet.Paste

Ou est l'erreur dans celui-ci ? (des fois il fonctionne des fois non
????? )

dim ws1, ws2 as worksheet
set ws1=worksheets("Feuil1")
set ws2=worksheets("Feuil2")
ws1.Range("A1:C3").Copy
ws2.Range("B4").Select
ws2.Paste

Merci !














Avatar
jps
ws2.Activate
Activesheet.Range("B4").Select

à essayer avec modération
jps

"Kamel" a écrit dans le message de
news:
En fait, en faisant ws2.Range("B4").Select, je cherche à selectionner une
cellule d'une feuille non active.
Mais est-on obligé de sélctionner une feuille pour y coller des valeurs ??
Kamel

"jps" a écrit dans le message de news:

de toutes façons, kamel, si tu as un code qui va bien, utilise-le car tu
sais que le mieux est l'ennemi du bien...
jps

"Kamel" a écrit dans le message de
news:
message: La méthode select de la classe Range a échoué.


au niveau: ws2.Range("B4").Select

"jps" a écrit dans le message de news:

et quand ça ne fonctionne pas, kamel, tu as quoi en un joli jaune
flashy
dans VBE?
jps

"Kamel" a écrit dans le message de
news:
Bonsoir,

Il y a une question que je me pose depuis un moment sur le copier
coller



en
vba. Ce code fonctionne:
Worksheets("Feuil1").Select
Range("A1:C3").Select
Selection.Copy
Worksheets("Feuil2").Select
Range("B4").Select
ActiveSheet.Paste

Ou est l'erreur dans celui-ci ? (des fois il fonctionne des fois non
????? )

dim ws1, ws2 as worksheet
set ws1=worksheets("Feuil1")
set ws2=worksheets("Feuil2")
ws1.Range("A1:C3").Copy
ws2.Range("B4").Select
ws2.Paste

Merci !


















Avatar
MichDenis
Bonjour Kamel,

Tu peux utiliser des Objets "Worksheet" pour ta procédure, mais tu dois obligatoirement respecter ceci :

Tu NE PEUT PAS sélectionner une plage de cellule si la feuille de cette plage de cellule n'est pas la feuille active.

Tu peux transposer ceci comme cela

With ws2
.select
.Range("B4").Select
.paste
end with

Ta procédure deviendrait :

Sub test()
Dim ws1 As Worksheet, ws2 As Worksheet
Set ws1 = Worksheets("Feuil1")
Set ws2 = Worksheets("Feuil2")
ws1.Range("A1:C3").Copy
With ws2
.Select
Application.EnableEvents = False
.Range("B4").Select
.Paste
Application.EnableEvents = True
End With
Application.CutCopyMode = False

End Sub
'-------------------------------

Tu pourrais faire aussi ce cette manière ...!
'--------------------------------
Sub test1()

Dim Rg As Range, Rg1 As Range

Set Rg = Worksheets("Feuil1").Range("A1:C3")
Set Rg1 = Worksheets("Feuil2").Range("b4")
Application.EnableEvents = False
Rg.Copy Rg1
Application.EnableEvents = True

End Sub
'-------------------------------


Salutations!





Est-ce que cela te va ?


Salutations!






"Kamel" a écrit dans le message de news:
message: La méthode select de la classe Range a échoué.


au niveau: ws2.Range("B4").Select

"jps" a écrit dans le message de news:

et quand ça ne fonctionne pas, kamel, tu as quoi en un joli jaune flashy
dans VBE?
jps

"Kamel" a écrit dans le message de
news:
Bonsoir,

Il y a une question que je me pose depuis un moment sur le copier coller
en

vba. Ce code fonctionne:
Worksheets("Feuil1").Select
Range("A1:C3").Select
Selection.Copy
Worksheets("Feuil2").Select
Range("B4").Select
ActiveSheet.Paste

Ou est l'erreur dans celui-ci ? (des fois il fonctionne des fois non
????? )

dim ws1, ws2 as worksheet
set ws1=worksheets("Feuil1")
set ws2=worksheets("Feuil2")
ws1.Range("A1:C3").Copy
ws2.Range("B4").Select
ws2.Paste

Merci !







Avatar
Clément Marcotte
Bonjour,

Si j'ai bien compris ta passe, tu n'as même pas besoin de
copier-coller.


Sub DeUnADeux()
k = 1
For i = 4 To 7
For j = 2 To 5
Sheets("Feuil2").Cells(i, j).Value = Sheets("Feuil1").Cells(i - 3,
k).Value
k = k + 1
Next
k = 1
Next
End Sub



"Kamel" a écrit dans le message de
news:
En fait, en faisant ws2.Range("B4").Select, je cherche à
selectionner une

cellule d'une feuille non active.
Mais est-on obligé de sélctionner une feuille pour y coller des
valeurs ??

Kamel

"jps" a écrit dans le message de news:

de toutes façons, kamel, si tu as un code qui va bien, utilise-le
car tu


sais que le mieux est l'ennemi du bien...
jps

"Kamel" a écrit dans le message de
news:
message: La méthode select de la classe Range a échoué.


au niveau: ws2.Range("B4").Select

"jps" a écrit dans le message de news:

et quand ça ne fonctionne pas, kamel, tu as quoi en un joli
jaune




flashy
dans VBE?
jps

"Kamel" a écrit dans le message de
news:
Bonsoir,

Il y a une question que je me pose depuis un moment sur le
copier





coller
en
vba. Ce code fonctionne:
Worksheets("Feuil1").Select
Range("A1:C3").Select
Selection.Copy
Worksheets("Feuil2").Select
Range("B4").Select
ActiveSheet.Paste

Ou est l'erreur dans celui-ci ? (des fois il fonctionne des
fois non





????? )
dim ws1, ws2 as worksheet
set ws1=worksheets("Feuil1")
set ws2=worksheets("Feuil2")
ws1.Range("A1:C3").Copy
ws2.Range("B4").Select
ws2.Paste

Merci !


















Avatar
Kamel
Merci Michdenis !
Ta procédure test1() m'interesse. Donc pour celle-ci, il n'y a pas besoin de
selectionner de feuille, le copier coller se fait directement si j'ai bien
compris ?


"MichDenis" a écrit dans le message de news:

Bonjour Kamel,

Tu peux utiliser des Objets "Worksheet" pour ta procédure, mais tu dois
obligatoirement respecter ceci :

Tu NE PEUT PAS sélectionner une plage de cellule si la feuille de cette
plage de cellule n'est pas la feuille active.

Tu peux transposer ceci comme cela

With ws2
.select
.Range("B4").Select
.paste
end with

Ta procédure deviendrait :

Sub test()
Dim ws1 As Worksheet, ws2 As Worksheet
Set ws1 = Worksheets("Feuil1")
Set ws2 = Worksheets("Feuil2")
ws1.Range("A1:C3").Copy
With ws2
.Select
Application.EnableEvents = False
.Range("B4").Select
.Paste
Application.EnableEvents = True
End With
Application.CutCopyMode = False

End Sub
'-------------------------------

Tu pourrais faire aussi ce cette manière ...!
'--------------------------------
Sub test1()

Dim Rg As Range, Rg1 As Range

Set Rg = Worksheets("Feuil1").Range("A1:C3")
Set Rg1 = Worksheets("Feuil2").Range("b4")
Application.EnableEvents = False
Rg.Copy Rg1
Application.EnableEvents = True

End Sub
'-------------------------------


Salutations!





Est-ce que cela te va ?


Salutations!






"Kamel" a écrit dans le message de news:

message: La méthode select de la classe Range a échoué.


au niveau: ws2.Range("B4").Select

"jps" a écrit dans le message de news:

et quand ça ne fonctionne pas, kamel, tu as quoi en un joli jaune flashy
dans VBE?
jps

"Kamel" a écrit dans le message de
news:
Bonsoir,

Il y a une question que je me pose depuis un moment sur le copier coller
en

vba. Ce code fonctionne:
Worksheets("Feuil1").Select
Range("A1:C3").Select
Selection.Copy
Worksheets("Feuil2").Select
Range("B4").Select
ActiveSheet.Paste

Ou est l'erreur dans celui-ci ? (des fois il fonctionne des fois non
????? )

dim ws1, ws2 as worksheet
set ws1=worksheets("Feuil1")
set ws2=worksheets("Feuil2")
ws1.Range("A1:C3").Copy
ws2.Range("B4").Select
ws2.Paste

Merci !












Avatar
Kamel
Merci Clément,
Ta procédure ne devient elle pas lourde quand les zones à copier sont très
grands ?

"Clément Marcotte" a écrit dans le message
de news:
Bonjour,

Si j'ai bien compris ta passe, tu n'as même pas besoin de
copier-coller.


Sub DeUnADeux()
k = 1
For i = 4 To 7
For j = 2 To 5
Sheets("Feuil2").Cells(i, j).Value = Sheets("Feuil1").Cells(i - 3,
k).Value
k = k + 1
Next
k = 1
Next
End Sub



"Kamel" a écrit dans le message de
news:
En fait, en faisant ws2.Range("B4").Select, je cherche à
selectionner une

cellule d'une feuille non active.
Mais est-on obligé de sélctionner une feuille pour y coller des
valeurs ??

Kamel

"jps" a écrit dans le message de news:

de toutes façons, kamel, si tu as un code qui va bien, utilise-le
car tu


sais que le mieux est l'ennemi du bien...
jps

"Kamel" a écrit dans le message de
news:
message: La méthode select de la classe Range a échoué.


au niveau: ws2.Range("B4").Select

"jps" a écrit dans le message de news:

et quand ça ne fonctionne pas, kamel, tu as quoi en un joli
jaune




flashy
dans VBE?
jps

"Kamel" a écrit dans le message de
news:
Bonsoir,

Il y a une question que je me pose depuis un moment sur le
copier





coller
en
vba. Ce code fonctionne:
Worksheets("Feuil1").Select
Range("A1:C3").Select
Selection.Copy
Worksheets("Feuil2").Select
Range("B4").Select
ActiveSheet.Paste

Ou est l'erreur dans celui-ci ? (des fois il fonctionne des
fois non





????? )
dim ws1, ws2 as worksheet
set ws1=worksheets("Feuil1")
set ws2=worksheets("Feuil2")
ws1.Range("A1:C3").Copy
ws2.Range("B4").Select
ws2.Paste

Merci !





















1 2