A rpopos de Worksheetfunction

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

Adamev

XLDnaute Occasionnel
Bonsoir;
Je voudrais savoir si les fonction de feuilles de calcul, sont-elles toutes utilisables en VBA?
Si oui, quelle est la syntaxe?
Merci
 
Re : A rpopos de Worksheetfunction

Bonjour, Adamev

En activant l'enregistreur de macros, (Macros, nouvelle macro) chacune de vos actions est transcrite en VBA.
C'est àmha, un très bon moyen de découvrir ce langage.
Pour découvrir le code ainsi généré, Alt+F11, et cliquez sur le module (à gauche).

Il ne reste plus alors qu'à associer le code aux actions que vous avez réalisées.
Un coup de F1 sur un mot-clé sélectionné du code vous apportera toute les précisions qui vous manquent 🙂
 
Re : A rpopos de Worksheetfunction

Bonjour adamev,

Oui, elles sont toutes utilisables avec leur nom anglais. Par exemple le code :
VB:
[A1] = WorksheetFunction.Choose([A2], [B3], [B4], [B5])
est équivalent à mettre en A1, la formule :
Code:
=CHOISIR(A2;B3;B4;B5)

A+
 
Re : A rpopos de Worksheetfunction

Bonjour
tu l'as écrit dans le titre 🙂
Dans VBA tu as :

1) des fonctions qui font la même chose (ou presque) que les fonctions de feuille. En général dans ce cas tu dois utiliser la fonction VBA.
par exemple left (gauche) ou year ou date ou...

2) des fonctions qui ont l'air d'être une traduction de la fonction de feuille mais qui en fait fonctionnent un peu différemment. Par exemple Offset (decaler)


3) les fonctions de feuille que tu appelles
soit par application.worksheetfunction.match (par exemple)
soit par
application.match
la seconde écriture est plus courte mais perso j'utilise toujours la première car elle permet d'avoir accès à l'intellisense c'est à dire à l'aide à la saisie. Quand tu tapes le point après application.worksheetfunction tu as une liste qui s'ouvre et te montres les fonctions dispos, t'évite de les saisir et t'évite aussi de faire des fautes d'orthographe.
par exemple :
TbloTemp = Application.WorksheetFunction.Transpose(.Range(Cells(t, 1), Cells(t, NbCol)).Value)

ou encore pour utiliser la combinaison index+equiv
Tblo(10) = Application.WorksheetFunction.Index(Range("mat_nom"), Application.WorksheetFunction.Match(CodeMat, Range("mat_code"), 0))

edit : coucou Freedo et Patrick
 
- 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

D
  • Question Question
Réponses
5
Affichages
249
Didierpasdoué
D
Réponses
3
Affichages
214
Réponses
14
Affichages
331
  • Question Question
Microsoft 365 Tableau
Réponses
5
Affichages
288
  • Résolu(e)
Microsoft 365 problème
Réponses
19
Affichages
915
Retour