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.

3 réponses

  1. ccm81 Messages postés 11033 Statut Membre 2 434
     
    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
    1. ccm81 Messages postés 11033 Statut Membre 2 434
       
      Et ça donne 0 si toutes les cellules sont à 0
      0
    2. trebmal14 Messages postés 905 Statut Membre 246
       
      bravo :)
      0
    3. Abd3l0u Messages postés 21 Statut Membre 1
       
      Nickel c'est ce qu'il me fallait Merci beaucoup pour votre aide.

      Bonne journee
      0
  2. ccm81 Messages postés 11033 Statut Membre 2 434
     
    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
    1. 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
  3. trebmal14 Messages postés 905 Statut Membre 246
     
    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
    1. trebmal14 Messages postés 905 Statut Membre 246
       
      (seul problème avec cette formule : si toutes tes valeures sont à 0, elle te donnera un 1 :/)
      0
    2. 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