Bonjour,
J'essaye d’intégrer dans VBA la formule ci dessous :
=IF((Sheet1!B3)=0;" ";(Sheet2!C4*Sheet3!B$2/12))
le résultat s'affiche dans:
- la feuille "sheet3"
- les cellules "B8" a "C13"
Ci joint un exemple excel (plus révélateur qu'une tonne de description).
J'ai essaye de couper ma formule en 2.
Etape 1:
Faire un check pour voir les données égales a 0
Si j'en trouve je les copies dans "Sheet 3" dans les cellules de B8 a C13
Etape 2 (c'est la que ça coince):
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 'S1 est le range de "sheet1" (de B3 a C8) For i = 1 To S1.Count If S1.Cells(i, 1) = "0" Then S1.Cells(i, 1).Copy S3.Cells(i, 1).PasteSpecial xlPasteValues End If Next i
Je regarde dans sheet 3 pour chaque cellule pas égale a 0, j'essaye de faire le calcul (Sheet2!C4*Sheet3!B$2/12).
Je ne suis pas vraiment sur comment gerer le $ dans la formule
Je pense que mon étape 2 n'est pas encore au point.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 'S2 est le range de sheet2 (C4 a D9) 'S3 est le range de sheet3 ou l on met le resultat (B8 a C13) 'S4 est le range de sheet3 (B2 a C4) For Each Cell In S3 If S1.Cell(J, 1) <> "0" Then Cell.Value = (S2.Cells(J, 1) * S4.Cells(J, 1) / 12)) End If Next Cell
Si vous avez des suggestions ou conseils c'est avec grand plaisir que je les accepterai.
Merci d'avoir lu, et une excellente semaine.
Partager