Ajoute de nouvelles feuilles à un classeur et définit leur nom
#include <Excel.au3>
_Excel_SheetAdd ( $oWorkbook [, $vSheet = Default [, $bBefore = True [, $iCount = 1 [, $sName = ""]]]] )
$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 |
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 |
#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.")
#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.")
#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.")