NB.SI en VBA n'est pas pris en compte dans mes calculs VBA
RésoluLe Pingou Messages postés 12275 Date d'inscription Statut Contributeur Dernière intervention -
bonjoujour a tous
je me rends compte que ma formule
NB.SI(($ch$2:$DF$2;BP3) n'est pas pris en compte dans mon "VBA)
J'ai tout essayé avec les "" en mettant = avec les doubles" mais jamais ce n'est pris en compte
je pense qu'il faut me rapprocher de =(concat($ch$2:$df$2)=REPT("0;51)) 51 étant le nombre de cellules mais ou mettre ma cellule BP3? qui est la cellule de comparaison
la je patauge
merci a tous
vous êtes super!
merci à tous
7 réponses
Le problème concerne l’utilisation de NB.SI avec une plage horizontale et un critère issu d’une cellule en VBA, et les essais avec des guillemets n’apportent pas le résultat souhaité. Une solution opérationnelle propose de remplacer NB.SI par une macro qui, pour chaque ligne, vérifie deux conditions via CountIf sur CH2:DF2 et CC2:EA2, en utilisant les valeurs des colonnes Z (26) et F (6) comme critères; si les deux résultats sont supérieurs à zéro, on écrit 1, sinon 0. La macro parcourt les lignes à partir de A3 et dépose le résultat dans la colonne H, via une boucle For Each et une structure If Then Else. Cette approche contourne la limitation de NB.SI dans ce contexte et fournit une solution robuste pour générer un indicateur binaire en fonction de deux critères.
-
Bonjour,
J'ai compris que, si les deux formules donnent un résultat >0 alors on mets 1 dans la cellule. Ca ne se produit pas, toutes les cellules sont à 0 :
Sub test() Dim C As Range For Each C In Range("A3", Cells(Rows.Count, 1).End(xlUp)).Offset(, 7) If Application.CountIf([CH2:DF2], Cells(C.Row, 26)) > 0 And _ Application.CountIf([CC2:EA2], Cells(C.Row, 6)) > 0 Then C.Value = 1 Else C.Value = 0 End If Next C End Sub
-
Bonjour,
Merci, toutefois vous dite :
mais je dois l'ajouter en VBA à d'autres fonctions existantes en VBA qui fonctionnent parfaitement
et dans le fichier il n'y a aucun code VBA..... donc ou faut-il faire l'ajout...?
-
Bonjour,
Ben! nous on patauge aussi sans fichier
Slts
-
Bonjour à tous,
Outre un fichier, si tu expliquais ce que tu veux faire ? Au lieu d'expliquer ce qui ne fonctionne pas ? Et de poster le code défectueux ?
Daniel
-
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
bsr j'ai fait un tableau réduit de mes calcus
il n'y a pas de code d'erreur, c est simplement ignoré!
Pourquoi?
le calcul serait
NB.SI($CH$2:$DF$2;Z3)a mettre résultat par un 1 en H si resultat des deux sont combinés par une macroNB.SI($CC$3:$EA$3;F3)a mettre résultat par un 1 en H si resultat des deux sont combinés par une macro
mais je dois l'ajouter en VBA à d'autres fonctions existantes en VBA qui fonctionnent parfaitement
https://www.cjoint.com/c/OBkuqVvUpXD
merci d'avance pour ton aide
-
Bonjour,
Juste au passage, vous dite : mais je dois l'ajouter en VBA et par contre vous mettez un fichier sans le VBA ......va être difficile d'en faire plus!
-