OVH Cloud OVH Cloud

Macro : ouverture multiple d'un nouveau classeur créé

2 réponses
Avatar
Françoise
bonjour à tous,
dans une macro, je veux :
- copier une zone de la feuille courante
- ouvrir un nouveau dossier
- coller la zone sélectionnée
- revenir sur la feuille d'origine
- sélectionner une nouvelle zone
- REVENIR DANS LE NOUVEAU CLASSEUR CREE
- copier la nouvelle zone sous la première
----
voici ma macro :
----
Rows("1:15").Select
Selection.Copy
Workbooks.Add
Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone,
SkipBlanks:= _
False, Transpose:=False
Windows("BDCDIRECTAGENT.xls").Activate
Application.CutCopyMode = False
Rows("16:201").Select
Selection.Copy
Windows("Classeur8").Activate
Selection.PasteSpecial Paste:=xlPasteValuesAndNumberFormats, Operation:= _
xlNone, SkipBlanks:=False, Transpose:=False
Range("A16").Select
Application.CutCopyMode = False
-------
Pouvez-vous m'aider à donner la bonne instruction pour l'ouverture du
NOUVEAU CLASSEUR ?
d'avance merci
Francoise

2 réponses

Avatar
MichDenis
Bonjour Françoise,

Cette macro copie l'intégralité de la feuil1 dans un nouveau classeur.

'-------------------
Sub CopierUneFeuille()
With ThisWorkbook
With .Worksheets("Feuil1")
.copy
end with
end with
End Sub
'-------------------


Salutations!


"Françoise" a écrit dans le message de news:

bonjour à tous,
dans une macro, je veux :
- copier une zone de la feuille courante
- ouvrir un nouveau dossier
- coller la zone sélectionnée
- revenir sur la feuille d'origine
- sélectionner une nouvelle zone
- REVENIR DANS LE NOUVEAU CLASSEUR CREE
- copier la nouvelle zone sous la première
----
voici ma macro :
----
Rows("1:15").Select
Selection.Copy
Workbooks.Add
Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone,
SkipBlanks:= _
False, Transpose:úlse
Windows("BDCDIRECTAGENT.xls").Activate
Application.CutCopyMode = False
Rows("16:201").Select
Selection.Copy
Windows("Classeur8").Activate
Selection.PasteSpecial Paste:=xlPasteValuesAndNumberFormats, Operation:= _
xlNone, SkipBlanks:úlse, Transpose:úlse
Range("A16").Select
Application.CutCopyMode = False
-------
Pouvez-vous m'aider à donner la bonne instruction pour l'ouverture du
NOUVEAU CLASSEUR ?
d'avance merci
Francoise
Avatar
Gaenonius
Tu pourrais essayer en évitant les sélections et activations diverses :

Sub DeLunALautre()
Dim Lun As Workbook, Lautre As Workbook

Set Lun = Workbooks("BDCDIRECTAGENT.xls")
Set Lautre = Workbooks.Add

Lun.ActiveSheet.Rows("1:15").Copy Lautre.ActiveSheet.Rows("1:15")
Lun.ActiveSheet.Rows("16:201").Copy Lautre.ActiveSheet.Rows("16:201")

End Sub

L'idée est d'affecter le nouveau classeur à une variable. Ainsi tu n'as pas
besoin par la suite de savoir quel nom par défaut Excel lui a attribué pour
pouvoir travailler dedans.

--
Gaenonius

bonjour à tous,
dans une macro, je veux :
- copier une zone de la feuille courante
- ouvrir un nouveau dossier
- coller la zone sélectionnée
- revenir sur la feuille d'origine
- sélectionner une nouvelle zone
- REVENIR DANS LE NOUVEAU CLASSEUR CREE
- copier la nouvelle zone sous la première
----
voici ma macro :
----
Rows("1:15").Select
Selection.Copy
Workbooks.Add
Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone,
SkipBlanks:= _
False, Transpose:úlse
Windows("BDCDIRECTAGENT.xls").Activate
Application.CutCopyMode = False
Rows("16:201").Select
Selection.Copy
Windows("Classeur8").Activate
Selection.PasteSpecial Paste:=xlPasteValuesAndNumberFormats, Operation:= _
xlNone, SkipBlanks:úlse, Transpose:úlse
Range("A16").Select
Application.CutCopyMode = False
-------
Pouvez-vous m'aider à donner la bonne instruction pour l'ouverture du
NOUVEAU CLASSEUR ?
d'avance merci
Francoise