Formule ESTVIDE dans une macro
Bonjour,
J'ai une macro qui fonctionne comme ceci :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
| Sub Ratio()
Dim ws As Worksheet, i&,
For Each ws In ThisWorkbook.Worksheets
ws.Activate
Debut = 3 'les montant commence en ligne 3 maintenant
With ws
DerL = .Cells(Rows.Count, 4).End(xlUp).Row
VA = .Range("D1:D" & DerL).Value ' meme chose pour le tableau en col D pour prendre en compte la Valeur Somme dans les cellules
For i = 3 To UBound(VA) 'Tout le calcul se fait maintenant en colonne E dans la boucle
If i = UBound(VA) Then
Range("F3:F" & i).Formula = "=if(or(E3="";E3=0;O3=0;O3=""),0,(E3-O3)/O3)"
End If
Next
End With
Next
End Sub |
J'ai un soucis sur le partie "=if(or(E3="";E3=0;O3=0;O3=""),0,(E3-O3)/O3)"
En effet je cherche une solution pour obtenir le même résultat que cette formule sous excel :
=SI(OU(ESTVIDE(E3);E3=0;O3=0;ESTVIDE(O3));0;(E3-O3)/O3)
J'ai donc testé :
- E3="" et O3="" , qui se retranscrit comme ceci sur excel =SI(OU(E3=";E3=0;O3=0;O3=");0;(E3-O3)/O3) Donc un seul guillemet, le résultat de la formule n'est pas bon.
- ISEMPTY() OU ISBLANK() mais la macro me sort une erreur.
Quelqu'un aurait une solution ?
Merci d'avance.