Compter le nombre de réponses Ok et Nok dans un tableau

anizzz Messages postés 17 Date d'inscription   Statut Membre Dernière intervention   -  
pijaku Messages postés 12263 Date d'inscription   Statut Modérateur Dernière intervention   -
Bonjour,

J'ai un tableau ( semaine ) contenant les résultats d'audit par zone d'entreprise appelée GAP. J'aimerais en extraire un tableau affichant le nombre d'audits OK ( marqué par O ) et d'audits NOK ( marqué par X ) par GAP.

Ma grille varie toute les semaines. Voici ma macro :



Sub Analyser()

Dim i, j, inj7ok, inj7tot

i = 6
j = 4
inj7ok = 0
inj7tot = 0

For i = 6 To 40

Do While (j < 40)


If ActiveWorkbook.Sheets("semaine").Cells(i, j).Value Then

If ActiveWorkbook.Sheets("semaine").Cells(i, j + 5).Value Then
inj7ok = inj7ok + 1

End If

inj7tot = inj7tot + 1

End If

j = j + 9

Loop

Next i

End Sub




Lorsque je lance la macro ça m'affiche l'erreur " incompatibilité de type " ... Je ne comprends pas d'où ça peut venir.


Mon fichier excel est là : https://www.cjoint.com/?0KolqRsTBnW
Merci d'avance ! :)

A voir également:

3 réponses

pijaku Messages postés 12263 Date d'inscription   Statut Modérateur Dernière intervention   2 761
 
Bonjour,

Nul besoin du fichier, pour l'instant.
Que veux tu tester à ces deux lignes :
If ActiveWorkbook.Sheets("semaine").Cells(i, j).Value Then

et
If ActiveWorkbook.Sheets("semaine").Cells(i, j + 5).Value Then 

0
anizzz Messages postés 17 Date d'inscription   Statut Membre Dernière intervention  
 
If ActiveWorkbook.Sheets("semaine").Cells(i, j + 5).Value Then
inj7ok = inj7ok + 1
End If

Ici je voudrais que ça me compte le nombre de fois où c'est écrit OK pour le GAP injection 7



If ActiveWorkbook.Sheets("semaine").Cells(i, j).Value Then
inj7tot = inj7tot + 1
End If

Et ici je voudrais que ça me compte le nombre de fois où la case où l'on remplie le résultat de l'audit est remplie.

Je ne sais pas si je suis assez claire...
0
pijaku Messages postés 12263 Date d'inscription   Statut Modérateur Dernière intervention   2 761
 
Tu es claire dans tes explications, mais pas dans ton code.
Je traduis pour toi :
If ActiveWorkbook.Sheets("semaine").Cells(i, j).Value Then 
signifie :
Si la valeur de ma cellule alors...


Or tu me dis vouloir :
Si la valeur de ma cellule est "OK"


Donc :
If ActiveWorkbook.Sheets("semaine").Cells(i, j).Value = "OK" Then 

Tu comprends mieux ton erreur maintenant?

🎼 Cordialement,
Franck 🎶
0