VBA Excel: Transcription Formule
Magiclb
Messages postés
2
Date d'inscription
Statut
Membre
Dernière intervention
-
Magiclb Messages postés 2 Date d'inscription Statut Membre Dernière intervention -
Magiclb Messages postés 2 Date d'inscription Statut Membre Dernière intervention -
Bonjour à tous,
Je dois réaliser une petite macro devant réaliser la somme de plusieurs termes en fonction, dans un premier temps, de l’entrée que je met dans une colonne U (type txt) exemple « AR » ou « BV »
Selon l’un ou l’autre cas, je dois appliquer en colonne X une formule différente.
L’une de ces formules est, par exemple: (Sous Excel simple)
=SOMME(SOMME.SI.ENS(‘7. PG8’!$Q:$Q;´7. PG8’$T:T;[@Identité];’7. PG8!$K:K;{« HN »; « LI »; « PV »}))/SOMME(SOMME.SI.ENS(´7. PG8’!$O:$O;´7. PG8’$T:T;[@Identité];’7. PG8!$K:K;{« HN »; « LI »; « PV »}))
En gros 7. PG8 est une de mes feuilles à laquelle je fais appel pour mon calcul, précisément ses colonnes Q et O pour les sommes et [@Identité] est la colonne de mon tableau dans ma feuille DT2. Je fais donc la somme des coefficients de Q/la somme des coefficients de O si dans les 2 cas l’identité contenue dans la colonne de mon tableau dans DT2 correspond à celle contenue dans la colonne T de 7. PG8 et je ne somme donc que les termes contenant les informations HN, LI et PV en colonne K de ma feuille 7. PG8.
Je sollicite donc votre aide car je sais qu’il faut faire un case je sais comment le faire simplement en vba selon mes cas mais au niveau de l’imputation de la formule sous format vba je galère un peu :/, notamment au niveau des appels de feuilles ou de la prise en compte de hn li et pv !
Merci d’avance pour votre réponse !
Je dois réaliser une petite macro devant réaliser la somme de plusieurs termes en fonction, dans un premier temps, de l’entrée que je met dans une colonne U (type txt) exemple « AR » ou « BV »
Selon l’un ou l’autre cas, je dois appliquer en colonne X une formule différente.
L’une de ces formules est, par exemple: (Sous Excel simple)
=SOMME(SOMME.SI.ENS(‘7. PG8’!$Q:$Q;´7. PG8’$T:T;[@Identité];’7. PG8!$K:K;{« HN »; « LI »; « PV »}))/SOMME(SOMME.SI.ENS(´7. PG8’!$O:$O;´7. PG8’$T:T;[@Identité];’7. PG8!$K:K;{« HN »; « LI »; « PV »}))
En gros 7. PG8 est une de mes feuilles à laquelle je fais appel pour mon calcul, précisément ses colonnes Q et O pour les sommes et [@Identité] est la colonne de mon tableau dans ma feuille DT2. Je fais donc la somme des coefficients de Q/la somme des coefficients de O si dans les 2 cas l’identité contenue dans la colonne de mon tableau dans DT2 correspond à celle contenue dans la colonne T de 7. PG8 et je ne somme donc que les termes contenant les informations HN, LI et PV en colonne K de ma feuille 7. PG8.
Je sollicite donc votre aide car je sais qu’il faut faire un case je sais comment le faire simplement en vba selon mes cas mais au niveau de l’imputation de la formule sous format vba je galère un peu :/, notamment au niveau des appels de feuilles ou de la prise en compte de hn li et pv !
Merci d’avance pour votre réponse !
A voir également:
- VBA Excel: Transcription Formule
- Liste déroulante excel - Guide
- Word et excel gratuit - Guide
- Déplacer colonne excel - Guide
- Si ou excel - Guide
- Excel compter cellule couleur sans vba - Guide
1 réponse
Bonjour,
j'ai beau lire et relire je ne vois pas quel est ton problème ou ta question.
A part que tu supposes qu'il faut un Case...
Une suggestion : en enregistrement de macro revalide ta formule sur une feuille pour avoir sa formulation en anglais et en R1C1.
Et en vba récupère le résultat en faisant :
Obtiens-tu ce qui t'intéresse ?
eric
j'ai beau lire et relire je ne vois pas quel est ton problème ou ta question.
A part que tu supposes qu'il faut un Case...
Une suggestion : en enregistrement de macro revalide ta formule sur une feuille pour avoir sa formulation en anglais et en R1C1.
Et en vba récupère le résultat en faisant :
resultat = evaluate("la_formule")
Obtiens-tu ce qui t'intéresse ?
eric
Je voulais juste transcrire la formule en R1C1 pour la mon code vba !
J’ai pu finalisé mon programme grâce à ton astuce, merci beaucoup !