Convertir une simple formule en macro

Y compris Power BI, Power Query et toute autre question en lien avec Excel
L
Lilette
Jeune membre
Jeune membre
Messages : 25
Inscrit le : 13 août 2016
Version d'Excel : excel 2016

Message par Lilette » 24 février 2019, 16:53

Bonjour à tous,

Il y a quelques mois vous m'avez aidé à rendre opérationnelle le fichier en pièce jointe.
Maintenant j'essaie de l'améliorer et pour cela j'aurais besoin de votre aide.
J'ai deux points:

1) Au lieu d’avoir la formule ci-dessous, je voudrais qu’elle soit intégré dans la macro.
H6: =((E3/SUM(E3:G5))*(H3/(SUM(H3+100))))

2) L'outil ne marche pas si la valeur de la cellule G3 = 0 car c'est marqué "If IsNumeric(.Value) And .Value <> 0 Then n = n + 1" or cette cellule peut être égal à 0 (E3, F3 et H3 non, la valeur sera toujours > 0).

S'il vous plait pouvez m'aider?

Merci :)
E316 test.xlsm
(231.13 Kio) Téléchargé 15 fois
Avatar du membre
Steelson
Fanatique d'Excel
Fanatique d'Excel
Messages : 11'710
Appréciations reçues : 607
Inscrit le : 13 octobre 2014
Version d'Excel : 2013 FR

Message par Steelson » 24 février 2019, 17:27

Bonjour,
Lilette a écrit :
24 février 2019, 16:53
1) Au lieu d’avoir la formule ci-dessous, je voudrais qu’elle soit intégré dans la macro.
H6: =((E3/SUM(E3:G5))*(H3/(SUM(H3+100))))
Pour faire cela, tu fais macro > enregistrer une macro
Tu écris ta formule normalement dans la case
Tu arrêtes l'enregistrement par le carré en bas à gauche

... et tu as ta formule sous forme de macro.

O.o°• ♪♪♫ °º¤ø,¸¸,ø¤º°`°º¤ø,¸ O.o°• ♪♪♫ °º¤ø,¸¸,ø¤º°`°º¤ø,¸
PI = 3.14159 26535 89793 23846 26433 83279 50288 41971 69399 37510 58209 74944 59230 78164 06286 20899 86280

( ͡• ͜ʖ ͡• )
Avatar du membre
Steelson
Fanatique d'Excel
Fanatique d'Excel
Messages : 11'710
Appréciations reçues : 607
Inscrit le : 13 octobre 2014
Version d'Excel : 2013 FR

Message par Steelson » 25 février 2019, 08:47

    Range("H6").Select
    ActiveCell.FormulaR1C1 = _
        "=((R[-3]C[-3]/SUM(R[-3]C[-3]:R[-1]C[-1]))*(R[-3]C/(SUM(R[-3]C+100))))"

O.o°• ♪♪♫ °º¤ø,¸¸,ø¤º°`°º¤ø,¸ O.o°• ♪♪♫ °º¤ø,¸¸,ø¤º°`°º¤ø,¸
PI = 3.14159 26535 89793 23846 26433 83279 50288 41971 69399 37510 58209 74944 59230 78164 06286 20899 86280

( ͡• ͜ʖ ͡• )
L
Lilette
Jeune membre
Jeune membre
Messages : 25
Inscrit le : 13 août 2016
Version d'Excel : excel 2016

Message par Lilette » 24 mai 2019, 20:01

Merci Steelson d'avoir répondu au point 1. Malheureusement j'ai essayé mais ça ne marche pas.
Avatar du membre
Steelson
Fanatique d'Excel
Fanatique d'Excel
Messages : 11'710
Appréciations reçues : 607
Inscrit le : 13 octobre 2014
Version d'Excel : 2013 FR

Message par Steelson » 24 mai 2019, 21:16

Lilette a écrit :
24 mai 2019, 20:01
Malheureusement j'ai essayé mais ça ne marche pas.
Avant macro :
Capture d’écran (736).png
La macro test :
Capture d’écran (737).png
Après macro :
Capture d’écran (738).png
Qu'est-ce qui ne fonctionne pas ?

O.o°• ♪♪♫ °º¤ø,¸¸,ø¤º°`°º¤ø,¸ O.o°• ♪♪♫ °º¤ø,¸¸,ø¤º°`°º¤ø,¸
PI = 3.14159 26535 89793 23846 26433 83279 50288 41971 69399 37510 58209 74944 59230 78164 06286 20899 86280

( ͡• ͜ʖ ͡• )
Avatar du membre
Jean-Eric
Fanatique d'Excel
Fanatique d'Excel
Messages : 15'440
Appréciations reçues : 545
Inscrit le : 27 août 2012
Version d'Excel : 365 Insider

Message par Jean-Eric » 26 mai 2019, 09:46

Bonjour,
C'est peut-être la couleur de la police de la cellule qui pose souci !...
Cdlt.
Jean-Eric

Je ne réponds pas aux M.P. non sollicités.
L
Lilette
Jeune membre
Jeune membre
Messages : 25
Inscrit le : 13 août 2016
Version d'Excel : excel 2016

Message par Lilette » 27 mai 2019, 10:26

Bonjour Steelson,

Je cherche à l'intégrer dans la macro existante comme l'example surligné en jaune et si j'utilise ce que tu m'a donné la formule revient à la celulle et je cherche à ce que la formule n'apparaisse plus dans la celulle.

Image
E516 macro example.JPG
L
Lilette
Jeune membre
Jeune membre
Messages : 25
Inscrit le : 13 août 2016
Version d'Excel : excel 2016

Message par Lilette » 27 mai 2019, 11:05

Bonjour à tous,

Je viens d'essayer les macros ci-dessous mais il y a une erreur que je n'arrive pas à trouver.

Essaie 01: Z = Application.Sum(([E3] / [E3:G5]) * ([H3] / [H3+100]))
Essaie 02: sh.[H6] = Application.Sum(sh.[E3/[E3:G5]]) * (sh.[H3/[H3+100]])

J'espère que vous pouvez m'aider.

Merci.
Lilette
Avatar du membre
Steelson
Fanatique d'Excel
Fanatique d'Excel
Messages : 11'710
Appréciations reçues : 607
Inscrit le : 13 octobre 2014
Version d'Excel : 2013 FR

Message par Steelson » 27 mai 2019, 11:36

Lilette a écrit :
27 mai 2019, 10:26
je cherche à ce que la formule n'apparaisse plus dans la celulle.
en effet, ce n'était pas clair pour moi
Lilette a écrit :
24 février 2019, 16:53
1) Au lieu d’avoir la formule ci-dessous, je voudrais qu’elle soit intégré dans la macro.
Je passe mon tour car je ne fais pas de calcul avec VBA !

O.o°• ♪♪♫ °º¤ø,¸¸,ø¤º°`°º¤ø,¸ O.o°• ♪♪♫ °º¤ø,¸¸,ø¤º°`°º¤ø,¸
PI = 3.14159 26535 89793 23846 26433 83279 50288 41971 69399 37510 58209 74944 59230 78164 06286 20899 86280

( ͡• ͜ʖ ͡• )
Avatar du membre
Steelson
Fanatique d'Excel
Fanatique d'Excel
Messages : 11'710
Appréciations reçues : 607
Inscrit le : 13 octobre 2014
Version d'Excel : 2013 FR

Message par Steelson » 28 mai 2019, 05:27

Lilette a écrit :
27 mai 2019, 11:05
Z = Application.Sum(([E3] / [E3:G5]) * ([H3] / [H3+100]))
J'ai jeté un œil bien que je ne suis pas fan de calculer par VBA. Je ne pense pas que tu puisse écrire [E3:G5] dans le contexte d'une formule VBA. Et puis cela ne me parait pas très logique, la somme ne devrait concerner que Range("E3:G5") ...

O.o°• ♪♪♫ °º¤ø,¸¸,ø¤º°`°º¤ø,¸ O.o°• ♪♪♫ °º¤ø,¸¸,ø¤º°`°º¤ø,¸
PI = 3.14159 26535 89793 23846 26433 83279 50288 41971 69399 37510 58209 74944 59230 78164 06286 20899 86280

( ͡• ͜ʖ ͡• )
Répondre Sujet précédentSujet suivant
  • Sujets similaires
    Réponses
    Vues
    Dernier message