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 :

compter les cellules non vide [Toutes versions]


Sujet :

Excel

  1. #1
    Membre expérimenté
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    1 563
    Détails du profil
    Informations personnelles :
    Âge : 61
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 563
    Points : 1 691
    Points
    1 691
    Par défaut compter les cellules non vide
    Bonjour
    je ne trouve pas comment compter les cellules renseignée dans une plage qui est collée avec liaison
    en fait pour une formule sommeprod, j'ai besoin de connaitre le nombre de personne dont la case adjacente a été remplie, or la premiere colonne celle des noms est une colonne en liaison avec une autre feuille
    peut etre que ce n'est pas lié a la liaison, en tout cas, nb() ne fonctionne pas plus.
    merci

  2. #2
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    12 952
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 12 952
    Points : 28 960
    Points
    28 960
    Billets dans le blog
    53
    Par défaut
    Bonsoir,
    Je ne comprends pas le sens de ta question.
    Pour compter le nombre de cellules non vide, c'est =NB.VAL(plage) et pas =NB(plage) et qu'il y ait une valeur numérique, alphanumérique, logique ou une formule, ce qu'est une liaison, ne change rien à l'affaire.

  3. #3
    Membre expérimenté
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    1 563
    Détails du profil
    Informations personnelles :
    Âge : 61
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 563
    Points : 1 691
    Points
    1 691
    Par défaut
    hé oui....mais non
    fait le test
    A1:A10 normal avec quelques valeurs
    b1:b10 =A1 ( tirer vers le bas
    et en A11 = nbval(A1:A10) ui marche parfaitement
    en B11 = nbval(b1:b10) qui donne 10 parce qu'il cosidere que les cellules qui contiennent une formule ne sont pas vides

  4. #4
    Membre éclairé
    Homme Profil pro
    Retraité
    Inscrit en
    Novembre 2009
    Messages
    461
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Novembre 2009
    Messages : 461
    Points : 707
    Points
    707
    Par défaut
    Bonjour à tous,

    Avec la formule çi-dessous on compte toutes les cellules de la plage "PLAGE" sans les cellules vides ou les cellules contenant des formules dont les résultats sont des vides ""...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =SOMMEPROD((PLAGE<>"")*(PLAGE<>" "))
    NB: Les cellules vides contenant plus d'un ESPACE sont comptées dans la formule..

    Cordialement

  5. #5
    Membre expérimenté
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    1 563
    Détails du profil
    Informations personnelles :
    Âge : 61
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 563
    Points : 1 691
    Points
    1 691
    Par défaut
    j'ai essayé
    ça marche pas
    Images attachées Images attachées  

  6. #6
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    12 952
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 12 952
    Points : 28 960
    Points
    28 960
    Billets dans le blog
    53
    Par défaut
    Bonsoir,
    Je n'ai toujours pas compris ce que tu cherchais à calculer.

  7. #7
    Membre expérimenté
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    1 563
    Détails du profil
    Informations personnelles :
    Âge : 61
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 563
    Points : 1 691
    Points
    1 691
    Par défaut
    je cherche a avoir le nombre d'utilisateurs d'un service, independament du nombre d'utilisation; mais la colonne des noms, qui ést en liaison d'une autre feuille, avait l'air de poser un probleme avec les formules sommeprod et nb.si. dans l'exemple ci dessous, la colonne jaune est l'originale ( sur une autre feuille, donc pas utilisable pour sommeprod) et la colonne B est liée. c et d sont les "mois" (12 colonne normalement), le résultat final que je cherche a obtenir est 5 utilisateurs. je cale
    Images attachées Images attachées  

  8. #8
    Membre éclairé
    Homme Profil pro
    Retraité
    Inscrit en
    Novembre 2009
    Messages
    461
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Novembre 2009
    Messages : 461
    Points : 707
    Points
    707
    Par défaut
    Bonjour à tous,

    Essayes, dans ton dernier exemple, la formule suivante (désormais un peu longue):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =SOMMEPROD((B1:B11<>"")*(((C1:C11<>"")+(D1:D11<>""))-((C1:C11<>"")*(D1:D11<>""))))
    Cordialement

  9. #9
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    12 952
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 12 952
    Points : 28 960
    Points
    28 960
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Je viens de revoir mes notes et classeurs de préparation sur les liaisons et pour moi, il n'y a pas de problème d'utiliser la fonction SOMMEPROD sur un classeur en liaison.
    Voir exemple ci-dessous qui renvoie bien un résultat.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =SOMMEPROD( ('Z:\Formations\En préparation\Excel - Les Liaisons\[Auteurs (lien avec Liaison Fonctions).xls]Biblio'!$B$2:$B$8=$D$2) * 1)

  10. #10
    Membre expérimenté
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    1 563
    Détails du profil
    Informations personnelles :
    Âge : 61
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 563
    Points : 1 691
    Points
    1 691
    Par défaut
    merci a tous
    corona, j'avoue que je ne sais trop quoi faire et comment utiliser la formule que tu as inscrit
    hben, ta formule fonctionne effectivement ( en B13), mais je n'ai pas réussi a la pousser sur une colonne de plus, et il vas falloir que je la pousse sur 24 colonnes (il s'agit de repas midi et soir sur 12 mois) pour trouver le nombre d'utilisateur du service
    merci du coup de main

  11. #11
    Membre éclairé
    Homme Profil pro
    Retraité
    Inscrit en
    Novembre 2009
    Messages
    461
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Novembre 2009
    Messages : 461
    Points : 707
    Points
    707
    Par défaut
    Bonjour à tous,

    Si j'ai bien compris la demande, j'ai dû renoncer à la précédente formule pour la remplacer avec en B13 une somme simple de la plage AA1:AA11 en ajoutant en AA1 la formule ci-dessous et reproduite jusqu'en AA11:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =SI(SOMMEPROD((B1<>"")*(C1:Z1<>""))>=1;1;"")
    La plage C:Z contient 24 colonnes...
    Voir application dans le fichier attaché..

    Cordialement
    Fichiers attachés Fichiers attachés

  12. #12
    Membre expérimenté
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    1 563
    Détails du profil
    Informations personnelles :
    Âge : 61
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 563
    Points : 1 691
    Points
    1 691
    Par défaut
    j'ai bien essayé ce que tu as fais, et tu a très bien compris ce que je recherche, cependant, je tien absoluement a le faire en une seule formule., sans ajouter ni case ni colonne j'ai la même demande mensuellement et annuellement. pour le mensuel, j'avais trouvé a peu près la même formule someprod que toi, qui fonctionne très bien sur deux colonnes mais pour l'annuel, ça bloque toujour
    si tu as une autre idée , en tout cas merci du temps que tu y passes
    je joins un fichier exemple

  13. #13
    Membre éclairé
    Homme Profil pro
    Retraité
    Inscrit en
    Novembre 2009
    Messages
    461
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Novembre 2009
    Messages : 461
    Points : 707
    Points
    707
    Par défaut
    Bonjour à tous,

    Pour le moment je ne vois aucune autre idée, et la dernière idée est la meilleur idée (je ne sais pas ce que tu as contre l'ajout d'une colonne). La formule proposée précédemment que tu n'arrives pas à l'étendre sur d'autres colonnes deviendra plus longue et plus compliquée, par exemple si on veut l'étendre sur trois colonnes elle deviendra:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =SOMMEPROD(($B$3:$B$13<>"")*(((C3:C13<>"")+(D3:D13<>"")+(E3:E13<>""))-((C3:C13<>"")*(D3:D13<>""))-((C3:C13<>"")*(E3:E13<>""))-((D3:D13<>"")*(E3:E13<>""))+((C3:C13<>"")*(D3:D13<>"")*(E3:E13<>""))))
    Et à l'étendre sur 24 colonnes, je n'oserai même pas...
    Je tenterai de voir si c'est possible d'avoir une seule formule à la question mais je ne te promets rien.
    En fichier attaché, l'application de ma dernière idée sur ton exemple (plus facile)

    Cordialement
    Fichiers attachés Fichiers attachés

  14. #14
    Membre éclairé
    Homme Profil pro
    Retraité
    Inscrit en
    Novembre 2009
    Messages
    461
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Novembre 2009
    Messages : 461
    Points : 707
    Points
    707
    Par défaut
    Bonjour à tous,

    Une autre approche avec un petit code à mettre dans le code de la feuille en question et le résultat sera donné en cellule R17 de la feuille:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Private Sub Worksheet_SelectionChange(ByVal Target As Range)
      rr = Application.WorksheetFunction.CountA([Plage]) + 2
      xx = 0
         For i = 3 To rr
             Set MyRange = ActiveSheet.Range("C" & i & ":Z" & i)
             yy = Application.WorksheetFunction.CountA(MyRange)
             If Cells(i, 2) <> "" And Cells(i, 2) <> 0 And yy >= 1 Then xx = xx + 1
         Next
      [R17] = xx
    End Sub
    avec : "Plage" dans le code est la plage nommée $B$3:$B$13 (qu'on peut changer)...
    Voir fichier attaché...

    Cordialement
    Fichiers attachés Fichiers attachés

  15. #15
    Membre expérimenté
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    1 563
    Détails du profil
    Informations personnelles :
    Âge : 61
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 563
    Points : 1 691
    Points
    1 691
    Par défaut
    effectivement, tu as raison, ce n'est pas raisonable comme formule, je n'ai pas encore tester le vba, je m'y colle ce soir, et tu a raison, ce n'est pas 10 attendu mais 8 (désolé)
    je te tient au courant

  16. #16
    Membre expérimenté
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    1 563
    Détails du profil
    Informations personnelles :
    Âge : 61
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 563
    Points : 1 691
    Points
    1 691
    Par défaut
    bon
    je me suis résolu a faite une macro, j'ai essayer diverses variantes de sommeprod et decaler, mais ça marche pas
    j'ai suivi ton idée. au début, j'ai voulu en faire une fonction, mais ça ne se met pas a jour automatiquement, donc une evenementielle convient bien
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    Dim NbUtilisateurs As Double
    For i = 3 To 13
    NbUtilisateurs = IIf(Application.WorksheetFunction.CountA(Range(Cells(i, 3), Cells(i, 27))) > 0, NbUtilisateurs + 1, NbUtilisateurs)
    Next i
    Range("r17") = NbUtilisteurs
    End Sub
    merci en tout cas pour le coup de main

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

Discussions similaires

  1. [XL-2007] compter les cellules non vides sur une ligne
    Par tyndare36 dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 24/02/2014, 11h30
  2. [XL-2007] Compter les cellules non vides
    Par laurentSc dans le forum Excel
    Réponses: 2
    Dernier message: 24/06/2013, 13h37
  3. [XL-2007] VBA - Compter les cellules non vides
    Par Monkey_D.Luffy dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 13/05/2010, 18h24
  4. Compter les cellules non vides
    Par Domino40 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 29/08/2009, 19h49
  5. [EXCEL][VBA] Compter les cellules non-vides
    Par Squelet dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 27/02/2006, 15h40

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