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

Nb.Si mais avec 2 conditions

7 réponses
Avatar
Stéphan DuQuébec
Bien le bonjour à vous,

Je tente d'imbriquer une seconde condition dans un dénombrement de cellules
mais je n'y parviens pas.....Ni avec la fonction Nb.Si (parce que j'ai deux
conditions à rencontrer) ni avec la procédure suivante, que j'essaie de
moduler de différentes façons.

Sub DénombrerCellules()
Dénombrer = 0
For Each cell In ActiveSheet.Range("Plage1")
If cell.Value = "Target1" Then
On Error GoTo 0
Dénombrer = Dénombrer + 1
End If
Next
MsgBox Dénombrer
End Sub

J'ai déjà une première condition qui est celle de la présence de la valeur
"Target1" qui fonctionne bien. Cependant, je veux coupler une seconde
condition qui serait la présence de la valeur "Target2" dans la plage de
cellules "Plage2".

Vous pouvez me suggérer l'endoit où mettre ma seconde condition ?

Merci de m'accorder un peu de votre temps !

7 réponses

Avatar
Patrick Fredin
Bonjour,

Il faut mettre la 2e condition juste après que la 1e soit vérifiée, donc
juste après :

If cell.Value = "Target1" Then


--
Patrick

"Stéphan DuQuébec" wrote in
message news:
Bien le bonjour à vous,

Je tente d'imbriquer une seconde condition dans un dénombrement de
cellules
mais je n'y parviens pas.....Ni avec la fonction Nb.Si (parce que j'ai
deux
conditions à rencontrer) ni avec la procédure suivante, que j'essaie de
moduler de différentes façons.

Sub DénombrerCellules()
Dénombrer = 0
For Each cell In ActiveSheet.Range("Plage1")
If cell.Value = "Target1" Then
On Error GoTo 0
Dénombrer = Dénombrer + 1
End If
Next
MsgBox Dénombrer
End Sub

J'ai déjà une première condition qui est celle de la présence de la valeur
"Target1" qui fonctionne bien. Cependant, je veux coupler une seconde
condition qui serait la présence de la valeur "Target2" dans la plage de
cellules "Plage2".

Vous pouvez me suggérer l'endoit où mettre ma seconde condition ?

Merci de m'accorder un peu de votre temps !


Avatar
BRONCHART Philippe
Bonjour stephan

Un Sommeprod devrait faire l'affaire
Une zone nommée abre
Une zone nommée Hauteur

Exemple :
nombre d'abres = pommier ET hauteur supérieur à 10

=SOMMEPROD((arbre="pommes")*(hauteur>10)

Attention, La zone abre et la zone hauteur doivent avoir le même nombre de
cellulles

Amicalement

Phlippe Bronchart

"Stéphan DuQuébec" a écrit dans le
message de news:
Bien le bonjour à vous,

Je tente d'imbriquer une seconde condition dans un dénombrement de
cellules
mais je n'y parviens pas.....Ni avec la fonction Nb.Si (parce que j'ai
deux
conditions à rencontrer) ni avec la procédure suivante, que j'essaie de
moduler de différentes façons.

Sub DénombrerCellules()
Dénombrer = 0
For Each cell In ActiveSheet.Range("Plage1")
If cell.Value = "Target1" Then
On Error GoTo 0
Dénombrer = Dénombrer + 1
End If
Next
MsgBox Dénombrer
End Sub

J'ai déjà une première condition qui est celle de la présence de la valeur
"Target1" qui fonctionne bien. Cependant, je veux coupler une seconde
condition qui serait la présence de la valeur "Target2" dans la plage de
cellules "Plage2".

Vous pouvez me suggérer l'endoit où mettre ma seconde condition ?

Merci de m'accorder un peu de votre temps !


Avatar
BRONCHART Philippe
ho boulette ..

=SOMMEPROD(arbre="pommes")*(hauteur>10)

"BRONCHART Philippe" a écrit dans le message
de news:
Bonjour stephan

Un Sommeprod devrait faire l'affaire
Une zone nommée abre
Une zone nommée Hauteur

Exemple :
nombre d'abres = pommier ET hauteur supérieur à 10

=SOMMEPROD((arbre="pommes")*(hauteur>10)

Attention, La zone abre et la zone hauteur doivent avoir le même nombre de
cellulles

Amicalement

Phlippe Bronchart

"Stéphan DuQuébec" a écrit dans
le message de news:
Bien le bonjour à vous,

Je tente d'imbriquer une seconde condition dans un dénombrement de
cellules
mais je n'y parviens pas.....Ni avec la fonction Nb.Si (parce que j'ai
deux
conditions à rencontrer) ni avec la procédure suivante, que j'essaie de
moduler de différentes façons.

Sub DénombrerCellules()
Dénombrer = 0
For Each cell In ActiveSheet.Range("Plage1")
If cell.Value = "Target1" Then
On Error GoTo 0
Dénombrer = Dénombrer + 1
End If
Next
MsgBox Dénombrer
End Sub

J'ai déjà une première condition qui est celle de la présence de la
valeur
"Target1" qui fonctionne bien. Cependant, je veux coupler une seconde
condition qui serait la présence de la valeur "Target2" dans la plage de
cellules "Plage2".

Vous pouvez me suggérer l'endoit où mettre ma seconde condition ?

Merci de m'accorder un peu de votre temps !






Avatar
Stéphan DuQuébec
Tu excuseras mon manque de compétences mais dois-je également y mettre mon
second adressage de cellules (Plage2_) ?

Le script suivant ne fonctionne pas....

Sub DénombrerCellules()
Dénombrer = 0
For Each cell In ActiveSheet.Range("Plage1")
If cell.Value = "Target1" Then
For Each cell In ActiveSheet.Range("Plage2")
If cell.Value = "Target2" Then
On Error GoTo 0
Dénombrer = Dénombrer + 1
End If
Next
MsgBox Dénombrer
End Sub



Bonjour,

Il faut mettre la 2e condition juste après que la 1e soit vérifiée, donc
juste après :

If cell.Value = "Target1" Then


--
Patrick

"Stéphan DuQuébec" wrote in
message news:
Bien le bonjour à vous,

Je tente d'imbriquer une seconde condition dans un dénombrement de
cellules
mais je n'y parviens pas.....Ni avec la fonction Nb.Si (parce que j'ai
deux
conditions à rencontrer) ni avec la procédure suivante, que j'essaie de
moduler de différentes façons.

Sub DénombrerCellules()
Dénombrer = 0
For Each cell In ActiveSheet.Range("Plage1")
If cell.Value = "Target1" Then
On Error GoTo 0
Dénombrer = Dénombrer + 1
End If
Next
MsgBox Dénombrer
End Sub

J'ai déjà une première condition qui est celle de la présence de la valeur
"Target1" qui fonctionne bien. Cependant, je veux coupler une seconde
condition qui serait la présence de la valeur "Target2" dans la plage de
cellules "Plage2".

Vous pouvez me suggérer l'endoit où mettre ma seconde condition ?

Merci de m'accorder un peu de votre temps !







Avatar
Stéphan DuQuébec
Bien entendu un Sommeprod......merci mille fois !

Comme quoi, on passe quelquefois par Vancouver pour aller à Toronto.....

En tout cas, c'est une expression qui a du sens pour nous au Québec !

Ciao !



ho boulette ..

=SOMMEPROD(arbre="pommes")*(hauteur>10)

"BRONCHART Philippe" a écrit dans le message
de news:
Bonjour stephan

Un Sommeprod devrait faire l'affaire
Une zone nommée abre
Une zone nommée Hauteur

Exemple :
nombre d'abres = pommier ET hauteur supérieur à 10

=SOMMEPROD((arbre="pommes")*(hauteur>10)

Attention, La zone abre et la zone hauteur doivent avoir le même nombre de
cellulles

Amicalement

Phlippe Bronchart

"Stéphan DuQuébec" a écrit dans
le message de news:
Bien le bonjour à vous,

Je tente d'imbriquer une seconde condition dans un dénombrement de
cellules
mais je n'y parviens pas.....Ni avec la fonction Nb.Si (parce que j'ai
deux
conditions à rencontrer) ni avec la procédure suivante, que j'essaie de
moduler de différentes façons.

Sub DénombrerCellules()
Dénombrer = 0
For Each cell In ActiveSheet.Range("Plage1")
If cell.Value = "Target1" Then
On Error GoTo 0
Dénombrer = Dénombrer + 1
End If
Next
MsgBox Dénombrer
End Sub

J'ai déjà une première condition qui est celle de la présence de la
valeur
"Target1" qui fonctionne bien. Cependant, je veux coupler une seconde
condition qui serait la présence de la valeur "Target2" dans la plage de
cellules "Plage2".

Vous pouvez me suggérer l'endoit où mettre ma seconde condition ?

Merci de m'accorder un peu de votre temps !











Avatar
Patrick Fredin
Je pense que tu as oublié un End If et un Next.

Sub DénombrerCellules()
Dénombrer = 0
For Each cell1 In ActiveSheet.Range("Plage1")
If cell.Value = "Target1" Then
For Each cell2 In ActiveSheet.Range("Plage2")
If cell.Value = "Target2" Then
On Error GoTo 0 'Inutile
Dénombrer = Dénombrer + 1
End If
Next cell2
End If
Next cell1
MsgBox Dénombrer
End Sub

--
Patrick

"Stéphan DuQuébec" wrote in
message news:

Tu excuseras mon manque de compétences mais dois-je également y mettre mon
second adressage de cellules (Plage2_) ?

Le script suivant ne fonctionne pas....

Sub DénombrerCellules()
Dénombrer = 0
For Each cell In ActiveSheet.Range("Plage1")
If cell.Value = "Target1" Then
For Each cell In ActiveSheet.Range("Plage2")
If cell.Value = "Target2" Then
On Error GoTo 0
Dénombrer = Dénombrer + 1
End If
Next
MsgBox Dénombrer
End Sub



Bonjour,

Il faut mettre la 2e condition juste après que la 1e soit vérifiée, donc
juste après :

If cell.Value = "Target1" Then


--
Patrick

"Stéphan DuQuébec" wrote in
message news:
Bien le bonjour à vous,

Je tente d'imbriquer une seconde condition dans un dénombrement de
cellules
mais je n'y parviens pas.....Ni avec la fonction Nb.Si (parce que j'ai
deux
conditions à rencontrer) ni avec la procédure suivante, que j'essaie de
moduler de différentes façons.

Sub DénombrerCellules()
Dénombrer = 0
For Each cell In ActiveSheet.Range("Plage1")
If cell.Value = "Target1" Then
On Error GoTo 0
Dénombrer = Dénombrer + 1
End If
Next
MsgBox Dénombrer
End Sub

J'ai déjà une première condition qui est celle de la présence de la
valeur
"Target1" qui fonctionne bien. Cependant, je veux coupler une seconde
condition qui serait la présence de la valeur "Target2" dans la plage
de
cellules "Plage2".

Vous pouvez me suggérer l'endoit où mettre ma seconde condition ?

Merci de m'accorder un peu de votre temps !









Avatar
AV
Par vba :
x = [sumproduct((Plage1="Target1")*(Plage2="Target2"))]

AV