Programmation d'une fonction VBA sur Excel

Anonyme
2025-01-17T23:41:09+00:00

Bonjour,

voici une formule incorporée dans une cellule Excel. Je sais créer de simples fonctions VBA. Je souhaiterai créer une ou plusieurs fonctions VBA (calculs en rouge) pour les éclaircir ces formules, que ces fonctions VBA soient appelées à partir d'Excel dans une formule, au même titre que les fonctions classiques, sans devoir renseigner LES NOMS DEFINIS DE COLONNES, que je puisse les modifier sur VBA, ce qui évitera des modifications sur 24 colonnes par 130 lignes.

Le problème que je rencontre, c'est que les NOMS SMIC2018, smic_mensuel, Total_HS,JMENT, JTENT, HOR_Sal correspondent à des colonnes diverses ligne 3 à 133.

J'ai bien créer une fonction cependant elle retourne la valeur zéro d'une part, et d'autre part, je suis obligée de compléter toutes les valeurs.

=SIERREUR(SI($K23="A";smic_mensuel*coef_AL;SI(RECHERCHEV(@categorie;tableau;20;FAUX)=0;0;

SI(ET(@MOISENTREE=BZ$20;@moissort=BZ$20);(smic_mensuel+((@total_HS*SMIC2018)))/@JMENT*@JTENT/HOR_societe*@HOR_SAL;

SI(ET(@MOISENTREE<BZ$20;@moissort>BZ$20);(smic_mensuel+((@total_HS*SMIC2018)))/HOR_societe*@HOR_SAL;

SI(ET(@MOISENTREE=BZ$20;@moissort>BZ$20);(smic_mensuel+((@total_HS*SMIC2018)))/@JMENT*@JTENT/HOR_societe*@HOR_SAL;

SI(ET(@MOISENTREE<BZ$20;@moissort=BZ$20);(smic_mensuel+((@total_HS*SMIC2018)))/@JMSORT*@stsor/HOR_societe*@HOR_SAL;;0))))));0)

Je vous remercie par avance de l'aide que vous pourrez m'apporter, d'autant que j'ai d'autres formules nettement plus lourdes que celle-ci dans mon classeur Excel.

Cordialement,

Microsoft 365 et Office | Installer, entrer des clés, activer | Autres | Autres

Question verrouillée. Cette question a été migrée à partir de la Communauté Support Microsoft. Vous pouvez voter pour indiquer si elle est utile, mais vous ne pouvez pas ajouter de commentaires ou de réponses ni suivre la question.

0 commentaires Aucun commentaire

2 réponses

  1. DanielCo 107.7K Points de réputation
    2025-01-18T09:24:11+00:00

    Bonjour,

    Avec cette disposition :

    La fonction Test correspondrait à

    =smic_mensuel+((@total_HS

    Function test()
    test = [smic_mensuel] * Intersect(Application.ThisCell.EntireRow, [total_hs])
    End Function

    "Application.ThisCell" représente le cellule où se trouve la fonction.

    Daniel

    Cette réponse a-t-elle été utile ?

    0 commentaires Aucun commentaire
  2. Anonyme
    2025-01-18T09:19:05+00:00

    Cette réponse a été automatiquement traduite. Par conséquent, il peut y avoir des erreurs grammaticales ou des formulations étranges.

    Salut, fredpe

    Merci d’avoir posté dans la communauté.

    Nous comprenons le problème que vous rencontrez. Malheureusement,  VBA n’est pas pris en charge sur le forum Microsoft Answers. Il est plus adapté à la publication sur Stack Overflow  (en anglais uniquement).Publiez des questions de programmation VBA sur Stack Overflow à l’aide de la balise vba , ainsi que de toute autre balise pertinente.Veuillez noter que Stack Overflow a des directives telles que l’exigence d’un titre descriptif, d’un énoncé de problème complet et concis et de suffisamment de détails pour reproduire votre problème. Les demandes de fonctionnalités ou les questions trop larges sont considérées comme hors sujet. ***Avis de non-responsabilité : Microsoft ne fournit aucune assurance et/ou garantie, implicite ou autre, et n’est pas responsable des informations que vous recevez des sites tiers liés ou de tout support lié à la technologie.***Je ne pourrai pas vous aider, mais je laisse cette question ouverte au cas où l’un de nos incroyables bénévoles aurait des idées pour vous.

    Sinceres salutations  Zain.M - MSFT | Spécialiste du support communautaire Microsoft

    Cette réponse a-t-elle été utile ?

    0 commentaires Aucun commentaire