Partager via


xlSet

S’applique à: Excel 2013 | Office 2013 | Visual Studio

Place des valeurs constantes dans des cellules ou des plages très rapidement. Pour plus d’informations, consultez « xlSet and Workbooks with Array Formulas » dans Problèmes connus dans le développement Excel XLL.

Excel12(xlSet, LPXLOPER12 pxRes, 2, LPXLOPER12 pxReference, LPXLOPER pxValue);

Paramètres

pxReference (xltypeRef ou xltypeSRef)

Référence rectangulaire décrivant la ou les cellules cibles. La référence doit décrire les cellules adjacentes, de sorte que dans un xltypeRefval.mref.lpmref->count doit être défini sur 1.

pxValue

Valeur ou valeurs à placer dans la ou les cellules. Pour plus d’informations, consultez la section « Notes ».

Remarques

argument pxValue

pxValue peut être une valeur ou un tableau. S’il s’agit d’une valeur, la plage de destination entière est remplie avec cette valeur. S’il s’agit d’un tableau (xltypeMulti), les éléments du tableau sont placés dans les emplacements correspondants dans le rectangle.

Si vous utilisez un tableau horizontal pour le deuxième argument, il est dupliqué vers le bas pour remplir le rectangle entier. Si vous utilisez un tableau vertical, il est dupliqué à droite pour remplir le rectangle entier. Si vous utilisez un tableau rectangulaire et qu’il est trop petit pour la plage rectangulaire dans laquelle vous souhaitez le placer, cette plage est complétée avec des #N/A.

Si la plage cible est plus petite que le tableau source, les valeurs sont copiées jusqu’aux limites de la plage cible et les données supplémentaires sont ignorées.

Pour effacer un élément du rectangle de destination, utilisez un élément de tableau de type xltypeNil dans le tableau source. Pour effacer l’intégralité du rectangle de destination, omettez le deuxième argument.

Restrictions

xlSet ne peut pas être annulé. En outre, il détruit toutes les informations d’annulation qui ont pu être disponibles auparavant.

xlSet peut placer uniquement des constantes, et non des formules, dans des cellules.

xlSet se comporte comme une fonction équivalente à une commande de classe 3 ; autrement dit, elle est disponible uniquement dans une DLL lorsque la DLL est appelée à partir d’un objet, d’une macro, d’un menu, d’une barre d’outils, d’une touche de raccourci ou du bouton Exécuter dans la boîte de dialogue Macro (accessible à partir de l’onglet Affichage du ruban à partir d’Excel 2007 et du menu Outils dans les versions antérieures).

Exemple

L’exemple suivant remplit B205 :B206 avec la valeur qui a été transmise à partir d’une macro. Cet exemple de fonction de commande nécessite un argument et fonctionne donc uniquement si elle est appelée à partir d’une feuille macro XLM ou d’un module VBA à l’aide de la méthode Application.Run .

\SAMPLES\EXAMPLE\EXAMPLE.C

short WINAPI xlSetExample(short int iVal)
{
   XLOPER12 xRef, xValue;
   xRef.xltype = xltypeSRef;
   xRef.val.sref.count = 1;
   xRef.val.sref.ref.rwFirst = 204;
   xRef.val.sref.ref.rwLast = 205;
   xRef.val.sref.ref.colFirst = 1;
   xRef.val.sref.ref.colLast = 1;
   xValue.xltype = xltypeInt;
   xValue.val.w = iVal;
   Excel12(xlSet, 0, 2, (LPXLOPER12)&xRef, (LPXLOPER12)&xValue);
   return 1;
}

Voir aussi