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

Fermé
anizzz Messages postés 17 Date d'inscription mercredi 17 septembre 2014 Statut Membre Dernière intervention 20 novembre 2014 - 14 nov. 2014 à 11:14
pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 - 14 nov. 2014 à 12:24
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 jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 2 744
14 nov. 2014 à 11:31
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 mercredi 17 septembre 2014 Statut Membre Dernière intervention 20 novembre 2014
14 nov. 2014 à 12:00
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 jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 2 744
Modifié par pijaku le 14/11/2014 à 12:25
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