Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

addition de 3 résultats countif

5 réponses
Avatar
Chrisdolby
Bonjour,

tout d'abord je précise que c'est en vba.
J'ai 12 cellules placées de manière empirique en
B7,B8,C8,C9,C10,D10,D11,D12,E12,E13,E14,F14 qui forment ce que j'ai appelé
"plan4" et qui contiennent chacune un nombre.

1) je voudrais compter le nombre de 1 ,le nombre de 2 et le nombre de 3 que
contient cette plage.(je pense à "countif")
2) je voudrais ensuite additionner les 3 résultats(de countif).
3) si le résultat est <= 1 la cellule w2 = blank
sinon la cellule w2 inscrit le chiffre 1.

Je fais ça en vba parce que j'ai 11 autres groupes de 3 chiffres à traiter
de la même façon.

Merci pour vos lumières!

Chris

5 réponses

Avatar
Daniel
Bonjour.
Essaie :

Sub test()
Dim c As Range, Ctr As Long
For Each c In Range("plan4")
If c = 1 Or c = 2 Or c = 3 Then
Ctr = Ctr + 1
End If
Next c
If Ctr <= 1 Then
[W2] = ""
Else
[W2] = 1
End If
End Sub

Cordialement.
Daniel
"Chrisdolby" a écrit dans le message
de news:
Bonjour,

tout d'abord je précise que c'est en vba.
J'ai 12 cellules placées de manière empirique en
B7,B8,C8,C9,C10,D10,D11,D12,E12,E13,E14,F14 qui forment ce que j'ai appelé
"plan4" et qui contiennent chacune un nombre.

1) je voudrais compter le nombre de 1 ,le nombre de 2 et le nombre de 3
que
contient cette plage.(je pense à "countif")
2) je voudrais ensuite additionner les 3 résultats(de countif).
3) si le résultat est <= 1 la cellule w2 = blank
sinon la cellule w2 inscrit le chiffre 1.

Je fais ça en vba parce que j'ai 11 autres groupes de 3 chiffres à traiter
de la même façon.

Merci pour vos lumières!

Chris




Avatar
FFO
Salut à toi
Ma proposition

A = "B7," & "B8," & "C8," & "C9," & "C10," & "D10," & "D11," & "D12," &
"E12," & "E13," & "E14," & "F14"
Range(A).Select
n1 = 0
n2 = 0
n3 = 0
For Each c In Selection
If c = 1 Then
n1 = n1 + 1
End If
If c = 2 Then
n2 = n2 + 1
End If
If c = 3 Then
n3 = n3 + 1
End If
Next
If n1 + n2 + n3 <= 1 Then
Range("W2") = "blank"
Else
Range("W2") = 1
End If

Chez moi celà fonctionne
Et chez toi ????

Bonjour,

tout d'abord je précise que c'est en vba.
J'ai 12 cellules placées de manière empirique en
B7,B8,C8,C9,C10,D10,D11,D12,E12,E13,E14,F14 qui forment ce que j'ai appelé
"plan4" et qui contiennent chacune un nombre.

1) je voudrais compter le nombre de 1 ,le nombre de 2 et le nombre de 3 que
contient cette plage.(je pense à "countif")
2) je voudrais ensuite additionner les 3 résultats(de countif).
3) si le résultat est <= 1 la cellule w2 = blank
sinon la cellule w2 inscrit le chiffre 1.

Je fais ça en vba parce que j'ai 11 autres groupes de 3 chiffres à traiter
de la même façon.

Merci pour vos lumières!

Chris




Avatar
isabelle
bonjour Chris,

Sub Macro1()
Set plg = Range("plan4")
For Each c In plg
Select Case c
Case 1: a = a + 1
Case 2: b = b + 1
Case 3: c = c + 1
End Select
Next
If a + b + c <= 1 Then: [W2] = "blank": Else: [W2] = 1
End Sub

isabelle

Bonjour,

tout d'abord je précise que c'est en vba.
J'ai 12 cellules placées de manière empirique en
B7,B8,C8,C9,C10,D10,D11,D12,E12,E13,E14,F14 qui forment ce que j'ai appelé
"plan4" et qui contiennent chacune un nombre.

1) je voudrais compter le nombre de 1 ,le nombre de 2 et le nombre de 3 que
contient cette plage.(je pense à "countif")
2) je voudrais ensuite additionner les 3 résultats(de countif).
3) si le résultat est <= 1 la cellule w2 = blank
sinon la cellule w2 inscrit le chiffre 1.

Je fais ça en vba parce que j'ai 11 autres groupes de 3 chiffres à traiter
de la même façon.

Merci pour vos lumières!

Chris




Avatar
isabelle
correction :

Sub Macro1()
Set plg = Range("plan4")
For Each cel In plg
Select Case cel
Case 1: a = a + 1
Case 2: b = b + 1
Case 3: c = c + 1
End Select
Next
If a + b + c <= 1 Then: [W2] = "blank": Else: [W2] = 1
End Sub

isabelle


Bonjour,

tout d'abord je précise que c'est en vba.
J'ai 12 cellules placées de manière empirique en
B7,B8,C8,C9,C10,D10,D11,D12,E12,E13,E14,F14 qui forment ce que j'ai appelé
"plan4" et qui contiennent chacune un nombre.

1) je voudrais compter le nombre de 1 ,le nombre de 2 et le nombre de 3 que
contient cette plage.(je pense à "countif")
2) je voudrais ensuite additionner les 3 résultats(de countif).
3) si le résultat est <= 1 la cellule w2 = blank
sinon la cellule w2 inscrit le chiffre 1.

Je fais ça en vba parce que j'ai 11 autres groupes de 3 chiffres à traiter
de la même façon.

Merci pour vos lumières!

Chris




Avatar
Chrisdolby
Merci à vous trois et une mention speciale pour Isabelle qui m'a bien aidé
par 2 fois.

Chris


correction :

Sub Macro1()
Set plg = Range("plan4")
For Each cel In plg
Select Case cel
Case 1: a = a + 1
Case 2: b = b + 1
Case 3: c = c + 1
End Select
Next
If a + b + c <= 1 Then: [W2] = "blank": Else: [W2] = 1
End Sub

isabelle


Bonjour,

tout d'abord je précise que c'est en vba.
J'ai 12 cellules placées de manière empirique en
B7,B8,C8,C9,C10,D10,D11,D12,E12,E13,E14,F14 qui forment ce que j'ai appelé
"plan4" et qui contiennent chacune un nombre.

1) je voudrais compter le nombre de 1 ,le nombre de 2 et le nombre de 3 que
contient cette plage.(je pense à "countif")
2) je voudrais ensuite additionner les 3 résultats(de countif).
3) si le résultat est <= 1 la cellule w2 = blank
sinon la cellule w2 inscrit le chiffre 1.

Je fais ça en vba parce que j'ai 11 autres groupes de 3 chiffres à traiter
de la même façon.

Merci pour vos lumières!

Chris