Resultat meme avec des 0

Résolu
Abd3l0u Messages postés 21 Date d'inscription   Statut Membre Dernière intervention   -  
Abd3l0u Messages postés 21 Date d'inscription   Statut Membre Dernière intervention   -
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 10909 Date d'inscription   Statut Membre Dernière intervention   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 10909 Date d'inscription   Statut Membre Dernière intervention   2 433
 
Et ça donne 0 si toutes les cellules sont à 0
0
trebmal14 Messages postés 801 Date d'inscription   Statut Membre Dernière intervention   245
 
bravo :)
0
Abd3l0u Messages postés 21 Date d'inscription   Statut Membre Dernière intervention   1
 
Nickel c'est ce qu'il me fallait Merci beaucoup pour votre aide.

Bonne journee
0
ccm81 Messages postés 10909 Date d'inscription   Statut Membre Dernière intervention   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 Date d'inscription   Statut Membre Dernière intervention   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 801 Date d'inscription   Statut Membre Dernière intervention   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 801 Date d'inscription   Statut Membre Dernière intervention   245
 
(seul problème avec cette formule : si toutes tes valeures sont à 0, elle te donnera un 1 :/)
0
Abd3l0u Messages postés 21 Date d'inscription   Statut Membre Dernière intervention   1
 
C'est ce que j'allais te dire tu m'as devancer car j'avais deja essaye mais merci quand meme
0