Compte pair VBA

Bonjour

Je voudrai compter le nombre de pair et d'impair dans Plage_2

Cells(i, 5).offset(0,-2) = 100

cela ne fonctionne pas, pourquoi

Debug.Print Cells(i, 5).Value Mod 2 donne o ou i

merci

""""""""

Set Plage_2 = Range(Cells(3, 5), Cells(NB + 1, 5))

If Cells(i, 5).Value Mod 2 = 0 Then Cells(i, 5).Interior.ColorIndex = 22

If Cells(i, 5).Value Mod 2 <> 0 Then Cells(i, 5).Interior.ColorIndex = 23

Tab_Num_Sorties(4, 1) = Application.WorksheetFunction.CountIf(Plage_2, Cells(i, 5) Mod 2 = 0)

Debug.Print Cells(i, 5).Value Mod 2

Salut,

Ta macro incomplète et l'absence de fichier n'aide pas à t'aider

Dans le fichier ci-joint, je te montre comment tu pourrais compter le nombre de chiffres pairs dans une plage variable.

Je n'ai pas trouver de solution afin de ne pas devoir passer par mon ''Compteur''. La ligne mise en commentaire ne fonctionne effectivement pas

EDIT : Dans ce nouveau fichier, j'ai ajouté en G3 la formule que j'ai tenté - sans succès - de traduire en VBA, tel que je l'explique ci-dessus.

34classeur-v2.xlsm (18.80 Ko)

Bonjour,

Bonjour Yvouille,

Avec la méthode Evaluate.

Cdlt.

8classeur-v2.xlsm (19.01 Ko)
Sub Aaa()
Dim NB As Byte, Cellule As Range, Plage_2 As Range, v
    NB = 12
    Set Plage_2 = Range(Cells(3, 5), Cells(NB + 1, 5))
    For Each Cellule In Plage_2
        If Cellule Mod 2 = 0 Then
            Cellule.Interior.ColorIndex = 22
        Else
            Cellule.Interior.ColorIndex = 23
        End If
    Next
    v = Evaluate("=SUMPRODUCT(--(MOD(" & Plage_2.Address & ",2)=0))")
    'v = Evaluate("=SUMPRODUCT(1*(MOD(" & Plage_2.Address & ",2)=0))")
    MsgBox "le nombre de chiffres pairs est de : " & v
End Sub

Merci

Je viens de trouver une solution, via une fonction que j'avais faite, il y a quelque temps

ça à l'air de fonctionner

Tab_Num_Sorties(4, 1) = Pairs

Tab_Num_Sorties(4, 2) = Impairs

Tab_Num_Sorties(4, 3) = Pairs - Impairs

Cells(i, 5).Offset(0, 260) = Pairs

Cells(i, 5).Offset(0, 261) = Impairs

Cells(i, 5).Offset(0, 262) = Pairs - Impairs

Je ne met pas résolu, car je n'ai pas encore vérifie ma solution

je regarde la votre, pour comparer les résultats

Les deux solutions fonctionnent, par contre la votre a l'avantage d'être autonome, moi je passe par une fonction

7 3 4 7 3 4

4 6 -2 4 6 -2

6 4 2 6 4 2

8 2 6 8 2 6

7 3 4 7 3 4

3 7 -4 3 7 -4

6 4 2 6 4 2

6 4 2 6 4 2

5 5 0 5 5 0

pour ce qui est de colorer les céllules

If Cells(i, 5).Value Mod 2 = 0 Then Cells(i, 5).Interior.ColorIndex = 22

If Cells(i, 5).Value Mod 2 <> 0 Then Cells(i, 5).Interior.ColorIndex = 23

Tout cela est déjà incorporé dans deux boucles, donc pas de troisième pour colorer, je vais essayer de trouver pourquoi ma formule ne fonctionne pas, avec cells

je vais modifier

ma fonction perso, pour coloré pair et impair

Bonjour tout le monde,

Merci à Jean-Eric pour cette information au sujet de la méthode Evaluate

Rechercher des sujets similaires à "compte pair vba"