VBA - Nbre de cellule par colonne

melaine -  
michel_m Messages postés 16602 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,

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 »

Merci pour votre aide
Melaine





A voir également:

1 réponse

michel_m Messages postés 16602 Date d'inscription   Statut Contributeur Dernière intervention   3 313
 
Bonjour

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
0