Resultat meme avec des 0

Résolu
Abd3l0u Messages postés 21 Statut Membre -  
Abd3l0u Messages postés 21 Statut Membre -
Bonjour a tous,

Je travail sur un fichier en combinant Vba et Excel. Dans une plage de cellule excel j'aimerai mettre le resultat d'une multiplication de plusieurs cellules dont le resultat provient d'une macros.
j'aimerai avoir le resultat meme si une des cellules contient un 0.

exemple : 2x2x0=0 j'aimerai que sa m'affiche 4

J'espere que c'est assez clair. Merci par avance pour votre aide.

PS : desole pour les fautes et accent, je suis avec un clavier anglais.



A voir également:

3 réponses

ccm81 Messages postés 11033 Statut Membre 2 433
 
Essaies

=PRODUIT(SI(A2:B3<>0;A2:B3))
Formule matricielle à valider avec Ctrl+Maj+Entrée (elle se mettra alors automatiquement entre accolades)

Cdlmnt
1
ccm81 Messages postés 11033 Statut Membre 2 433
 
Et ça donne 0 si toutes les cellules sont à 0
0
trebmal14 Messages postés 905 Statut Membre 245
 
bravo :)
0
Abd3l0u Messages postés 21 Statut Membre 1
 
Nickel c'est ce qu'il me fallait Merci beaucoup pour votre aide.

Bonne journee
0
ccm81 Messages postés 11033 Statut Membre 2 433
 
Bonjour

Je ne sais pas si j'ai bien compris ton pb

Public Function ProdSansZero(plage As Range)
Dim c As Range, p, ok As Boolean
p = 1
ok = False
For Each c In plage
  If c.Value <> 0 Then p = p * c.Value: ok = True
Next c
If ok Then
  ProdSansZero = p
Else
  ProdSansZero = 0
End If
End Function


Cdlmnt
0
Abd3l0u Messages postés 21 Statut Membre 1
 
Merci pour ta reponse.
j'aimerai savoir si c'est possible de le faire sans macro juste avec excel

Cordialement
0
trebmal14 Messages postés 905 Statut Membre 245
 
Bonjour. Tu peux utiliser une fonction SI pour chaque cellule qui appliquera ou non la multiplication si différent de zéro. (car si tu multiplie un chiffre par zéro, excel te donnera zéro quoi qu'il arrive (logique)

Mon idée : le test logique est : Si la céllule est suppérieure à zéro, si vrai : [valeur de la cellule] ; si faux : 1 (je multipli le tout par 1 pour ne pas changer la veleur)

Ex : Les données sont dans les céllules de A1 à A10.

=SI(A1>0;A1;1)*SI(A2>0;A2;1)*SI(A3>0;A3;1)*...*SI(An>0;An;1)
0
trebmal14 Messages postés 905 Statut Membre 245
 
(seul problème avec cette formule : si toutes tes valeures sont à 0, elle te donnera un 1 :/)
0
Abd3l0u Messages postés 21 Statut Membre 1
 
C'est ce que j'allais te dire tu m'as devancer car j'avais deja essaye mais merci quand meme
0