OVH Cloud OVH Cloud

formules et problemes

19 réponses
Avatar
JEAN
Bonjour,

j'ai cette formules:
=SOMMEPROD((Feuil1!B6:B18="B")*1;Feuil1!C6:C18)

qui me fait la somme de mes cellules de la feuille1 de C6 à C18
quand B6 à B18 = B

mais mon probleme est que quand j'ai seulement de B6 àB11 = "B"
et que de B11 à B18 j'ai rien aucune valeur dans les cellules

cela me genere #valeur ou #nombre

comment contourner ceci meme si je n'ai rien dans B11 B12 B13 jusqu'a B18
je peux avoir mon résultats.(la somme de C6:C18) quand de B6 à B18 j'ai B

merci de votre aide

9 réponses

1 2
Avatar
michdenis
Bonjour Jean,

En attendant qu'un spécialiste de la formule se penche sur le sujet, je peux te dépanner avec ceci :

Dans un module standard, copie cette fonction personnalisée :

'-------------------------------
Function AddPlgWithError(Rg As Range)
Dim c As Range
Application.Volatile
For Each c In Rg
If IsNumeric(c) Then
If UCase(c.Offset(, -1).Value) = "B" Then
AddPlgWithError = AddPlgWithError + c
End If
End If
Next
Set C = Nothing
End Function
'-------------------------------

Et dans la cellule où tu veux obtenir la somme de C6:C18 si B6:B18="B" , tu inscris ceci :

­dPlgWithError(C6:C18)


Salutations!






"JEAN" a écrit dans le message de news:

au fait c'est de B16 à B35 plutot

c'est une formule matricielle:

=INDIRECT(ADRESSE(PETITE.VALEUR(SI(INDIRECT($E$3&"!$H$15:$H$250")&INDIRECT($E$3&"!$I$15:$I$250")=$B$13&$B$14;LIGNE(INDIRECT($E$3&"!$H$15:$H$250")));LIGNE()-15);COLONNE($M$15);;;$E$3))

merci de ton aide


Bonjour Jean,

Si tu as des formules dans tes plages de données, et que ces formules retournent une message d'erreur que tu as masqué
par une mise en forme conditionnelle, publie la formule type que tu as dans la colonne B6:B18 ... il y a peut être
moyen
de modifier la formule pour empêcher qu'elle retourne un message d'erreur. C'est là que réside ta difficulté et la
raison du pourquoi ta formule ne fonctionne pas correctement.


Salutations!



"JEAN" a écrit dans le message de news:

si justement en B6 jai pas de #nombre en C6 non plus
mais sur les autre si

a savoir que j'ai des formules matricielles de B6:B18

et j'ai masquer les #nombres de B7à B18 en allant dans format condition et
enecrivant si formule = ESTERREUR(B7) alors rien mettre

de C7 à C18 j'ai integre dans mes formules la fonction est ERREUR

merci


Bonjour Jean,

Peu importe la valeur de tes cellules (quelles soient vides, qu'il y ait du texte ou des nombres), si tes cellules
de
ta
plage B6:B18 et C6:C18 n'affiche pas un message d'erreur comme #NOMBRE! ou #Valeur! ou #DIV/0! , le résultat
devrait
être bon et correspondre à tes exigences.

Si tu as un problème, ce n'est pas la formule qui en est responsable.


Salutations!


"JEAN" a écrit dans le message de news:

sur ma feuille 1 en B6 j'ai B, et en C6 j'ai 1200
mais de b7 à b18 j'ai rien
et de C7 à C18 j'ai rien

et avec cette formule je recupere #NOMBRE au lieu de 1200

pourquoi?

Bonjour Jean,

Je ne vois pas pourquoi cette formule ne fonctionne pas correctement. Cette formule est bonne et elle correspond
exactement à ce que tu veux faire.

=SOMMEPROD((Feuil1!B6:B18="B")*1;Feuil1!C6:C18)

Comme ce n'est pas une formule matricielle (!) , tu n'as pas à la valider par Maj + Ctrl + Enter

ASSURE TOI, que tes plages de cellules, B6:B18 et C6:C18 ont même nombre de lignes dans ton application.


Salutations!





"JEAN" a écrit dans le message de news:

au fait il peut y avoir 1 B en B6, un B en B7 et des 0 ailleurs
et du coup je vooudrai faire la somme de C6 et C7, seleument si B6 est bien
B et B7 est bien B

merci de ton aide



hello
mais la valeur b doit se trouver ou dans chaque cellule b6:b18??
moi a ta place j'utiliserais la fonction somme.si
=somme.si(B6:B18;"b";C6:C18) qui te fait la somme de c6:c18 si dans b6:b18
il y a b
mais
"JEAN" a écrit dans le message de news:

Bonjour,

j'ai cette formules:
=SOMMEPROD((Feuil1!B6:B18="B")*1;Feuil1!C6:C18)

qui me fait la somme de mes cellules de la feuille1 de C6 à C18
quand B6 à B18 = B

mais mon probleme est que quand j'ai seulement de B6 àB11 = "B"
et que de B11 à B18 j'ai rien aucune valeur dans les cellules

cela me genere #valeur ou #nombre

comment contourner ceci meme si je n'ai rien dans B11 B12 B13 jusqu'a B18
je peux avoir mon résultats.(la somme de C6:C18) quand de B6 à B18 j'ai B

merci de votre aide
























Avatar
JEAN
attend je comprend pas
le code

puisque j'ai le cas ou j'ai B de faire la somme de H16 à H19
quand B16 à B19 =B

et quand j'ai HB dans B16 à B19, de faire la somme deH16 à H19

ya deux codes?




Bonjour Jean,

En attendant qu'un spécialiste de la formule se penche sur le sujet, je peux te dépanner avec ceci :

Dans un module standard, copie cette fonction personnalisée :

'-------------------------------
Function AddPlgWithError(Rg As Range)
Dim c As Range
Application.Volatile
For Each c In Rg
If IsNumeric(c) Then
If UCase(c.Offset(, -1).Value) = "B" Then
AddPlgWithError = AddPlgWithError + c
End If
End If
Next
Set C = Nothing
End Function
'-------------------------------

Et dans la cellule où tu veux obtenir la somme de C6:C18 si B6:B18="B" , tu inscris ceci :

­dPlgWithError(C6:C18)


Salutations!






"JEAN" a écrit dans le message de news:

au fait c'est de B16 à B35 plutot

c'est une formule matricielle:

=INDIRECT(ADRESSE(PETITE.VALEUR(SI(INDIRECT($E$3&"!$H$15:$H$250")&INDIRECT($E$3&"!$I$15:$I$250")=$B$13&$B$14;LIGNE(INDIRECT($E$3&"!$H$15:$H$250")));LIGNE()-15);COLONNE($M$15);;;$E$3))

merci de ton aide


Bonjour Jean,

Si tu as des formules dans tes plages de données, et que ces formules retournent une message d'erreur que tu as masqué
par une mise en forme conditionnelle, publie la formule type que tu as dans la colonne B6:B18 ... il y a peut être
moyen
de modifier la formule pour empêcher qu'elle retourne un message d'erreur. C'est là que réside ta difficulté et la
raison du pourquoi ta formule ne fonctionne pas correctement.


Salutations!



"JEAN" a écrit dans le message de news:

si justement en B6 jai pas de #nombre en C6 non plus
mais sur les autre si

a savoir que j'ai des formules matricielles de B6:B18

et j'ai masquer les #nombres de B7à B18 en allant dans format condition et
enecrivant si formule = ESTERREUR(B7) alors rien mettre

de C7 à C18 j'ai integre dans mes formules la fonction est ERREUR

merci


Bonjour Jean,

Peu importe la valeur de tes cellules (quelles soient vides, qu'il y ait du texte ou des nombres), si tes cellules
de
ta
plage B6:B18 et C6:C18 n'affiche pas un message d'erreur comme #NOMBRE! ou #Valeur! ou #DIV/0! , le résultat
devrait
être bon et correspondre à tes exigences.

Si tu as un problème, ce n'est pas la formule qui en est responsable.


Salutations!


"JEAN" a écrit dans le message de news:

sur ma feuille 1 en B6 j'ai B, et en C6 j'ai 1200
mais de b7 à b18 j'ai rien
et de C7 à C18 j'ai rien

et avec cette formule je recupere #NOMBRE au lieu de 1200

pourquoi?

Bonjour Jean,

Je ne vois pas pourquoi cette formule ne fonctionne pas correctement. Cette formule est bonne et elle correspond
exactement à ce que tu veux faire.

=SOMMEPROD((Feuil1!B6:B18="B")*1;Feuil1!C6:C18)

Comme ce n'est pas une formule matricielle (!) , tu n'as pas à la valider par Maj + Ctrl + Enter

ASSURE TOI, que tes plages de cellules, B6:B18 et C6:C18 ont même nombre de lignes dans ton application.


Salutations!





"JEAN" a écrit dans le message de news:

au fait il peut y avoir 1 B en B6, un B en B7 et des 0 ailleurs
et du coup je vooudrai faire la somme de C6 et C7, seleument si B6 est bien
B et B7 est bien B

merci de ton aide



hello
mais la valeur b doit se trouver ou dans chaque cellule b6:b18??
moi a ta place j'utiliserais la fonction somme.si
=somme.si(B6:B18;"b";C6:C18) qui te fait la somme de c6:c18 si dans b6:b18
il y a b
mais
"JEAN" a écrit dans le message de news:

Bonjour,

j'ai cette formules:
=SOMMEPROD((Feuil1!B6:B18="B")*1;Feuil1!C6:C18)

qui me fait la somme de mes cellules de la feuille1 de C6 à C18
quand B6 à B18 = B

mais mon probleme est que quand j'ai seulement de B6 àB11 = "B"
et que de B11 à B18 j'ai rien aucune valeur dans les cellules

cela me genere #valeur ou #nombre

comment contourner ceci meme si je n'ai rien dans B11 B12 B13 jusqu'a B18
je peux avoir mon résultats.(la somme de C6:C18) quand de B6 à B18 j'ai B

merci de votre aide





























Avatar
JEAN
la cellule ou je vait recuperer cette valeur est dans la feuille 2.
­dPlgWithError(C6:C18)
mon tableau est dans la feuille 1
est ce que je peux ecrire telle quelle cette ligne.
­dPlgWithError(Feuil1!H6:H18)

et si a la place de C , c'est H6 à H18
que doit je changer au niveau du code.

merci


Bonjour Jean,

En attendant qu'un spécialiste de la formule se penche sur le sujet, je peux te dépanner avec ceci :

Dans un module standard, copie cette fonction personnalisée :

'-------------------------------
Function AddPlgWithError(Rg As Range)
Dim c As Range
Application.Volatile
For Each c In Rg
If IsNumeric(c) Then
If UCase(c.Offset(, -1).Value) = "B" Then
AddPlgWithError = AddPlgWithError + c
End If
End If
Next
Set C = Nothing
End Function
'-------------------------------

Et dans la cellule où tu veux obtenir la somme de C6:C18 si B6:B18="B" , tu inscris ceci :

­dPlgWithError(C6:C18)


Salutations!






"JEAN" a écrit dans le message de news:

au fait c'est de B16 à B35 plutot

c'est une formule matricielle:

=INDIRECT(ADRESSE(PETITE.VALEUR(SI(INDIRECT($E$3&"!$H$15:$H$250")&INDIRECT($E$3&"!$I$15:$I$250")=$B$13&$B$14;LIGNE(INDIRECT($E$3&"!$H$15:$H$250")));LIGNE()-15);COLONNE($M$15);;;$E$3))

merci de ton aide


Bonjour Jean,

Si tu as des formules dans tes plages de données, et que ces formules retournent une message d'erreur que tu as masqué
par une mise en forme conditionnelle, publie la formule type que tu as dans la colonne B6:B18 ... il y a peut être
moyen
de modifier la formule pour empêcher qu'elle retourne un message d'erreur. C'est là que réside ta difficulté et la
raison du pourquoi ta formule ne fonctionne pas correctement.


Salutations!



"JEAN" a écrit dans le message de news:

si justement en B6 jai pas de #nombre en C6 non plus
mais sur les autre si

a savoir que j'ai des formules matricielles de B6:B18

et j'ai masquer les #nombres de B7à B18 en allant dans format condition et
enecrivant si formule = ESTERREUR(B7) alors rien mettre

de C7 à C18 j'ai integre dans mes formules la fonction est ERREUR

merci


Bonjour Jean,

Peu importe la valeur de tes cellules (quelles soient vides, qu'il y ait du texte ou des nombres), si tes cellules
de
ta
plage B6:B18 et C6:C18 n'affiche pas un message d'erreur comme #NOMBRE! ou #Valeur! ou #DIV/0! , le résultat
devrait
être bon et correspondre à tes exigences.

Si tu as un problème, ce n'est pas la formule qui en est responsable.


Salutations!


"JEAN" a écrit dans le message de news:

sur ma feuille 1 en B6 j'ai B, et en C6 j'ai 1200
mais de b7 à b18 j'ai rien
et de C7 à C18 j'ai rien

et avec cette formule je recupere #NOMBRE au lieu de 1200

pourquoi?

Bonjour Jean,

Je ne vois pas pourquoi cette formule ne fonctionne pas correctement. Cette formule est bonne et elle correspond
exactement à ce que tu veux faire.

=SOMMEPROD((Feuil1!B6:B18="B")*1;Feuil1!C6:C18)

Comme ce n'est pas une formule matricielle (!) , tu n'as pas à la valider par Maj + Ctrl + Enter

ASSURE TOI, que tes plages de cellules, B6:B18 et C6:C18 ont même nombre de lignes dans ton application.


Salutations!





"JEAN" a écrit dans le message de news:

au fait il peut y avoir 1 B en B6, un B en B7 et des 0 ailleurs
et du coup je vooudrai faire la somme de C6 et C7, seleument si B6 est bien
B et B7 est bien B

merci de ton aide



hello
mais la valeur b doit se trouver ou dans chaque cellule b6:b18??
moi a ta place j'utiliserais la fonction somme.si
=somme.si(B6:B18;"b";C6:C18) qui te fait la somme de c6:c18 si dans b6:b18
il y a b
mais
"JEAN" a écrit dans le message de news:

Bonjour,

j'ai cette formules:
=SOMMEPROD((Feuil1!B6:B18="B")*1;Feuil1!C6:C18)

qui me fait la somme de mes cellules de la feuille1 de C6 à C18
quand B6 à B18 = B

mais mon probleme est que quand j'ai seulement de B6 àB11 = "B"
et que de B11 à B18 j'ai rien aucune valeur dans les cellules

cela me genere #valeur ou #nombre

comment contourner ceci meme si je n'ai rien dans B11 B12 B13 jusqu'a B18
je peux avoir mon résultats.(la somme de C6:C18) quand de B6 à B18 j'ai B

merci de votre aide





























Avatar
michdenis
Bonjour Jean,

J'ai adapté la formule pour répondre à ton besoin.

Et dans la cellule où tu veux obtenir la somme de C6:C18 si B6:B18="B" , tu inscris ceci :

­dPlgWithError(C6:C18;"B")

La fonction se compose de 2 paramètres que tu dois lui donner :
A ) La plage à additionner si sur la colonne à gauche sur la même ligne se trouve le critère désiré.
La plage = C6:C18


B ) La chaîne de caractère que tu veux utiliser comme critère :
Le critère = "B" Ou Le critère = "HB"
Ne pas oublier les guillemets.

'---------------------------------
Function AddPlgWithError(Rg As Range, Chaine As String)
Dim c As Range
Application.Volatile
For Each c In Rg
If c.Column > 1 Then
If IsNumeric(c) Then
If UCase(c.Offset(, -1).Value) = UCase(Chaine) Then
AddPlgWithError = AddPlgWithError + c
End If
End If
End If
Next
Set c = Nothing
End Function
'---------------------------------



Salutations!







"JEAN" a écrit dans le message de news:

attend je comprend pas
le code

puisque j'ai le cas ou j'ai B de faire la somme de H16 à H19
quand B16 à B19 =B

et quand j'ai dans B16 à B19, de faire la somme deH16 à H19

ya deux codes?




Bonjour Jean,

En attendant qu'un spécialiste de la formule se penche sur le sujet, je peux te dépanner avec ceci :

Dans un module standard, copie cette fonction personnalisée :

'-------------------------------
Function AddPlgWithError(Rg As Range)
Dim c As Range
Application.Volatile
For Each c In Rg
If IsNumeric(c) Then
If UCase(c.Offset(, -1).Value) = "B" Then
AddPlgWithError = AddPlgWithError + c
End If
End If
Next
Set C = Nothing
End Function
'-------------------------------

Et dans la cellule où tu veux obtenir la somme de C6:C18 si B6:B18="B" , tu inscris ceci :

­dPlgWithError(C6:C18)


Salutations!






"JEAN" a écrit dans le message de news:

au fait c'est de B16 à B35 plutot

c'est une formule matricielle:

=INDIRECT(ADRESSE(PETITE.VALEUR(SI(INDIRECT($E$3&"!$H$15:$H$250")&INDIRECT($E$3&"!$I$15:$I$250")=$B$13&$B$14;LIGNE(INDIRECT($E$3&"!$H$15:$H$250")));LIGNE()-15);COLONNE($M$15);;;$E$3))

merci de ton aide


Bonjour Jean,

Si tu as des formules dans tes plages de données, et que ces formules retournent une message d'erreur que tu as
masqué
par une mise en forme conditionnelle, publie la formule type que tu as dans la colonne B6:B18 ... il y a peut être
moyen
de modifier la formule pour empêcher qu'elle retourne un message d'erreur. C'est là que réside ta difficulté et la
raison du pourquoi ta formule ne fonctionne pas correctement.


Salutations!



"JEAN" a écrit dans le message de news:

si justement en B6 jai pas de #nombre en C6 non plus
mais sur les autre si

a savoir que j'ai des formules matricielles de B6:B18

et j'ai masquer les #nombres de B7à B18 en allant dans format condition et
enecrivant si formule = ESTERREUR(B7) alors rien mettre

de C7 à C18 j'ai integre dans mes formules la fonction est ERREUR

merci


Bonjour Jean,

Peu importe la valeur de tes cellules (quelles soient vides, qu'il y ait du texte ou des nombres), si tes cellules
de
ta
plage B6:B18 et C6:C18 n'affiche pas un message d'erreur comme #NOMBRE! ou #Valeur! ou #DIV/0! , le résultat
devrait
être bon et correspondre à tes exigences.

Si tu as un problème, ce n'est pas la formule qui en est responsable.


Salutations!


"JEAN" a écrit dans le message de news:

sur ma feuille 1 en B6 j'ai B, et en C6 j'ai 1200
mais de b7 à b18 j'ai rien
et de C7 à C18 j'ai rien

et avec cette formule je recupere #NOMBRE au lieu de 1200

pourquoi?

Bonjour Jean,

Je ne vois pas pourquoi cette formule ne fonctionne pas correctement. Cette formule est bonne et elle correspond
exactement à ce que tu veux faire.

=SOMMEPROD((Feuil1!B6:B18="B")*1;Feuil1!C6:C18)

Comme ce n'est pas une formule matricielle (!) , tu n'as pas à la valider par Maj + Ctrl + Enter

ASSURE TOI, que tes plages de cellules, B6:B18 et C6:C18 ont même nombre de lignes dans ton application.


Salutations!





"JEAN" a écrit dans le message de news:

au fait il peut y avoir 1 B en B6, un B en B7 et des 0 ailleurs
et du coup je vooudrai faire la somme de C6 et C7, seleument si B6 est bien
B et B7 est bien B

merci de ton aide



hello
mais la valeur b doit se trouver ou dans chaque cellule b6:b18??
moi a ta place j'utiliserais la fonction somme.si
=somme.si(B6:B18;"b";C6:C18) qui te fait la somme de c6:c18 si dans b6:b18
il y a b
mais
"JEAN" a écrit dans le message de news:

Bonjour,

j'ai cette formules:
=SOMMEPROD((Feuil1!B6:B18="B")*1;Feuil1!C6:C18)

qui me fait la somme de mes cellules de la feuille1 de C6 à C18
quand B6 à B18 = B

mais mon probleme est que quand j'ai seulement de B6 àB11 = "B"
et que de B11 à B18 j'ai rien aucune valeur dans les cellules

cela me genere #valeur ou #nombre

comment contourner ceci meme si je n'ai rien dans B11 B12 B13 jusqu'a B18
je peux avoir mon résultats.(la somme de C6:C18) quand de B6 à B18 j'ai B

merci de votre aide





























Avatar
Starwing
Bonjour JEAN,

Matricielle:
Validation par Ctrl + Shift + Enter

=SOMMEPROD(SI(ESTERREUR(Feuil1!B6:B18="B")*1;0;Feuil1!C6:C18))

--
Au plaisir de vous revoir ...
Visitez >> http://www.excelabo.net
Le merveilleux site de Misange
Starwing

--
Avatar
Starwing
Bonjour JEAN,

Désolé pas de Matricielle ;-0)

=SOMMEPROD(SI(ESTERREUR(Feuil1!B6:B18="B")*1;0;Feuil1!C6:C18))

--
Au plaisir de vous revoir ...
Visitez >> http://www.excelabo.net
Le merveilleux site de Misange
Starwing

--
Avatar
Pierre CFI [mvp]
évidement, si tu l'embrouille :o))

--
Pierre CFI
MVP Microsoft Access
Mail : http://cerbermail.com/?z0SN8cN53B

Site pour bien commencer
Access http://users.skynet.be/mpfa/
Excel http://www.excelabo.net
Site perso
http://access.cfi.free.fr
"Starwing" a écrit dans le message de news:
Bonjour JEAN,

Désolé pas de Matricielle ;-0)

=SOMMEPROD(SI(ESTERREUR(Feuil1!B6:B18="B")*1;0;Feuil1!C6:C18))

--
Au plaisir de vous revoir ...
Visitez >> http://www.excelabo.net
Le merveilleux site de Misange
Starwing

--




Avatar
® © ¿
;o)))
Là tu exagères Pierre !!!
même quand c'est bon, y comprend pas !!
avec un peu de chance l'aurai p't'etre compris ce coup
là !!

Plus ça rate, plus ça a de chance de marcher !!!
proverbe Shadok !!!
® © ¿

-----Message d'origine-----
évidement, si tu l'embrouille :o))

--
Pierre CFI
MVP Microsoft Access
Mail : http://cerbermail.com/?z0SN8cN53B

Site pour bien commencer
Access http://users.skynet.be/mpfa/
Excel http://www.excelabo.net
Site perso
http://access.cfi.free.fr
"Starwing" a écrit dans le message
de news:

Bonjour JEAN,

Désolé pas de Matricielle ;-0)

=SOMMEPROD(SI(ESTERREUR(Feuil1!B6:B18="B")*1;0;Feuil1!
C6:C18))



--
Au plaisir de vous revoir ...
Visitez >> http://www.excelabo.net
Le merveilleux site de Misange
Starwing

--





.




Avatar
Pierre CFI [mvp]
euh, en parlant de Shadok !!!...


--
Pierre CFI
MVP Microsoft Access
Mail : http://cerbermail.com/?z0SN8cN53B

Site pour bien commencer
Access http://users.skynet.be/mpfa/
Excel http://www.excelabo.net
Site perso
http://access.cfi.free.fr
"® © ¿" a écrit dans le message de news:1bb601c4e385$41fece30$
;o)))
Là tu exagères Pierre !!!
même quand c'est bon, y comprend pas !!
avec un peu de chance l'aurai p't'etre compris ce coup
là !!

Plus ça rate, plus ça a de chance de marcher !!!
proverbe Shadok !!!
® © ¿

-----Message d'origine-----
évidement, si tu l'embrouille :o))

--
Pierre CFI
MVP Microsoft Access
Mail : http://cerbermail.com/?z0SN8cN53B

Site pour bien commencer
Access http://users.skynet.be/mpfa/
Excel http://www.excelabo.net
Site perso
http://access.cfi.free.fr
"Starwing" a écrit dans le message
de news:

Bonjour JEAN,

Désolé pas de Matricielle ;-0)

=SOMMEPROD(SI(ESTERREUR(Feuil1!B6:B18="B")*1;0;Feuil1!
C6:C18))



--
Au plaisir de vous revoir ...
Visitez >> http://www.excelabo.net
Le merveilleux site de Misange
Starwing

--





.




1 2