web-dev-qa-db-fra.com

CopyOrigin lors de l'insertion dans Excel VBA

Quelqu'un peut-il me dire à quoi sert le paramètre CopyOrigin de Insert? Et quelles valeurs acceptera-t-il?

J'ai inclus l'aide de vba (qui n'était pas vraiment utile):

Insère une cellule ou une plage de cellules dans la feuille de calcul ou la feuille macro et décale les autres cellules pour libérer de l'espace.

expression.Insert (Shift, CopyOrigin) expression Obligatoire. Expression qui renvoie un objet Range.

Variante optionnelle de décalage. Spécifie la manière de déplacer les cellules. Peut être l'une des constantes XlInsertShiftDirection suivantes: xlShiftToRight ou xlShiftDown. Si cet argument est omis, Microsoft Excel décide en fonction de la forme de la plage.

Copie facultative de CopyOrigin. La copie d'origine.

19
Craig T

Il prend l'un des paramètres comme indiqué ci-dessous.

Const xlFormatFromLeftOrAbove = 0

Member of Excel.XlInsertFormatOrigin

et...

Const xlFormatFromRightOrBelow = 1

Member of Excel.XlInsertFormatOrigin
22
lakshmanaraj

Ajout aux commentaires de Lakshmanaraj - il récupère l'option de mise en forme en fonction de l'endroit où vous insérez des cellules et de la mise en forme que vous souhaitez choisir.

Disons que vous avez:
première ligne contenant du texte en gras,
la deuxième ligne contient les éléments en italique.
Vous sélectionnez la 2e ligne et exécutez l'expression suivante:

Selection.Insert CopyOrigin:=xlFormatFromLeftOrAbove

La nouvelle ligne est insérée entre la 1ère et la 2ème ligne et elle sélectionne les règles de formatage de la "ligne au-dessus" ou des "cellules à gauche de la cellule".

Dans ce cas, les cellules nouvellement insérées auront du texte en gras sans que vous le définissiez explicitement.

20
shahkalpesh