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 !

Rechercher des sujets similaires à "code vba"