Bonjour,
J'ai une macro qui fonctionne comme ceci :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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.