Sub Non_Traité()
Dim i As Integer, n As Integer
For i = 6 To Cells(Rows.Count, 5).End(xlUp).Row
If Cells(i, 18) <> "x" And Cells(i, 16) <> "N" Then n = n + 1
'ce qui correspond à R:R correspond à P:P
Next i
MsgBox n
End Sub
J'obtiens 119...
Quel est le schisme d'après vous ?..
Bizarre non ?
La formule calcule le nombre de cellule vides dans la plage de la colonne C, lui soustrait le nombre de cellule qui contiennent « n » dans la plage de la colonne P puis lui soustrait le nombre de cellule qui contiennent « x » dans la plage de la colonne R.
Exemple : si les colonnes P et R sont entièrement remplies, respectivement avec n et x, le résultat donnera 357 – 357 -357 = -357
Dans la procédure, on comptabilise le nombre de lignes de ces mêmes plages où les cellules sont vides dans la colonne P et la colonne R.
Avec le même exemple : si les colonnes P et R sont entièrement remplies, respectivement avec n et x, le résultat donnera 0.
Bizarre?
Oui, c'est bizarre, que l'accro que tu es, laisse son fichier exemple au chaud sur son disque dur alors qu'il pourrait prendre l'air sur le forum
en testant sur ton fichier tu as trois lignes qui ont "n" en colonne P et x en colonne R ce qui fait que tu as enlevé 6 avec les nb.si() au lieu de seulement 3 d'ou 116 pour 119
Bonne soirée
EDIT pour vérifier que tu as bien 3 ligne avec les "n" en colonne P et x en colonne R
Calvus
0n mettra cela sur le compte de la canicule
Alors pour éviter que cela se reproduise et pour le bien de ton Excel
Je te conseille te punaiser ce mantra au dessus de ton lit (ou sur ton frigo)
PS: Fonctionne avec toutes les versions d'Excel (avec ou sans macro)