Transformer un calcul en macro

Résolu
jack2125 Messages postés 486 Date d'inscription   Statut Membre Dernière intervention   -  
danielc0 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


A voir également:

5 réponses

Résumé de la discussion

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.

Généré automatiquement par IA
sur la base des meilleures réponses
danielc0 Messages postés 2048 Date d'inscription   Statut Membre Dernière intervention   248
 

... 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


1
jack2125 Messages postés 486 Date d'inscription   Statut Membre Dernière intervention  
 

re

c'est quoi la différence entre les 2

0
danielc0 Messages postés 2048 Date d'inscription   Statut Membre Dernière intervention   248 > jack2125 Messages postés 486 Date d'inscription   Statut Membre Dernière intervention  
 

Dans le premier cas, il y a  des formules dans les cellules et dans le second, le résultat des formules.

Daniel

0
jack2125 Messages postés 486 Date d'inscription   Statut Membre Dernière intervention  
 

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

0
danielc0 Messages postés 2048 Date d'inscription   Statut Membre Dernière intervention   248 > jack2125 Messages postés 486 Date d'inscription   Statut Membre Dernière intervention  
 

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 Sub

Daniel

0
danielc0 Messages postés 2048 Date d'inscription   Statut Membre Dernière intervention   248
 

Bonjour,

Est-ce que tu veux un résultat ou une formule en H3:H10000 ?

Daniel


0
jack2125 Messages postés 486 Date d'inscription   Statut Membre Dernière intervention  
 

je voudrais 1 dans chaque bonne ligne en H 

0
jack2125 Messages postés 486 Date d'inscription   Statut Membre Dernière intervention  
 

ok mais est il possible de mettre "1" dans "h" si bon


0
danielc0 Messages postés 2048 Date d'inscription   Statut Membre Dernière intervention   248
 

C'est la seconde macro.

Daniel

0
jack2125 Messages postés 486 Date d'inscription   Statut Membre Dernière intervention  
 

ca ne met rien!

ai essayer...

merci


0
danielc0 Messages postés 2048 Date d'inscription   Statut Membre Dernière intervention   248
 

Je ne peux pas vérifier, je n'ai pas les données

Daniel

0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
jack2125 Messages postés 486 Date d'inscription   Statut Membre Dernière intervention  
 

excuse moi c'est tout bon un grand temps de gagner et encore merci

0