Ajoute la validation des donn�es � la plage sp�cifi�e
#include <Excel.au3>
_Excel_RangeValidate ( $oWorkbook, $vWorksheet, $vRange, $iType, $sFormula1 [, $iOperator = Default [, $sFormula2 = Default [, $bIgnoreBlank = True [, $iAlertStyle = $xlValidAlertStop [, $sErrorMessage = Default [, $sInputMessage = Default]]]]]] )
$oWorkbook | Objet classeur Excel |
$vWorksheet | Nom, index ou objet feuille de calcul. Si la valeur est Default, la feuille active sera utilis�e |
$vRange | Un objet plage, une plage $xlA1 ou le mot-cl� Default pour valider toutes les cellules de la feuille de calcul sp�cifi�e |
$iType | Le type de validation. Peut �tre toute valeur de l'�num�ration XlDVType |
$sFormula1 | La premi�re partie de l'�quation de la validation des donn�es |
$iOperator | [optionnel] L'op�rateur de validation des donn�es. Peut �tre toute valeur de l'�num�ration XlFormatConditionOperator (par d�faut = mot-cl� Default ) |
$sFormula2 | [optionnel] La deuxi�me partie de la validation des donn�es lorsque $iOperator est $xlBetween ou $xlNotBetween. Sinon, il est ignor� (par d�faut = mot-cl� Default) |
$bIgnoreBlank | [optionnel] Si la valeur est True, la donn�e de la cellule est consid�r�e comme valide si la cellule est vide (valeur par d�faut = True) |
$iAlertStyle | [optionnel] Le style d'alerte de validation. Peut �tre toute valeur de l'�num�ration XlDVAlertStyle (par d�faut = $xlValidAlertStop) |
$sErrorMessage | [optionnel] Message � afficher dans un MsgBox lorsqu'une donn�e invalide a �t� saisi (par d�faut = mot-cl� Default ) |
$sInputMessage | [optionnel] Message � afficher dans une info-bulle lorsque vous commencez � entrer des donn�es (par d�faut = mot-cl� Default ) |
Succ�s: | Retourne l'objet plage. |
�chec: | Retourne 0 et d�finit @error <> 0. |
@error: | 1 - $oWorkbook n'est pas un objet ou n'est pas un objet classeur 2 - Le nom ou l'index $vWorksheet n'est pas valide ou $vWorksheet n'est pas un objet feuille de calcul. @extended contient le code d'erreur COM 3 - $vRange n'est pas valide. @extended contient le code d'erreur COM 4 - Erreur renvoy�e par la m�thode Add. @extended contient le code d'erreur COM |
Le param�tre $bDisplayAlerts de la fonction _Excel_Open doit �tre mis � True pour afficher $sErrorMessage.
Si vous souhaitez valider de nouveau une liste de valeurs stock�es dans une autre plage de cellules ( $iType = $xlValidateList ) alors $sFormula1 doit commencer par un "=" (par exemple "=C:C").
Avant d'ajouter une nouvelle r�gle de validation � une plage, la fonction supprime les r�gles de validation existantes pour la plage.
#include <Excel.au3> #include <MsgBoxConstants.au3> ; Cr�e un objet Excel et ouvre un classeur Local $oExcel = _Excel_Open(True, True) If @error Then Exit MsgBox($MB_SYSTEMMODAL, "UDF Excel: _Excel_RangeValidate-Exemple", "Erreur lors de la cr�ation de l'objet Excel." & @CRLF & "@error = " & @error & ", @extended = " & @extended) Local $oWorkbook = _Excel_BookNew($oExcel) If @error Then MsgBox($MB_SYSTEMMODAL, "UDF Excel: _Excel_RangeValidate-Exemple", "Erreur lors de la cr�ation du nouveau classeur." & @CRLF & "@error = " & @error & ", @extended = " & @extended) _Excel_Close($oExcel) Exit EndIf ; ***************************************************************************** ; Seules les valeurs de la liste sont valides ; ***************************************************************************** _Excel_RangeValidate($oWorkbook, Default, "A1:A10", $xlValidateList, "Yes;No;Don't know") If @error Then Exit MsgBox($MB_SYSTEMMODAL, "UDF Excel: _Excel_RangeValidate-Exemple 1", "Erreur lors de la validation de la plage." & @CRLF & "@error = " & @error & ", @extended = " & @extended) MsgBox($MB_SYSTEMMODAL, "UDF Excel: _Excel_RangeValidate-Exemple 1", "Validation par rapport � une liste de valeurs d�finie avec succ�s pour la plage 'A1:A10'.")
#include <Excel.au3> #include <MsgBoxConstants.au3> ; Cr�e un objet Excel et ouvre un classeur exemple Local $oExcel = _Excel_Open(True, True) If @error Then Exit MsgBox($MB_SYSTEMMODAL, "UDF Excel: _Excel_RangeValidate-Exemple", "Erreur lors de la cr�ation de l'objet Excel." & @CRLF & "@error = " & @error & ", @extended = " & @extended) Local $oWorkbook = _Excel_BookNew($oExcel) If @error Then MsgBox($MB_SYSTEMMODAL, "UDF Excel: _Excel_RangeValidate-Exemple", "Erreur lors de la cr�ation du nouveau classeur." & @CRLF & "@error = " & @error & ", @extended = " & @extended) _Excel_Close($oExcel) Exit EndIf ; ***************************************************************************** ; Seules les valeurs � partir d'une liste d�finie dans une plage de cellules (colonne 'D') sont valides ; ***************************************************************************** ; �crit des valeurs dans une plage Local $aValidation[] = ["10", "20", "30", "40", "50"] _Excel_RangeWrite($oWorkbook, Default, $aValidation, "D1") ; Seules les valeurs de la plage sont valides _Excel_RangeValidate($oWorkbook, Default, "C:C", $xlValidateList, "=D:D") If @error Then Exit MsgBox($MB_SYSTEMMODAL, "UDF Excel: _Excel_RangeValidate-Exemple 2", "Erreur lors de la validation de la plage." & @CRLF & "@error = " & @error & ", @extended = " & @extended) MsgBox($MB_SYSTEMMODAL, "UDF Excel: _Excel_RangeValidate-Exemple 2", "Validation par rapport � une liste de valeurs d�finie avec succ�s pour la colonne 'C'.")
#include <Excel.au3> #include <MsgBoxConstants.au3> ; Cr�e un objet Excel et ouvre un classeur Local $oExcel = _Excel_Open(True, True) If @error Then Exit MsgBox($MB_SYSTEMMODAL, "UDF Excel: _Excel_RangeValidate-Exemple", "Erreur lors de la cr�ation de l'objet Excel." & @CRLF & "@error = " & @error & ", @extended = " & @extended) Local $oWorkbook = _Excel_BookNew($oExcel) If @error Then MsgBox($MB_SYSTEMMODAL, "UDF Excel: _Excel_RangeValidate-Exemple", "Erreur lors de la cr�ation du nouveau classeur." & @CRLF & "@error = " & @error & ", @extended = " & @extended) _Excel_Close($oExcel) Exit EndIf ; ***************************************************************************** ; Seules les valeurs num�riques sont valides ; ***************************************************************************** _Excel_RangeValidate($oWorkbook, Default, "B:B", $xlValidateDecimal, 0, $xlGreater, Default, Default, $xlValidAlertStop, "You entered a non numeric value!", "Only numeric values are valid.") If @error Then Exit MsgBox($MB_SYSTEMMODAL, "UDF Excel: _Excel_RangeValidate-Exemple 3", "Erreur lors de la validation de la plage." & @CRLF & "@error = " & @error & ", @extended = " & @extended) MsgBox($MB_SYSTEMMODAL, "UDF Excel: _Excel_RangeValidate-Exemple 3", "Seulement des valeurs num�riques sont valides dans la colonne 'B'.")
#include <Excel.au3> #include <MsgBoxConstants.au3> ; Cr�e un objet Excel et ouvre un classeur Local $oExcel = _Excel_Open(True, True) If @error Then Exit MsgBox($MB_SYSTEMMODAL, "UDF Excel: _Excel_RangeValidate-Exemple", "Erreur lors de la cr�ation de l'objet Excel." & @CRLF & "@error = " & @error & ", @extended = " & @extended) Local $oWorkbook = _Excel_BookNew($oExcel) If @error Then MsgBox($MB_SYSTEMMODAL, "UDF Excel: _Excel_RangeValidate-Exemple", "Erreur lors de la cr�ation du nouveau classeur." & @CRLF & "@error = " & @error & ", @extended = " & @extended) _Excel_Close($oExcel) Exit EndIf ; ***************************************************************************** ; Validation personnalis�e: la somme de toutes les cellules dans la colonne 'E' doit �tre < 100 ; ***************************************************************************** _Excel_RangeValidate($oWorkbook, Default, "E:E", $xlValidateCustom, "=SUMME(E:E)<=100", Default, Default, Default, Default, "Somme de toutes les cellules de la colonn 'E' > 100.") If @error Then Exit MsgBox($MB_SYSTEMMODAL, "UDF Excel: _Excel_RangeValidate-Exemple 4", "Erreur lors de la validation de la plage." & @CRLF & "@error = " & @error & ", @extended = " & @extended) MsgBox($MB_SYSTEMMODAL, "UDF Excel: _Excel_RangeValidate-Exemple 4", "La somme de toutes les cellules de la colonne 'E' est < 100.")