!DOCTYPE html>

UDF > Excel >


_Excel_SheetAdd

Ajoute de nouvelles feuilles à un classeur et définit leur nom

#include <Excel.au3>
_Excel_SheetAdd ( $oWorkbook [, $vSheet = Default [, $bBefore = True [, $iCount = 1 [, $sName = ""]]]] )

Paramètres

$oWorkbook Un objet classeur
$vSheet [optionnel] Objet, index ou nom de la feuille qui sera avant/après de la nouvelle feuille à insérer.
    -1 = Insère avant/après la dernière feuille (par défaut = mot-clé Default = feuille de calcul active)
$bBefore [optionnel] La nouvelle feuille sera insérée avant $vSheet si True, après $vSheet si False (par défaut = True)
$iCount [optionnel] Nombre de feuilles à insérer (par défaut = 1). Le maximum est de 255
$sName [optionnel] Nom(s) des feuille(s) à créer (par défaut = "" = convention standard des nouvelles feuilles Excel).
    Lorsque $iCount > 1 les noms multiples peuvent être fournis séparés par | (barre verticale). Les feuilles sont nommées de gauche à droite

Valeur de retour

Succès: Retourne l'objet (première) feuille ajoutée.
Échec: Retourne 0 et définit @error <> 0.
@error: 1 - $oWorkbook n'est pas un objet ou n'est pas un objet classeur
2 - $vSheet n'est pas valide. Le nom ou l'index n'existe pas. @extended contient le code d'erreur COM
3 - La feuille spécifiée existe déjà. @extended contient le nombre de noms dans $sName
4 - Une erreur s'est produite lors de l'ajout de la feuille. @extended contient le code d'erreur COM
5 - Une erreur s'est produite lors de la création du nom de la nouvelle(s) feuille(s). @extended contient le code d'erreur COM
6 - Le paramètre $iCount > 255

En relation

_Excel_SheetDelete

Exemples

Exemple 1

#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_SheetAdd-Exemple", "Erreur lors de la création de l'objet Excel." & @CRLF & "@error = " & @error & ", @extended = " & @extended)
Local $oWorkbook = _Excel_BookOpen($oExcel, @ScriptDir & "\Extras\_Excel1.xls")
If @error Then
    MsgBox($MB_SYSTEMMODAL, "UDF Excel: _Excel_SheetAdd-Exemple", "Erreur lors de l'ouverture du classeur '" & @ScriptDir & "\_Extras\Excel1.xls'." & @CRLF & "@error = " & @error & ", @extended = " & @extended)
    _Excel_Close($oExcel)
    Exit
EndIf

; *****************************************************************************
; Insère deux feuilles après la dernière feuille et les nomme
; *****************************************************************************
_Excel_SheetAdd($oWorkbook, -1, False, 2, "Test1|Test2")
If @error Then Exit MsgBox($MB_SYSTEMMODAL, "UDF Excel: _Excel_SheetAdd-Exemple 1", "Erreur lors de l'addition des feuilles." & @CRLF & "@error = " & @error & ", @extended = " & @extended)
MsgBox($MB_SYSTEMMODAL, "UDF Excel: _Excel_SheetAdd-Exemple 1", "Deux feuilles ajoutées après la dernière.")


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_SheetAdd-Exemple", "Erreur lors de la création de l'objet Excel." & @CRLF & "@error = " & @error & ", @extended = " & @extended)
Local $oWorkbook = _Excel_BookOpen($oExcel, @ScriptDir & "\Extras\_Excel1.xls", True)
If @error Then
    MsgBox($MB_SYSTEMMODAL, "UDF Excel: _Excel_SheetAdd-Exemple", "Erreur lors de l'ouverture du classeur '" & @ScriptDir & "\Extras\_Excel1.xls'." & @CRLF & "@error = " & @error & ", @extended = " & @extended)
    _Excel_Close($oExcel)
    Exit
EndIf

; *****************************************************************************
; Insère une feuille avant la feuille 2. Le nom est le nom par défaut
; *****************************************************************************
_Excel_SheetAdd($oWorkbook, 2)
If @error Then Exit MsgBox($MB_SYSTEMMODAL, "UDF Excel: _Excel_SheetAdd-Exemple 2", "Erreur lors de l'addition de la feuille." & @CRLF & "@error = " & @error & ", @extended = " & @extended)
MsgBox($MB_SYSTEMMODAL, "UDF Excel: _Excel_SheetAdd-Exemple 2", "Feuille ajoutée avant la feuille 2.")


Exemple 3

#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_SheetAdd-Exemple", "Erreur lors de la création de l'objet Excel." & @CRLF & "@error = " & @error & ", @extended = " & @extended)
Local $oWorkbook = _Excel_BookOpen($oExcel, @ScriptDir & "\Extras\_Excel1.xls", True)
If @error Then
    MsgBox($MB_SYSTEMMODAL, "UDF Excel: _Excel_SheetAdd-Exemple", "Erreur lors de l'ouverture du classeur '" & @ScriptDir & "\Extras\_Excel1.xls'." & @CRLF & "@error = " & @error & ", @extended = " & @extended)
    _Excel_Close($oExcel)
    Exit
EndIf

; *****************************************************************************
; Insére une feuille définie par son index avec des liens vers toutes les autres feuilles
; Noms des feuilles gérés avec les espaces corrects.
; *****************************************************************************
Local $oSheet = _Excel_SheetAdd($oWorkbook, 1, True, 1, "Index")
If @error Then Exit MsgBox($MB_SYSTEMMODAL, "UDF Excel: _Excel_SheetAdd-Exemple 3", "Erreur lors de l'addition de la feuille." & @CRLF & "@error = " & @error & ", @extended = " & @extended)
$oSheet.Range("A1").Value = "Index"
Local $iRow = 2
For $iSheet = 2 To $oWorkbook.Sheets.Count
    $oSheet.Cells($iRow, 1).Value = $iRow - 1
    $oSheet.Cells($iRow, 2).Value = $oWorkbook.Worksheets($iRow).Name
    $oSheet.Hyperlinks.Add($oSheet.Cells($iRow, 2), "", $oSheet.Cells($iRow, 2).Value & "!A1")
    $iRow = $iRow + 1
Next
MsgBox($MB_SYSTEMMODAL, "UDF Excel: _Excel_SheetAdd-Exemple 3", "L'index de la feuille insérée est 1.")