Je suis novice en matière de macro Excel, c'est la raison pour laquelle je m'en remets à vous.
Dans mon cas, j'ai 4 colonnes (B, C, D, E) de ~50 lignes comprenant les valeurs suivantes :
- OK
- RET
L'idée de la macro est la suivante :
1- Analyse de la colonne E
a. Si les cellules sont vides alors analyse de la colonne D
b. Sinon analyse du nombre de ligne comprenant la valeur « RET » dans colonne E
i. Si RET = 0, alors cellule A1 = « 0 »
ii. Si RET = X, alors valeur de la cellule A1 = « X »
2- Analyse de la colonne D
a. Si les cellules sont vides alors analyse de la colonne C
b. Sinon analyse du nombre de ligne comprenant la valeur « RET » dans colonne D
i. Si RET = 0, alors cellule A1 = « 0 »
ii. Si RET = X, alors valeur de la cellule A1 = « X »
3- Analyse de la colonne C
a. Si les cellules sont vides alors analyse de la colonne B
b. Sinon analyse du nombre de ligne comprenant la valeur « RET » dans colonne C
i. Si RET = 0, alors cellule A1 = « 0 »
ii. Si RET = X, alors valeur de la cellule A1 = « X »
4- Analyse de la colonne B
a. Si les cellules sont vides alors cellule A1 = « »
b. Sinon analyse du nombre de ligne comprenant la valeur « RET » dans colonne B
i. Si RET = 0, alors cellule A1 = « 0 »
ii. Si RET = X, alors valeur de la cellule A1 = « X »
Option Explicit
Sub analyser_cascade()
Dim col As Byte
For col = 5 To 2 Step -1
If Application.CountA(Columns(col)) <> 0 Then
Range("A1") = Application.CountIf(Columns(col), "RET")
Exit For
End If
Next
End Sub