IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Excel Discussion :

[E07] Produit considérant les blancs comme "zero"


Sujet :

Excel

  1. #1
    Futur Membre du Club
    Inscrit en
    Décembre 2008
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 10
    Points : 7
    Points
    7
    Par défaut [E07] Produit considérant les blancs comme "zero"
    Bonjour à tous,

    Imaginer un vecteur A2:A2000
    Ce vecteur ne peut contenir que des 1 et des 0 (DataValidation)
    Initialement tous les cellules sont sur 1.
    Le 0 permet à l'utilisateur de désélectionner une ligne pour une autre application.
    La cellule A1 est le produit de toutes les cellules de A2 à A2000
    Cette cellule A1 me permet de controller si une des lignes a été mise à 0.

    Ma question:
    Si à la place de mettre 0 dans une des cases A2:A2000, un utilisateur appuye sur la touche delete... DataValidation ne bronche pas... cette case n'est alors pas considérée comme un 0 et mon produit en A1 reste 1!

    Je voudrais faire un simple produit des cellules A2:A2000... mais où les cases vides sont considérées comme 0!

    Merci d'avance pour votre aide.

    Bruno

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2007
    Messages
    681
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 681
    Points : 633
    Points
    633
    Par défaut
    Si tes cellules doivent contenir des 1 ou des zéro, pourquoi chercher à multiplier?
    Je te propose une solution. J'ai mis 2 lignes dans mon exemple, mais il est possible de la faire sur une seule ligne en rentrant en dur le total théorique.

  3. #3
    Membre émérite
    Avatar de cb_60
    Homme Profil pro
    Chargé de mission technique
    Inscrit en
    Juillet 2007
    Messages
    1 253
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Chargé de mission technique
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2007
    Messages : 1 253
    Points : 2 375
    Points
    2 375
    Billets dans le blog
    14
    Par défaut
    Bonjour
    Cela devrais suffire?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =SOMMEPROD((A2:A2000<>0)*(A2:A2000<>""))
    L'imagination est plus importante que le savoir.... A . Einstein.
    https://www.developpez.net/forums/blogs/179588-cb_60/
    Merci de cliquer sur pour clore cette discussion.

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2007
    Messages
    681
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 681
    Points : 633
    Points
    633
    Par défaut
    Bonjour cb_60
    J'ai testé et ta formule retourne toujours 1. Problème.

  5. #5
    Membre émérite
    Avatar de cb_60
    Homme Profil pro
    Chargé de mission technique
    Inscrit en
    Juillet 2007
    Messages
    1 253
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Chargé de mission technique
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2007
    Messages : 1 253
    Points : 2 375
    Points
    2 375
    Billets dans le blog
    14
    Par défaut
    re
    Bizarre, j'ai testé aussi et je n'ai peut être pas compris,
    la le sommeprod, calcul le nombre de cellule different de zéro et different de rien.
    Ce n'est peut être pas le But?
    L'imagination est plus importante que le savoir.... A . Einstein.
    https://www.developpez.net/forums/blogs/179588-cb_60/
    Merci de cliquer sur pour clore cette discussion.

  6. #6
    Futur Membre du Club
    Inscrit en
    Décembre 2008
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 10
    Points : 7
    Points
    7
    Par défaut
    Mon but est de créer un "résumé" dans la cellule A1 pour voir si qq'un a introduit un 0 ou un blanc dans les 2000 lignes en dessous...

    Je ne cherche pas à sommer les 1... mais à les multiplier... de cette manière, si tous les cellules A2:A2000 sont 1, A1 affichera 1 ... mais si qq'un a introduit un 0 dans les 2000 lignes en dessous... ma cellule A1 affichera 0...

    Le sumproduct n'est donc pour moi pas évident dans ce cas, puisqu'il "somme".

    Mon problème reste si quelqu'un force un "blanc" dans la zone A2:A2000...
    Le produit normal va ignorer le "blanc"... et la cellule A1 restera 1.
    Je voudrais donc que mon produit considère les "blanc" comme 0!

    Voilà, j'espère avoir éclairci un peu mon problème...
    En tout cas je vous remercie tous les deux pour votre tentative d'aide !

    Bruno

  7. #7
    Membre émérite Avatar de Fvandermeulen
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2007
    Messages
    1 869
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juillet 2007
    Messages : 1 869
    Points : 2 662
    Points
    2 662
    Par défaut
    Bonjour,
    Je sais pas si ceci répond à ton problème mais cette formule te donne le nombre de 'ligne' qui ne sont pas = à 1 (j'ai mis x car ça ne devrait jamais arriver)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =SUM(IF($A$2:$A$2000="x";0;1))-SUBTOTAL(3;$A$2:$A$2000)
    En matriciel (donc ctrl shift enter)

    PS je suis en anglais il suffit de traduire si tu est en français.
    N'oubliez pas le si votre problème est solutionné.

  8. #8
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2007
    Messages
    681
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 681
    Points : 633
    Points
    633
    Par défaut
    Si tu veux 1 ou zéro, cela ne pose pas de problème.

  9. #9
    Membre habitué
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    140
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 140
    Points : 186
    Points
    186
    Par défaut
    Bonsoir à tous,

    Dès lors qu'il s'agit de faire un produit, pourquoi ne pas utiliser la fonction PRODUIT (sous forme matricielle) :

    sur la base du fichier proposé par Marc56, en A1 :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =PRODUIT(SI(A2:A31="";0;A2:A31))
    Formule matricielle à valider par CTRL + MAJ + ENTREE

    Cela dit, la formule proposée par marc reste quand même plus simple.

    @+

  10. #10
    Membre chevronné Avatar de wilfried_42
    Homme Profil pro
    Auto-entrepreneur
    Inscrit en
    Novembre 2006
    Messages
    1 427
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Vendée (Pays de la Loire)

    Informations professionnelles :
    Activité : Auto-entrepreneur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 427
    Points : 1 900
    Points
    1 900
    Par défaut
    Bonjour

    une tite formule toute simple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =(SOMME(B1:B20)=LIGNES(B1:B20))*1
    Wilfried

  11. #11
    Futur Membre du Club
    Inscrit en
    Décembre 2008
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 10
    Points : 7
    Points
    7
    Par défaut
    Merci à tous!
    La formule de wilfried_42 correspond tout à fait à ce que je cherchais!
    Merci!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 46
    Dernier message: 02/09/2014, 13h52
  2. Réponses: 0
    Dernier message: 02/12/2011, 09h10
  3. Réponses: 0
    Dernier message: 09/12/2010, 13h09

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo