Fonctions NB.SI.ENS avec une variable

Bonjour,

Je cherche à utiliser la fonction NB.SI.ENS avec une variable comme critère dans une macro pour sélectionner certaines valeurs parmi un ensemble. Ma sélection se fait à l'aide d'un angle écrit sous forme de variable mais je n'arrive pas utiliser cette variable dans la fonction.

Je vous met une partie de mon code puisque je ne peux pas transmettre le fichier complet pour une question de taille et de fichiers et de macros entremêlés (étant novice sur les macros je ne sais pas encore comment tout démêler).

Dim Number_of_circles As Single

Dim Number_of_parts As Single

Dim Number_of_bins As Single

Dim Angle As Double

Dim i As Integer

Number_of_circles = InputBox("Number of circles in the area")

Number_of_parts = InputBox("Number of parts in a circle")

Number_of_bins = Number_of_circles * Number_of_parts

MsgBox ("the number of bins is " & (Number_of_bins))

Angle = 180 / Number_of_parts

MsgBox ("The angle between each bin is " & (Angle))

x = -90 'Angle min

x_max = 90 'Angle max

i = 2

While x < x_max

MsgBox ("x = " & (x))

Range("AI" & i).Select

ActiveCell.FormulaR1C1 = "=COUNTIF(C[-2],"">=x"")"

x = x + Angle

i = i + 1

Wend

Le COUNTIF de la fin devrait correspondre à l'addition de toutes les cellules ayant un angle supérieur à -90° or elle m'affiche un résultat de 0.

De plus c'est ici un COUNTIF (NB.SI) or je cherche à utiliser un COUNTIFS (NB.SI.ENS) avec une formule qui devrait ressembler à:

Range("AI" & i).Select

ActiveCell.FormulaR1C1 = "=COUNTIFS(C[-2],"">=x"",C[-2],""<x + Angle "")"

Cette formule devrait permettre de compter les cellules ayant un angle entre x et x + Angle avec "x" et "Angle" étant des variables.

Je suppose qu'il s'agit d'une question d'écriture mais je suis novice sur les macros Excel donc je n'en suis même pas sur...

Merci de votre aide !

Bonjour,

novice dans les forums aussi

Tu as des balises Code à utiliser pour le rendre plus lisible.

Et avec ton extrait on ne sait pas si tu as fait réellement une Function ou un Sub

il faut couper ta chaine en 2 et y insérer ta variable :

ActiveCell.FormulaR1C1 = "=COUNTIF(C[-2],"">=" & x & """)"

eric

Ok super ça marche ! J'ai essayé aussi pour le COUNTIFS:

ActiveCell.FormulaR1C1 = "=COUNTIFS(C[-2],"">=" & x & """,C[-2],""<" & x + Angle & """)"

Et ça fonctionne aussi !

Merci beaucoup =)

par contre la balise Code beaucoup moins bien...

Rechercher des sujets similaires à "fonctions ens variable"