Code VBA
Bonjour à tous,
Je cherche à retranscrire cette formule en code VBA. Comment devrais-je la coder ?
=SI(ESTERREUR(SOMME.SI('DATA AUTO (2)'!C$1:C$65536;'Report final (2)'!B2;'DATA AUTO (2)'!G$1:G$65536)/(SOMME.SI('DATA AUTO (2)'!C$1:C$65536;'Report final (2)'!B2;'DATA AUTO (2)'!G$1:G$65536)+SI(ESTNA(SOMME.SI('DATA MANUEL (2)'!C$1:C$65536;'Report final (2)'!B2;'DATA MANUEL (2)'!G$1:G$65536));0;SOMME.SI('DATA MANUEL (2)'!C$1:C$65536;'Report final (2)'!B2;'DATA MANUEL (2)'!G$1:G$65536))));"Rapprochement non démarré";SOMME.SI('DATA AUTO (2)'!C$1:C$65536;'Report final (2)'!B2;'DATA AUTO (2)'!G$1:G$65536)/(SOMME.SI('DATA AUTO (2)'!C$1:C$65536;'Report final (2)'!B2;'DATA AUTO (2)'!G$1:G$65536)+SI(ESTNA(SOMME.SI('DATA MANUEL (2)'!C$1:C$65536;'Report final (2)'!B2;'DATA MANUEL (2)'!G$1:G$65536));0;SOMME.SI('DATA MANUEL (2)'!C$1:C$65536;'Report final (2)'!B2;'DATA MANUEL (2)'!G$1:G$65536))))
Merci par avance.
Yves-Emmanuel
Bonjour
ActiveCell.FormulaR1C1 = _
"=IF(ISERROR(SUMIF('DATA AUTO (2)'!R1C[1]:R65536C[1],'Report final (2)'!RC,'DATA AUTO (2)'!R1C[5]:R65536C[5])/(SUMIF('DATA AUTO (2)'!R1C[1]:R65536C[1],'Report final (2)'!RC,'DATA AUTO (2)'!R1C[5]:R65536C[5])+IF(ISNA(SUMIF('DATA MANUEL (2)'!R1C[1]:R65536C[1],'Report final (2)'!RC,'DATA MANUEL (2)'!R1C[5]:R65536C[5])),0,SUMIF('DATA MANUEL (2)'!R1C[1]:R65536C[1],'Report" & _
" final (2)'!RC,'DATA MANUEL (2)'!R1C[5]:R65536C[5])))),""Rapprochement non démarré"",SUMIF('DATA AUTO (2)'!R1C[1]:R65536C[1],'Report final (2)'!RC,'DATA AUTO (2)'!R1C[5]:R65536C[5])/(SUMIF('DATA AUTO (2)'!R1C[1]:R65536C[1],'Report final (2)'!RC,'DATA AUTO (2)'!R1C[5]:R65536C[5])+IF(ISNA(SUMIF('DATA MANUEL (2)'!R1C[1]:R65536C[1],'Report final (2)'!RC,'DATA MANUEL (2)" & _
"'!R1C[5]:R65536C[5])),0,SUMIF('DATA MANUEL (2)'!R1C[1]:R65536C[1],'Report final (2)'!RC,'DATA MANUEL (2)'!R1C[5]:R65536C[5]))))" & _
""J'ajouterai :
Pour ma part j'applique une astuce basique pour reformuler mes formules en VBA.
1) J'écris ma formule dans la feuille Excel => Dans ton cas
2) Je valide puis je sélectionne cette même cellule
3) Dans l'onglet Développeur je clique sur Enregistrer une macro et clique sur OK à l'ouverture du formulaire Enregistrement de la macro
4)Ensuite je sélectionne la formule dans la barre de formule
5) CTRL +C et je valide la même formule
6) J'arrête l'enregistrement de la macro
et voili voilou tu as ta formule inscrite dans la macro au format VBA tout simplement... On gagne du temps et on ne se prend pas la tête
Bonjour,
Ça fonctionne
Merci pour tes conseils !