Transformer un calcul en macro
Résoludanielc0 Messages postés 2048 Date d'inscription Statut Membre Dernière intervention -
bonjour a tous
est il possible de transformer le calcul qui est dans le fichier ci dessous e macro
il faut remettre egal...la reponse doit se dérouler en colonne h3:h10000
https://www.cjoint.com/c/OBemVGpu8uD
merci d'avance
- Transformer un calcul en macro
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Télécharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Transformer une image en icone - Guide
- Calcul moyenne excel - Guide
- Transformer majuscule en minuscule word - Guide
5 réponses
Le calcul à effectuer par la macro doit s’appliquer à la plage H3:H10000, soit par l’insertion de formules soit par l’écriture des résultats en valeurs.
Deux macros sont proposées : l’une écrit une longue formule dans H3 et remplit ensuite vers le bas, l’autre produit les mêmes résultats puis convertit les formules en valeurs.
Une erreur est apparue dans le dernier NB.SI : NB.SI(EH3"">0"") au lieu de NB.SI(EH3;"">0""), et la correction porte sur l’utilisation du séparateur et des guillemets.
Le fil aborde également la différence entre obtenir le résultat sous forme de formule dans H3:H10000 et obtenir des valeurs directement, avec les mécanismes FillDown et la conversion finale.
... pour une formule :
Sub test2()
Range("H3").FormulaLocal = "=NB.SI($AU$3:$BV$3;J3)*NB.SI(AB3;"">0"")*NB.SI(AB3;""<5"")*NB.SI($AM$4:$CL$4;F3)*NB.SI($N$5;""<> ""&A3)*NB.SI($N$4;""<> ""&A3)*NB.SI($N$6;""<> ""&A3)*NB.SI($N$7;""<> ""&A3)" & _
"*NB.SI($N$8;""<> ""&A3)*NB.SI($O$4;""<> ""&B3)*NB.SI($O$5;""<> ""&B3)*NB.SI($O$6;""<> ""&B3)*NB.SI($O$7;""<> ""&B3)*NB.SI($O$8;""<> ""&B3)*NB.SI($P$4;""<> ""&C3)*NB.SI($P$5;""<> ""&C3)*NB.SI($P$6;""<> ""&C3)" & _
"*NB.SI($P$7;""<> ""&C3)*NB.SI($P$8;""<> ""&C3)*NB.SI($Q$4;""<> ""&D3)*NB.SI($Q$5;""<> ""&D3)*NB.SI($Q$6;""<> ""&D3)*NB.SI($Q$7;""<> ""&D3)*NB.SI($R$4;""<> ""&E3)*NB.SI($R$5;""<> ""&E3)*NB.SI($R$6;""<> ""&E3)*NB.SI($R$7;""<> ""&E3)*NB.SI($R$8;""<> ""&E3)"
Range("H3:H10000").FillDown
End Sub
Pour une valeur :
Sub test2()
Range("H3").FormulaLocal = "=NB.SI($AU$3:$BV$3;J3)*NB.SI(AB3;"">0"")*NB.SI(AB3;""<5"")*NB.SI($AM$4:$CL$4;F3)*NB.SI($N$5;""<> ""&A3)*NB.SI($N$4;""<> ""&A3)*NB.SI($N$6;""<> ""&A3)*NB.SI($N$7;""<> ""&A3)" & _
"*NB.SI($N$8;""<> ""&A3)*NB.SI($O$4;""<> ""&B3)*NB.SI($O$5;""<> ""&B3)*NB.SI($O$6;""<> ""&B3)*NB.SI($O$7;""<> ""&B3)*NB.SI($O$8;""<> ""&B3)*NB.SI($P$4;""<> ""&C3)*NB.SI($P$5;""<> ""&C3)*NB.SI($P$6;""<> ""&C3)" & _
"*NB.SI($P$7;""<> ""&C3)*NB.SI($P$8;""<> ""&C3)*NB.SI($Q$4;""<> ""&D3)*NB.SI($Q$5;""<> ""&D3)*NB.SI($Q$6;""<> ""&D3)*NB.SI($Q$7;""<> ""&D3)*NB.SI($R$4;""<> ""&E3)*NB.SI($R$5;""<> ""&E3)*NB.SI($R$6;""<> ""&E3)*NB.SI($R$7;""<> ""&E3)*NB.SI($R$8;""<> ""&E3)"
Range("H3:H10000").FillDown
Range("H3:H10000").Value = Range("H3:H10000").Value
End Sub
Daniel
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
re
c'est quoi la différence entre les 2
Dans le premier cas, il y a des formules dans les cellules et dans le second, le résultat des formules.
Daniel
BJR
J'ai voulu rajouter cette ligne mais le débogueur me bloque? erreur d'execution 1003
"*NB.SI($AW3;""=0"")*NB.SI(AX3;""=0"")*NB.SI(AY3;""=0"")*NB.SI(BA3;""=0"")*NB.SI(BB3;""=0"")*NB.SI(BC3;""=0"")*NB.SI(BD3;""=0"")*NB.SI(BE3;""=0"")*NB.SI(BF3;""=0"")*NB.SI(BG3;""=0"")*NB.SI(BH3;""=0"")*NB.SI(BI3;""=0"")*NB.SI(BJ3;""=0"")*NB.SI(BK3;""=0"")*NB.SI(BL3;""=0"")*NB.SI(BM3;""=0"")*NB.SI(BN3;""=0"")*NB.SI(AI3;""=0"")*NB.SI(G3;"">0"")*NB.SI(G3;""<5"")*NB.SI(Y3;"">0"")*NB.SI(EH3"">0"")"
l'origine était
*NB.SI.ENS($AW3;"=0";AX3;"=0";AY3;"=0";BA3;"=0";BB3;"=0";BC3;"=0";BD3;"=0";BE3;"=0";BF3;"=0";BG3;"=0";BH3;"=0";BI3;"=0";BJ3;"=0";BK3;"=0";BL3;"=0";BM3;"=0";BN3;"=0";AI3;"=0";G3;">0";G3;"<5";Y3;">0")
auquel j'ajoute NB.SI(EH3">0")
je ne trouve pas le problème
peux tu m'aider
merci
Bonjour,
L'erreur était dans le dernier NB.SI :
NB.SI(EH3"">0"")
au lieu de :
NB.SI(EH3;"">0"")
Sub test2() Range("H3").FormulaLocal = "=NB.SI($AU$3:$BV$3;J3)*NB.SI(AB3;"">0"")*NB.SI(AB3;""<5"")*NB.SI($AM$4:$CL$4;F3)*NB.SI($N$5;""<> ""&A3)*NB.SI($N$4;""<> ""&A3)*NB.SI($N$6;""<> ""&A3)*NB.SI($N$7;""<> ""&A3)" & _ "*NB.SI($N$8;""<> ""&A3)*NB.SI($O$4;""<> ""&B3)*NB.SI($O$5;""<> ""&B3)*NB.SI($O$6;""<> ""&B3)*NB.SI($O$7;""<> ""&B3)*NB.SI($O$8;""<> ""&B3)*NB.SI($P$4;""<> ""&C3)*NB.SI($P$5;""<> ""&C3)*NB.SI($P$6;""<> ""&C3)" & _ "*NB.SI($P$7;""<> ""&C3)*NB.SI($P$8;""<> ""&C3)*NB.SI($Q$4;""<> ""&D3)*NB.SI($Q$5;""<> ""&D3)*NB.SI($Q$6;""<> ""&D3)*NB.SI($Q$7;""<> ""&D3)*NB.SI($R$4;""<> ""&E3)*NB.SI($R$5;""<> ""&E3)*NB.SI($R$6;""<> ""&E3)" & _ "*NB.SI($R$7;""<> ""&E3)*NB.SI($R$8;""<> ""&E3)*NB.SI($AW3;""=0"")*NB.SI(AX3;""=0"")*NB.SI(AY3;""=0"")*NB.SI(BA3;""=0"")*NB.SI(BB3;""=0"")*NB.SI(BC3;""=0"")*NB.SI(BD3;""=0"")*NB.SI(BE3;""=0"")" & _ "*NB.SI(BF3;""=0"")*NB.SI(BG3;""=0"")*NB.SI(BH3;""=0"")*NB.SI(BI3;""=0"")*NB.SI(BJ3;""=0"")*NB.SI(BK3;""=0"")*NB.SI(BL3;""=0"")*NB.SI(BM3;""=0"")*NB.SI(BN3;""=0"")*NB.SI(AI3;""=0"")" & _ "*NB.SI(G3;"">0"")*NB.SI(G3;""<5"")*NB.SI(Y3;"">0"")*NB.SI(EH3;"">0"")" Range("H3:H10000").FillDown Range("H3:H10000").Value = Range("H3:H10000").Value End SubDaniel