OVH Cloud OVH Cloud

Copier Coller sans utiliser Select

5 réponses
Avatar
Pierre lacoste
Bonjour,
je manipule des fichiers excel depuis access et j'ai un=20
pb tout simple, je n'arrive pas =E0 coller des donn=E9es=20
entre 2 feuilles.

Mon code :
Set Xcl =3D CreateObject("Excel.Application")
Xcl.Visible =3D True
Xcl.Workbooks.Add
Set newBook =3D Xcl.Workbooks(1)
'(.... je remplis des donn=E9es)=20
' je veux copier les donn=E9es depuis Feuille1/Ligne2
' vers Feuille2/Ligne2
newBook.Worksheets(1).Activate
newBook.ActiveSheet.Range("1:1").Copy
newBook.Worksheets(2).Activate
' Ici j'ai un pb, le select ne passe pas
newBook.ActiveSheet.Cells("2:2").Select
newBook.ActiveSheet.Paste

Si quelqu'un a une solution (sans select???), =E7a serai=20
formidable

5 réponses

Avatar
Olivier Pont
Moi je fais plutot une boucle :
où xre colonne et yÞrniere colonne :

for cln=x to y
sheets(2).cells(2,x)=sheets(1).cells(2,x)
next cln

la ligne 2 de feuil1 est recopiée dans la ligne 2 de feuil2, entre les
colonnes x et y


"Pierre lacoste" a écrit dans le
message de news:862f01c3e988$705db7c0$
Bonjour,
je manipule des fichiers excel depuis access et j'ai un
pb tout simple, je n'arrive pas à coller des données
entre 2 feuilles.

Mon code :
Set Xcl = CreateObject("Excel.Application")
Xcl.Visible = True
Xcl.Workbooks.Add
Set newBook = Xcl.Workbooks(1)
'(.... je remplis des données)
' je veux copier les données depuis Feuille1/Ligne2
' vers Feuille2/Ligne2
newBook.Worksheets(1).Activate
newBook.ActiveSheet.Range("1:1").Copy
newBook.Worksheets(2).Activate
' Ici j'ai un pb, le select ne passe pas
newBook.ActiveSheet.Cells("2:2").Select
newBook.ActiveSheet.Paste

Si quelqu'un a une solution (sans select???), ça serai
formidable
Avatar
Olivier Pont
Désolé : petite erreur dans ma réponse précédente..

Moi je fais plutot une boucle :
où xre colonne et yÞrniere colonne :

for cln=x to y
sheets(2).cells(2,cln).value=sheets(1).cells(2,cln).value
next cln

la ligne 2 de feuil1 est recopiée dans la ligne 2 de feuil2, entre les
colonnes x et y

Voila, c'est mieux ;-))
hth

"Pierre lacoste" a écrit dans le
message de news:862f01c3e988$705db7c0$
Bonjour,
je manipule des fichiers excel depuis access et j'ai un
pb tout simple, je n'arrive pas à coller des données
entre 2 feuilles.

Mon code :
Set Xcl = CreateObject("Excel.Application")
Xcl.Visible = True
Xcl.Workbooks.Add
Set newBook = Xcl.Workbooks(1)
'(.... je remplis des données)
' je veux copier les données depuis Feuille1/Ligne2
' vers Feuille2/Ligne2
newBook.Worksheets(1).Activate
newBook.ActiveSheet.Range("1:1").Copy
newBook.Worksheets(2).Activate
' Ici j'ai un pb, le select ne passe pas
newBook.ActiveSheet.Cells("2:2").Select
newBook.ActiveSheet.Paste

Si quelqu'un a une solution (sans select???), ça serai
formidable
Avatar
michdenis
Bonjour Pierre,

As-tu essayé ceci :


'------------------------
Dim Xcl As Object, Wk As Workbook
Dim Sh As Worksheet, Sh1 As Worksheet

Set Xcl = CreateObject("Excel.Application")
Xcl.Visible = True
Set newbook = Xcl.Workbooks.Add
Set Sh = newbook.Worksheets.Add
Set Sh1 = newbook.Worksheets.Add
With Sh
Sh.Range("g2") = 10
'(.... je remplis des données)
' je veux copier les données depuis Feuille1/Ligne2
' vers Feuille2/Ligne2
End With

Sh.Rows(2).Copy Sh1.Rows(2)

Application.DisplayAlerts = False
For Each f In newbook.Worksheets
If f.Name = Sh.Name Or f.Name = Sh1.Name Then
Else
f.Delete
End If
Next
Application.DisplayAlerts = True

Set Xcl = Nothing: Set newbook = Nothing
Set Sh = Nothing: Set Sh1 = Nothing
'------------------------


Salutations!



"Pierre lacoste" a écrit dans le message de
news:862f01c3e988$705db7c0$
Bonjour,
je manipule des fichiers excel depuis access et j'ai un
pb tout simple, je n'arrive pas à coller des données
entre 2 feuilles.

Mon code :
Set Xcl = CreateObject("Excel.Application")
Xcl.Visible = True
Xcl.Workbooks.Add
Set newBook = Xcl.Workbooks(1)
'(.... je remplis des données)
' je veux copier les données depuis Feuille1/Ligne2
' vers Feuille2/Ligne2
newBook.Worksheets(1).Activate
newBook.ActiveSheet.Range("1:1").Copy
newBook.Worksheets(2).Activate
' Ici j'ai un pb, le select ne passe pas
newBook.ActiveSheet.Cells("2:2").Select
newBook.ActiveSheet.Paste

Si quelqu'un a une solution (sans select???), ça serai
formidable
Avatar
D.Lair
Bonjour,
newBook.ActiveSheet.Range("1:1").Copy
....
newBook.ActiveSheet.Cells("2:2").Select
....
--> ne faut-il pas chercher du cote du type d'objet
destinataire (qui est CELLS alors qu'il devrait être RANGE)

Mais, ce n'est peut-etre pas cela la cause...
Amicalement.
DL
-----Message d'origine-----
Bonjour,
je manipule des fichiers excel depuis access et j'ai un
pb tout simple, je n'arrive pas à coller des données
entre 2 feuilles.

Mon code :
Set Xcl = CreateObject("Excel.Application")
Xcl.Visible = True
Xcl.Workbooks.Add
Set newBook = Xcl.Workbooks(1)
'(.... je remplis des données)
' je veux copier les données depuis Feuille1/Ligne2
' vers Feuille2/Ligne2
newBook.Worksheets(1).Activate
newBook.ActiveSheet.Range("1:1").Copy
newBook.Worksheets(2).Activate
' Ici j'ai un pb, le select ne passe pas
newBook.ActiveSheet.Cells("2:2").Select
newBook.ActiveSheet.Paste

Si quelqu'un a une solution (sans select???), ça serai
formidable

.



Avatar
Asterix
bonjour

je pense qu'on peux remplacer la ligne suivante :
newBook.ActiveSheet.Cells("2:2").Select
par
newBook.Cells("2:2").Select

bon courage

Asterix