OVH Cloud OVH Cloud

Fonction Non définie

4 réponses
Avatar
Pierre
J'utilise la fonction Index(tableau; Ligne;Colonne) dans=20
une feuille de calcul Sans probl=E8me.
Lorsque j'utilise la fonction dans un module VBA dans le=20
m=EAme classeur Index(tableau, Ligne,Colonne), m=EAme nom en=20
fran=E7ais et en anglais, un message d'erreur de compil est=20
affich=E9 "Sub ou Function non d=E9finie".

Que dois-je faire?

Merci d'avance

4 réponses

Avatar
moi..................
la traduction est: match() en vba

Bye
-----Message d'origine-----
J'utilise la fonction Index(tableau; Ligne;Colonne) dans
une feuille de calcul Sans problème.
Lorsque j'utilise la fonction dans un module VBA dans le
même classeur Index(tableau, Ligne,Colonne), même nom en
français et en anglais, un message d'erreur de compil est
affiché "Sub ou Function non définie".

Que dois-je faire?

Merci d'avance
.



Avatar
AV
.J'utilise la fonction Index(tableau; Ligne;Colonne) dans
une feuille de calcul Sans problème.
Lorsque j'utilise la fonction dans un module VBA dans le
même classeur Index(tableau, Ligne,Colonne.....

Application.Index(...,...,...)

AV
Avatar
Michel Gaboly
Bonjour,

Match est la traduction d'EQUIV(), pas de INDEX() ;-((

Simplement, on ne peut pas utiliser directement les fonctions
de feuille de calcul dans VBA.

Il faut écrire :

Application.WorksheetFunction.xxx

où "xxx" est le nom en anglais de la fonction, ici

Application.WorksheetFunction.Index

Autre exemple

Application.WorksheetFunction.Substitute, pourla fonction
SUBSTITUER(), très utile avec Excel 97 ou les versions Mac,
toutes basées sur VB5, où Replace n'existe pas.

Match est une exception : il est conseillé d'utiliser
Application.Match (ancienne syntaxe) et non

Application.WorksheetFunction.Match

qui est buggée.



la traduction est: match() en vba

Bye
-----Message d'origine-----
J'utilise la fonction Index(tableau; Ligne;Colonne) dans
une feuille de calcul Sans problème.
Lorsque j'utilise la fonction dans un module VBA dans le
même classeur Index(tableau, Ligne,Colonne), même nom en
français et en anglais, un message d'erreur de compil est
affiché "Sub ou Function non définie".

Que dois-je faire?

Merci d'avance
.




--
Cordialement,

Michel Gaboly
http://www.gaboly.com


Avatar
moi.....
juste Auguste :)))
distraction
-----Message d'origine-----
Bonjour,

Match est la traduction d'EQUIV(), pas de INDEX() ;-((

Simplement, on ne peut pas utiliser directement les
fonctions

de feuille de calcul dans VBA.

Il faut écrire :

Application.WorksheetFunction.xxx

où "xxx" est le nom en anglais de la fonction, ici

Application.WorksheetFunction.Index

Autre exemple

Application.WorksheetFunction.Substitute, pourla fonction
SUBSTITUER(), très utile avec Excel 97 ou les versions
Mac,

toutes basées sur VB5, où Replace n'existe pas.

Match est une exception : il est conseillé d'utiliser
Application.Match (ancienne syntaxe) et non

Application.WorksheetFunction.Match

qui est buggée.



la traduction est: match() en vba

Bye
-----Message d'origine-----
J'utilise la fonction Index(tableau; Ligne;Colonne)
dans



une feuille de calcul Sans problème.
Lorsque j'utilise la fonction dans un module VBA dans
le



même classeur Index(tableau, Ligne,Colonne), même nom
en



français et en anglais, un message d'erreur de compil
est



affiché "Sub ou Function non définie".

Que dois-je faire?

Merci d'avance
.




--
Cordialement,

Michel Gaboly
http://www.gaboly.com


.