NB.SI en VBA n'est pas pris en compte dans mes calculs VBA
RésoluLe Pingou Messages postés 12644 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
- NB.SI en VBA n'est pas pris en compte dans mes calculs VBA
- Créer un compte google - Guide
- Installer windows 10 sans compte microsoft - Guide
- Créer un compte gmail - Guide
- Comment savoir qui regarde mon compte facebook - Guide
- Compte facebook désactivé - Guide
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 à 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 questionbsr 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!
j'ai corrigé CH3 DF3 c'est super
vais l'intégrer avec le reste
encore merci
par contre petite question
Row 26 c'est le nombre de cellules de CH2:DF2?
et Row 6 pour CC2:EA?
merci
J'ai une erreur qui apparait au débogage End If Next C peux tu me dire merci
Merci danielc0, Je prend note du code. C'est super, je n'avais pas compris la demande. Bonne suite. Salutations. Le Pingou