Comment Utiliser des fonctions Excels dans une macro VBA

  • Initiateur de la discussion Initiateur de la discussion gilles06
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

G

gilles06

Guest
Bonjour,
Je cherche à savoir s'il est possible d'utiliser des fonctions Excel (comme INDEX , EQUIV ou MAX ...etc) dabs une macro VBA.
Est-ce possible ? et si oui comment faire ?

Merci d'avance pour votre aide
 
Re : Comment Utiliser des fonctions Excels dans une macro VBA

Bonjour Gilles06, Besnard68 🙂,
Toutes les fonctions de feuilles sont accessibles dans VBA, mais elles sont en anglais (se référer au fichier VBALIST.xls se trouvant dans C:\Program Files\Microsoft Office\Office?? suivant la version d'Office, 3° onglet), et nécessitent une formulation particulière :
Code:
Application.WorksheetFunction.CountIf(Plage, 12)
par exemple pour un NB.SI(Plage,12).
Bon courage 😎
 
Re : Comment Utiliser des fonctions Excels dans une macro VBA

Bonjour JNP, re Gilles06, Forum,

C'est vrai que la formulaison est in english, mais je trouve que les explications (en français, oufff !!!) sont heureusement relativement bien libellées ; On y trouve assez bien son bonheur, et pour les extras, il y a très heureusement des mains solidaires tendues bénévolement sur des sites comme celui-ci.

C'est pourquoi j'adhère entièrement à ta citation, JNP "Chercher la solution aux problèmes des autres, c'est avancer dans ses propres problèmes... ".

Longue vie à Excel-dowloads
 
Re : Comment Utiliser des fonctions Excels dans une macro VBA

Salut,

Voici par exemple une RECHERCHEV en VBA :

Range("B2") = WorksheetFunction.VLookup(Range("B1"), Range("A8:B27"), 2, 0)

ou bien un INDEX/EQUIV :

Range("B5") = WorksheetFunction.Index(Range("A8:A27"), WorksheetFunction.Match(Range("B4"), Range("B8:B27"), 0))

où l'on doit combiner l'utilisation de 2 fonctions, d'abord Index puis EQUIV (Match en anglais).

Note que tu peux lire la traduction anglaise de ces fonctions en t'appuyant sur la propriété "Formula" de l'objet Range au lieu de "FormulaLocal".

A+
Horatio
 
Re : Comment Utiliser des fonctions Excels dans une macro VBA

Salut à vous tous et grand merci,

J'ai à peu pres compris comment on fonctionne en VBA. 'ai neamoins une question tj en VBA concernant l'utilisation de plusieurs fonctions excel mais avec des noms de feuilles differentes.
ex: xx = WorksheetFunction.EQUIV(Range("Today"), Worksheets("detail").Range("B1:B150"), 1)
Cette fonction ne marche pas, peut-etre la syntax, je ne sais pas. Est-ce la bonne facon de l'ecrire ?

L'anglais ne me pose pas de probleme, et si il y a un document resumant l'utilisation des fonctions sous VBA et comment les utiliser ca me serait bien utile.

Merci à vous tous.

Gilles06
 
Re : Comment Utiliser des fonctions Excels dans une macro VBA

Salut

Désolé je voulais ecrire dans mon example:

xx = WorksheetFunction.EQUIV("Today", Worksheets("detail").Range("B1:B150"), 1)

En fait je recherche le terme "Today" dans la feuille "Detail" ayant comme range(B1:B150) en utilisant la fonction EQUIV.

Mais meme ecrit comme ca, ca ne fonctionne pas, pourquoi ?

Merci de votre aide
 
Re : Comment Utiliser des fonctions Excels dans une macro VBA

Bonjour,
Tu peux toujours connaître l'écriture en vba de ces fonctions. Pour cela, il te suffit d'enregistrer dans une macro le moment où tu utilises une de ces fonctions.
 
Re : Comment Utiliser des fonctions Excels dans une macro VBA

Merci à Tous !!

C'est exactement ce que je cherchais.
Mais y a t-il une correspondance des fonctions Excel et celles supporteés par VBA (à fonction identique) ?

Merci encore
 
Re : Comment Utiliser des fonctions Excels dans une macro VBA

Re,
Mais y a t-il une correspondance des fonctions Excel et celles supporteés par VBA (à fonction identique) ?
Il y a plus que correspondance puisque ce sont les mêmes fonctions...mais leur nom est en anglais. Seule différence : certaines fonctions n'ont pas de transcription VBA

Cordialement
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
5
Affichages
167
Retour