Recherche des arguments d'une fonction Excel par VBA

  • Initiateur de la discussion Initiateur de la discussion job75
  • 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 !

job75

XLDnaute Barbatruc
Bonjour le forum,

Grâce à ce fil :

https://www.excel-downloads.com/threads/avec-vlookup-recherchev-les-formats-sont-oublies.171464/

je me suis demandé comment déterminer en VBA les arguments d'une fonction Excel.

Que ces arguments soient des constantes ou des formules contenant elles-mêmes des arguments (fonctions imbriquées).

J'ai donc écrit cette fonction macro :

Code:
Function ARG$(cel As Range, ordre%) 'recherche des arguments
Dim F$, deb&, fin&, i&, txt$, n%
F = cel.Formula
F = Mid(F, InStr(F, "(") + 1, Len(F) - InStr(F, "(") - 1) & ","
deb = 1
fin = Len(F)
1 For i = deb To fin
    If Mid(F, i, 1) = "," Then 'recherche des virgules
      txt = Mid(F, deb, i - deb)
      If Len(Replace(txt, "(", "")) = _
        Len(Replace(txt, ")", "")) Then 'fermeture des parenthèses
        n = n + 1
        If n = ordre Then ARG = txt: Exit Function
        deb = i + 1: GoTo 1
    End If
  End If
Next
End Function
Voyez son utilisation dans le fichier joint avec RECHERCHEV (VLOOKUP).

A+
 

Pièces jointes

Re : Recherche des arguments d'une fonction Excel par VBA

Re,

Maintenant si des arguments contiennent des textes entre guillemets avec des virgules, il faut tester la parité du nombre de guillemets à partir de :

Code:
ng = (Len(txt) - Len(Replace(txt, """", ""))) / 2 'guillemets
Fichier (2).

A+
 

Pièces jointes

- 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

Discussions similaires

Réponses
3
Affichages
523
Retour