UDF > Excel >


_Excel_SheetCopyMove

Copie ou déplace la feuille spécifiée avant ou après une feuille spécifiée dans le même classeur ou dans un autre

#include <Excel.au3>
_Excel_SheetCopyMove ( $oSourceBook [, $vSourceSheet = Default [, $oTargetBook = $oSourceBook [, $vTargetSheet = 1 [, $bBefore = True [, $bCopy = True]]]]] )

Paramètres

$oSourceBook Objet classeur source où se trouve la feuille d'origine
$vSourceSheet [optionnel] Nom, index ou objet feuille à copier/déplacer (par défaut = mot-clé Default = feuille active)
$oTargetBook [optionnel] Objet classeur cible où la feuille doit être copié/déplacé (par défaut = mot-clé Default = $oSourceBook)
$vTargetSheet [optionnel] La feuille copiée/déplacée sera placée avant ou après cette feuille (nom, index ou objet) (par défaut = mot-clé Default = première feuille)
$bBefore [optionnel] La feuille copiée/déplacée sera placée avant $vTargetSheet si True, après si False (par défaut = True)
$bCopy [optionnel] Copie la feuille spécifiée si True, déplace la feuille si False (par défaut = True)

Valeur de retour

Succès: Retourne l'objet feuille copiée/déplacée.
Échec: Retourne 0 et définit @error <> 0.
@error: 1 - $oSourceBook n'est pas un objet ou n'est pas un objet classeur
2 - $oTargetBook n'est pas un objet ou n'est pas un objet classeur
3 - La feuille source spécifiée n'existe pas. Le nom ou l'index n'est pas valide. @extended contient le code d'erreur COM
4 - La feuille cible spécifiée n'existe pas. Le nom ou l'index n'est pas valide. @extended contient le code d'erreur COM
5 - Une erreur s'est produite lors de la copie/déplacement de la feuille. @extended contient le code d'erreur COM

En relation

_Excel_SheetDelete

Exemples

Exemple 1

#include <Excel.au3>
#include <MsgBoxConstants.au3>

; Crée un objet Excel et ouvre un classeur exemple
Local $oExcel = _Excel_Open()
If @error Then Exit MsgBox($MB_SYSTEMMODAL, "UDF Excel: _Excel_SheetCopyMove-Exemple", "Erreur lors de la création de l'objet Excel." & @CRLF & "@error = " & @error & ", @extended = " & @extended)
; Ouvre le classeur 2
Local $oWorkbook2 = _Excel_BookOpen($oExcel, @ScriptDir & "\Extras\_Excel3.xls")
If @error Then
    MsgBox($MB_SYSTEMMODAL, "UDF Excel: _Excel_SheetCopyMove-Exemple", "Erreur lors de l'ouverture du classeur '" & @ScriptDir & "\Extras\_Excel3.xls'." & @CRLF & "@error = " & @error & ", @extended = " & @extended)
    _Excel_Close($oExcel)
    Exit
EndIf
; Ouvre le classeur 1
Local $oWorkbook1 = _Excel_BookOpen($oExcel, @ScriptDir & "\Extras\_Excel1.xls")
If @error Then
    MsgBox($MB_SYSTEMMODAL, "UDF Excel: _Excel_SheetCopyMove-Exemple", "Erreur lors de l'ouverture du classeur '" & @ScriptDir & "\Extras\_Excel1.xls'." & @CRLF & "@error = " & @error & ", @extended = " & @extended)
    _Excel_Close($oExcel)
    Exit
EndIf

; *****************************************************************************
; Copie la feuille 1 après la feuille 3 et définit le nom de la nouvelle feuille
; *****************************************************************************
Local $oCopiedSheet = _Excel_SheetCopyMove($oWorkbook1, 1, Default, 3, False)
If @error Then Exit MsgBox($MB_SYSTEMMODAL, "UDF Excel: _Excel_SheetCopyMove-Exemple 1", "Erreur lors de la copie de la feuille." & @CRLF & "@error = " & @error & ", @extended = " & @extended)
; Définit le nom de la nouvelle feuille
#forceref $oCopiedSheet
$oCopiedSheet.Name = "Feuille copiée"
MsgBox($MB_SYSTEMMODAL, "UDF Excel: _Excel_SheetCopyMove-Exemple 1", "Feuille 1 copiée après la feuille 3 et renommée.")


Exemple 2

#include <Excel.au3>
#include <MsgBoxConstants.au3>

; Crée un objet Excel et ouvre un classeur
Local $oExcel = _Excel_Open()
If @error Then Exit MsgBox($MB_SYSTEMMODAL, "UDF Excel: _Excel_SheetCopyMove-Exemple", "Erreur lors de la création de l'objet Excel." & @CRLF & "@error = " & @error & ", @extended = " & @extended)
; Ouvre le classeur 2
Local $oWorkbook2 = _Excel_BookOpen($oExcel, @ScriptDir & "\Extras\_Excel3.xls")
If @error Then
    MsgBox($MB_SYSTEMMODAL, "UDF Excel: _Excel_SheetCopyMove-Exemple", "Erreur lors de l'ouverture du classeur '" & @ScriptDir & "\Extras\_Excel3.xls'." & @CRLF & "@error = " & @error & ", @extended = " & @extended)
    _Excel_Close($oExcel)
    Exit
EndIf
; Ouvre le classeur 1
Local $oWorkbook1 = _Excel_BookOpen($oExcel, @ScriptDir & "\Extras\_Excel1.xls")
If @error Then
    MsgBox($MB_SYSTEMMODAL, "UDF Excel: _Excel_SheetCopyMove-Exemple", "Erreur lors de l'ouverture du classeur '" & @ScriptDir & "\Extras\_Excel1.xls'." & @CRLF & "@error = " & @error & ", @extended = " & @extended)
    _Excel_Close($oExcel)
    Exit
EndIf

; *****************************************************************************
; Déplace la feuille 2 avant la feuille 1 et définit le nom de la feuille déplacée
; *****************************************************************************
Local $oMovedSheet = _Excel_SheetCopyMove($oWorkbook1, 2, Default, 1, Default, False)
If @error Then Exit MsgBox($MB_SYSTEMMODAL, "UDF Excel: _Excel_SheetCopyMove-Exemple 2", "Erreur lors du déplacement de la feuille." & @CRLF & "@error = " & @error & ", @extended = " & @extended)
; Définit le nom de la nouvelle feuille
#forceref $oMovedSheet
$oMovedSheet.Name = "Feuille déplacée"
MsgBox($MB_SYSTEMMODAL, "UDF Excel: _Excel_SheetCopyMove-Exemple 2", "Feuille 2 déplacée avant la feuille 1.")


Exemple 3

#include <Excel.au3>
#include <MsgBoxConstants.au3>

; Crée un objet Excel et ouvre un classeur exemple
Local $oExcel = _Excel_Open()
If @error Then Exit MsgBox($MB_SYSTEMMODAL, "UDF Excel: _Excel_SheetCopyMove-Exemple", "Erreur lors de la création de l'objet Excel." & @CRLF & "@error = " & @error & ", @extended = " & @extended)
; Ouvre le classeur 2
Local $oWorkbook2 = _Excel_BookOpen($oExcel, @ScriptDir & "\Extras\_Excel3.xls")
If @error Then
    MsgBox($MB_SYSTEMMODAL, "UDF Excel: _Excel_SheetCopyMove-Exemple", "Erreur lors de l'ouverture du classeur '" & @ScriptDir & "\Extras\_Excel3.xls'." & @CRLF & "@error = " & @error & ", @extended = " & @extended)
    _Excel_Close($oExcel)
    Exit
EndIf
; Ouvre le classeur 1
Local $oWorkbook1 = _Excel_BookOpen($oExcel, @ScriptDir & "\Extras\_Excel1.xls")
If @error Then
    MsgBox($MB_SYSTEMMODAL, "UDF Excel: _Excel_SheetCopyMove-Exemple", "Erreur lors de l'ouverture du classeur '" & @ScriptDir & "\Extras\_Excel1.xls'." & @CRLF & "@error = " & @error & ", @extended = " & @extended)
    _Excel_Close($oExcel)
    Exit
EndIf

; *****************************************************************************
; Copie la feuille 3 du classeur 1 après la feuille 3 du classeur 2
; *****************************************************************************
_Excel_SheetCopyMove($oWorkbook1, 3, $oWorkbook2, 3, False)
If @error Then Exit MsgBox($MB_SYSTEMMODAL, "UDF Excel: _Excel_SheetCopyMove-Exemple 3", "Erreur lors de la copie de la feuille." & @CRLF & "@error = " & @error & ", @extended = " & @extended)
MsgBox($MB_SYSTEMMODAL, "UDF Excel: _Excel_SheetCopyMove-Exemple 3", "Workbook21 Feuille 3 copiée dans Workbook2 après feuille 3.")


Exemple 4

#include <Excel.au3>
#include <MsgBoxConstants.au3>

; Crée un objet Excel et ouvre un classeur exemple
Local $oExcel = _Excel_Open()
If @error Then Exit MsgBox($MB_SYSTEMMODAL, "UDF Excel: _Excel_SheetCopyMove-Exemple", "Erreur lors de la création de l'objet Excel." & @CRLF & "@error = " & @error & ", @extended = " & @extended)
; Ouvre le classeur 2
Local $oWorkbook2 = _Excel_BookOpen($oExcel, @ScriptDir & "\Extras\_Excel3.xls", True)
If @error Then
    MsgBox($MB_SYSTEMMODAL, "UDF Excel: _Excel_SheetCopyMove-Exemple", "Erreur lors de l'ouverture du classeur '" & @ScriptDir & "\Extras\_Excel3.xls'." & @CRLF & "@error = " & @error & ", @extended = " & @extended)
    _Excel_Close($oExcel)
    Exit
EndIf
; Ouvre le classeur 1
Local $oWorkbook1 = _Excel_BookOpen($oExcel, @ScriptDir & "\Extras\_Excel1.xls", True)
If @error Then
    MsgBox($MB_SYSTEMMODAL, "UDF Excel: _Excel_SheetCopyMove-Exemple", "Erreur lors de l'ouverture du classeur '" & @ScriptDir & "\Extras\_Excel1.xls'." & @CRLF & "@error = " & @error & ", @extended = " & @extended)
    _Excel_Close($oExcel)
    Exit
EndIf

; *****************************************************************************
; Déplace la feuille 1 du classeur 1 avant la feuille 1 du classeur 2
; *****************************************************************************
_Excel_SheetCopyMove($oWorkbook1, 1, $oWorkbook2, 1, Default, False)
If @error Then Exit MsgBox($MB_SYSTEMMODAL, "UDF Excel: _Excel_SheetCopyMove-Exemple 4", "Erreur lors du déplacement de la feuille." & @CRLF & "@error = " & @error & ", @extended = " & @extended)
MsgBox($MB_SYSTEMMODAL, "UDF Excel: _Excel_SheetCopyMove-Exemple 4", "Classeur 1 feuille 1 déplacée dans classeur 2 avant la feuille 1.")