Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

VBA : utilisation de fonctions Excel

3 réponses
Avatar
PYR
Re-bonsoir

Une autre petite question pour un cas dont je ne m'explique pas l'origine
(ou cause)

Dans mon code VBA, je veux utiliser la commande Excel "index" :
J'ai saisi : CommandButton9.Caption =
Application.WorksheetFunction.Index(Range("Liste").Value, Choix, 1) => Liste
étant un nom de liste dans Excel, Choix étant une variable de mon code
==>> cela fonctionne très bien.

Maintenant je veux utiliser la commande Excel "equiv" :
Je saisi de la même manière : Valeur =
Application.WorksheetFunction.equiv(CommandButton9.Caption,
Range("Liste").Value, 0) => Liste étant la même que pour l'utilisation de la
commande Excel "index" ci-dessus
==>> cela ne fonctionne pas du tout (le mot '.equiv' n'a pas été transformé
en '.Equiv' lors de la compilation signe de la non reconnaissance de la
commande) alors que la syntaxe côté Excel de la formule "equiv" est correcte
(testé).

Auriez-vous une idée pour l'explication et comment pouvoir y remédier ?

Encore merci d'avance.

3 réponses

Avatar
isabelle
bonjour Pyr,

essai comme ça,

Valeur = Application.Match(CommandButton9.Caption, [Liste], 0)

isabelle

PYR a écrit :
Re-bonsoir

Une autre petite question pour un cas dont je ne m'explique pas
l'origine (ou cause)

Dans mon code VBA, je veux utiliser la commande Excel "index" :
J'ai saisi : CommandButton9.Caption =
Application.WorksheetFunction.Index(Range("Liste").Value, Choix, 1) =>
Liste étant un nom de liste dans Excel, Choix étant une variable de
mon code
==>> cela fonctionne très bien.

Maintenant je veux utiliser la commande Excel "equiv" :
Je saisi de la même manière : Valeur =
Application.WorksheetFunction.equiv(CommandButton9.Caption,
Range("Liste").Value, 0) => Liste étant la même que pour l'utilisation
de la commande Excel "index" ci-dessus
==>> cela ne fonctionne pas du tout (le mot '.equiv' n'a pas été
transformé en '.Equiv' lors de la compilation signe de la non
reconnaissance de la commande) alors que la syntaxe côté Excel de la
formule "equiv" est correcte (testé).

Auriez-vous une idée pour l'explication et comment pouvoir y remédier ?

Encore merci d'avance.


Avatar
PYR
Encore une fois merci Isabelle car cela fonctionne super.

Avec ton instruction, je suis allé voir la doc en ligne et ai vu la liste
des commandes Excel utilisables via WorksheetFunction dans VBA.
==> Index y est , Equiv non.

Bonne soirée


"isabelle" a écrit dans le message de
news:
bonjour Pyr,

essai comme ça,

Valeur = Application.Match(CommandButton9.Caption, [Liste], 0)

isabelle

PYR a écrit :
Re-bonsoir

Une autre petite question pour un cas dont je ne m'explique pas l'origine
(ou cause)

Dans mon code VBA, je veux utiliser la commande Excel "index" :
J'ai saisi : CommandButton9.Caption =
Application.WorksheetFunction.Index(Range("Liste").Value, Choix, 1) =>
Liste étant un nom de liste dans Excel, Choix étant une variable de mon
code
==>> cela fonctionne très bien.

Maintenant je veux utiliser la commande Excel "equiv" :
Je saisi de la même manière : Valeur =
Application.WorksheetFunction.equiv(CommandButton9.Caption,
Range("Liste").Value, 0) => Liste étant la même que pour l'utilisation de
la commande Excel "index" ci-dessus
==>> cela ne fonctionne pas du tout (le mot '.equiv' n'a pas été
transformé en '.Equiv' lors de la compilation signe de la non
reconnaissance de la commande) alors que la syntaxe côté Excel de la
formule "equiv" est correcte (testé).

Auriez-vous une idée pour l'explication et comment pouvoir y remédier ?

Encore merci d'avance.




Avatar
isabelle
bonjour Pyr,

oui, c'est qu'avec vba c'est le nom en anglais qu'il faut utiliser,
Index se traduit par Index et Equiv se traduit par Match

isabelle

PYR a écrit :
Encore une fois merci Isabelle car cela fonctionne super.

Avec ton instruction, je suis allé voir la doc en ligne et ai vu la
liste des commandes Excel utilisables via WorksheetFunction dans VBA.
==> Index y est , Equiv non.

Bonne soirée


"isabelle" a écrit dans le message de
news:
bonjour Pyr,

essai comme ça,

Valeur = Application.Match(CommandButton9.Caption, [Liste], 0)

isabelle

PYR a écrit :
Re-bonsoir

Une autre petite question pour un cas dont je ne m'explique pas
l'origine (ou cause)

Dans mon code VBA, je veux utiliser la commande Excel "index" :
J'ai saisi : CommandButton9.Caption =
Application.WorksheetFunction.Index(Range("Liste").Value, Choix, 1)
=> Liste étant un nom de liste dans Excel, Choix étant une variable
de mon code
==>> cela fonctionne très bien.

Maintenant je veux utiliser la commande Excel "equiv" :
Je saisi de la même manière : Valeur =
Application.WorksheetFunction.equiv(CommandButton9.Caption,
Range("Liste").Value, 0) => Liste étant la même que pour
l'utilisation de la commande Excel "index" ci-dessus
==>> cela ne fonctionne pas du tout (le mot '.equiv' n'a pas été
transformé en '.Equiv' lors de la compilation signe de la non
reconnaissance de la commande) alors que la syntaxe côté Excel de la
formule "equiv" est correcte (testé).

Auriez-vous une idée pour l'explication et comment pouvoir y remédier ?

Encore merci d'avance.