Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Copie à la volée!

2 réponses
Avatar
Kyvu
Bonsoir =E0 tous,

J'ai une petite macro qui me permet de transf=E9rer une=20
s=E9rie de donn=E9es d'un classeur =E0 un autre, ceci =E0 des fins=20
d'archivages...

Sub Transfert()

...

Windows("Mod=E8le_Audit_2003.xls").Activate
Sheets("Page 01").Select
DateAudit =3D Sheets("Page 01").Cells(54, 8)
Unite =3D Sheets("Page 01").Cells(4, 8)
TypeAudit =3D Sheets("Page 01").Cells(5, 8)
Secteur =3D Sheets("Page 01").Cells(9, 6)

Windows("Gestion_Audits_2003.xls").Activate
Sheets("Main").Select
Sheets("Main").Cells(Ligne, 2) =3D DateAudit
Sheets("Main").Cells(Ligne, 3) =3D Unite
Sheets("Main").Cells(Ligne, 4) =3D TypeAudit
Sheets("Main").Cells(Ligne, 5) =3D Secteur

...

End Sub()

Ici, je passe par des variables pour remplir mon=20
classeur "Gestion_Audits_2003.xls". La variable=20
publique "Ligne" me permet de me placer sur la bonne ligne=20
de la feuille de destination.

J'aimerai pouvoir faire cela en moins de code VBA=20
possible: transf=E9rer mes donn=E9es directement d'un classeur=20
=E0 l'autre sans d'abord les ranger en m=E9moire.

Avez-vous une id=E9e de la syntaxe =E0 utiliser?

Merci d'avance pour votre aide.

@micalement.



Kyvu On Line!

2 réponses

Avatar
j
tu n'as pas besoin d'activer ou de sélectionner pour copier ou coller
tu peux écrire directement :

workbooks("Gestion_Audits_2003.xls").Sheets("Main").Cells(Ligne, 2) workbooks("Modèle_Audit_2003.xls").Sheets("Page 01").Cells(54, 8)



http://jacxl.free.fr/



"Kyvu" a écrit dans le message de news:
01f501c35d0a$34b79b10$
Bonsoir à tous,

J'ai une petite macro qui me permet de transférer une
série de données d'un classeur à un autre, ceci à des fins
d'archivages...

Sub Transfert()

...

Windows("Modèle_Audit_2003.xls").Activate
Sheets("Page 01").Select
DateAudit = Sheets("Page 01").Cells(54, 8)
Unite = Sheets("Page 01").Cells(4, 8)
TypeAudit = Sheets("Page 01").Cells(5, 8)
Secteur = Sheets("Page 01").Cells(9, 6)

Windows("Gestion_Audits_2003.xls").Activate
Sheets("Main").Select
Sheets("Main").Cells(Ligne, 2) = DateAudit
Sheets("Main").Cells(Ligne, 3) = Unite
Sheets("Main").Cells(Ligne, 4) = TypeAudit
Sheets("Main").Cells(Ligne, 5) = Secteur

...

End Sub()

Ici, je passe par des variables pour remplir mon
classeur "Gestion_Audits_2003.xls". La variable
publique "Ligne" me permet de me placer sur la bonne ligne
de la feuille de destination.

J'aimerai pouvoir faire cela en moins de code VBA
possible: transférer mes données directement d'un classeur
à l'autre sans d'abord les ranger en mémoire.

Avez-vous une idée de la syntaxe à utiliser?

Merci d'avance pour votre aide.

@micalement.



Kyvu On Line!
Avatar
Hervé
Salut Kyvu,
Une idée à creuser. Pas testé, à toi de voir. En creusant bien tu doit
pouvoir encore réduire mais est ce bien utile ?

Sub Transfert()
Dim Cl_Mod As Workbook, Cl_Gest As Workbook

Set Cl_Mod = Workbooks("Modèle_Audit_2003.xls")
Set Cl_Gest = Workbooks("Gestion_Audits_2003.xls")

With Cl_Mod.Sheets("Page 01")
Cl_Gest.Sheets("Main").Cells(Ligne, 2) = _
.Cells(54, 8)
Cl_Gest.Sheets("Main").Cells(Ligne, 3) = _
.Cells(4, 8)
Cl_Gest.Sheets("Main").Cells(Ligne, 4) = _
.Cells(5, 8)
Cl_Gest.Sheets("Main").Cells(Ligne, 5) = _
.Cells(9, 6)
End With

Set Cl_Mod = Nothing
Set Cl_Gest = Nothing
End Sub

Hervé.

"Kyvu" a écrit dans le message news:
01f501c35d0a$34b79b10$
Bonsoir à tous,

J'ai une petite macro qui me permet de transférer une
série de données d'un classeur à un autre, ceci à des fins
d'archivages...

Sub Transfert()

...

Windows("Modèle_Audit_2003.xls").Activate
Sheets("Page 01").Select
DateAudit = Sheets("Page 01").Cells(54, 8)
Unite = Sheets("Page 01").Cells(4, 8)
TypeAudit = Sheets("Page 01").Cells(5, 8)
Secteur = Sheets("Page 01").Cells(9, 6)

Windows("Gestion_Audits_2003.xls").Activate
Sheets("Main").Select
Sheets("Main").Cells(Ligne, 2) = DateAudit
Sheets("Main").Cells(Ligne, 3) = Unite
Sheets("Main").Cells(Ligne, 4) = TypeAudit
Sheets("Main").Cells(Ligne, 5) = Secteur

...

End Sub()

Ici, je passe par des variables pour remplir mon
classeur "Gestion_Audits_2003.xls". La variable
publique "Ligne" me permet de me placer sur la bonne ligne
de la feuille de destination.

J'aimerai pouvoir faire cela en moins de code VBA
possible: transférer mes données directement d'un classeur
à l'autre sans d'abord les ranger en mémoire.

Avez-vous une idée de la syntaxe à utiliser?

Merci d'avance pour votre aide.

@micalement.



Kyvu On Line!