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 cellules vides dans addition sur plusieurs feuilles


Sujet :

Excel

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Février 2008
    Messages
    57
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 57
    Points : 56
    Points
    56
    Par défaut Compter cellules vides dans addition sur plusieurs feuilles
    bonjour,
    j'ai cherché un peu dans l'historique, mais je n'ai pas trouvé réponsea mon petit probleme...
    voila: dans mon fichier, je fais la somme de cellules qui ont toutes la meme adresse dans toutes les feuilles (formule: '=SOMME('feuil1:feuil256'!B8;I8) )
    ceci sur plusieurs lignes, ensuite je les totalise, puis en final calcule une moyenne, mon probleme est que certaines cellules prises en compte dans mon addition ne sont pas encore renseignées, ce qui fausse ma moyenne,
    aussi je cherche une formule pour connaitre le nombre de cellules vides sur toutes mes feuilles en B8 et I8..

    si vous avez une piste..merci

  2. #2
    Inactif  
    Homme Profil pro
    Inscrit en
    Septembre 2012
    Messages
    1 733
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2012
    Messages : 1 733
    Points : 2 553
    Points
    2 553
    Par défaut
    =NB.VIDE(Plage)

    =Moyenne(Plage) ne prends pas en compte les cellules vides

    =Sommeprod()

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Février 2008
    Messages
    57
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 57
    Points : 56
    Points
    56
    Par défaut
    merci, mais ça ne marche pas dans mon cas:
    NB.VIDE('feuil1:feuil256'!b8) ou bien je fais une erreur dans ma formule..

  4. #4
    Inactif  
    Homme Profil pro
    Inscrit en
    Septembre 2012
    Messages
    1 733
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2012
    Messages : 1 733
    Points : 2 553
    Points
    2 553
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =NB.VIDE('feuil1'!b8:I8)+NB.VIDE('feuil256'!b8:I8)

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Février 2008
    Messages
    57
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 57
    Points : 56
    Points
    56
    Par défaut
    la ça n'additione que pour 2 feuilles (premiere et derniere... )s'il faut que je marque toutes les feuilles, ça ne va pas etre simple, surtout que mes noms de feuilles sont bien plus compliqués que feuil1, etc...
    vais je etre obligé de faire une petite macro ?

  6. #6
    Inactif  
    Homme Profil pro
    Inscrit en
    Septembre 2012
    Messages
    1 733
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2012
    Messages : 1 733
    Points : 2 553
    Points
    2 553
    Par défaut
    oui monsieur

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Février 2008
    Messages
    57
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 57
    Points : 56
    Points
    56
    Par défaut
    ah mince, j'espérait qu'il existe une fonction standard...

    bon, et bien je laisse encore un peu ouvert des fois que quelqu'un ait déja eu ce probleme, et quand j'aurais un peu de temps je ferais ma boucle en vba.

    merci tout de meme.

  8. #8
    Inactif  
    Homme Profil pro
    Inscrit en
    Septembre 2012
    Messages
    1 733
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2012
    Messages : 1 733
    Points : 2 553
    Points
    2 553
    Par défaut
    Tu peux faire une fonction personnalisée assez simple...

    Sinon je pense qu'avec une sommeprod avec un nb.vide et un indirect ou tu repertories le nom de tes feuilles pourrait le faire.

  9. #9
    Membre du Club
    Profil pro
    Inscrit en
    Février 2008
    Messages
    57
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 57
    Points : 56
    Points
    56
    Par défaut
    en fait mes feuilles, je n'en ai actuellement que 56, mais j'en rajoute au fur et a mesure, et leur nom correspond a des noms de pays, c'est parfois des noms assez long.

    une boucle en vba me semble plus simple, car je ne vois pas comment faire une fonction personnalisée pour ce cas.

  10. #10
    Expert éminent sénior
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Points : 18 674
    Points
    18 674
    Par défaut
    Bonjour.
    Citation Envoyé par bernard41 Voir le message
    la ça n'additione que pour 2 feuilles (premiere et derniere... )s'il faut que je marque toutes les feuilles, ça ne va pas etre simple, surtout que mes noms de feuilles sont bien plus compliqués que feuil1, etc...
    vais je etre obligé de faire une petite macro ?
    Non, pas obligé …

    Comme la référence 3D pour effectuer la somme, la même astuce peut être utilisée pour les cellules vides, non ?

    Suffit juste d'attribuer la même cellule dans chaque feuille pour y calculer le nombre de cellules vides …

    __________________________________________________________________________________________

    Merci de cliquer sur pour chaque message ayant aidé puis sur pour clore cette discussion …

  11. #11
    Inactif  
    Homme Profil pro
    Inscrit en
    Septembre 2012
    Messages
    1 733
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2012
    Messages : 1 733
    Points : 2 553
    Points
    2 553
    Par défaut
    Tu mets ça dans un module standard:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Function calculvide(R1 As Range) As Double
        For Each ws In ActiveWorkbook.Worksheets
            calculvide = calculvide + Application.WorksheetFunction.CountBlank(R1)
        Next ws
    End Function
    Puis dans ta feuille:

  12. #12
    Membre du Club
    Profil pro
    Inscrit en
    Février 2008
    Messages
    57
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 57
    Points : 56
    Points
    56
    Par défaut
    merci a tous les deux, mais non hélas avec ma formule "3D" je n'arrive pas a adapter la/les fonctions... meme pas la fonction calculvide

  13. #13
    Inactif  
    Homme Profil pro
    Inscrit en
    Septembre 2012
    Messages
    1 733
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2012
    Messages : 1 733
    Points : 2 553
    Points
    2 553
    Par défaut
    Tu as bien copié

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Function calculvide(R1 As Range) As Double
        For Each ws In ActiveWorkbook.Worksheets
            calculvide = calculvide + Application.WorksheetFunction.CountBlank(R1)
        Next ws
    End Function
    dans un module standard ?

  14. #14
    Membre chevronné
    Homme Profil pro
    Inscrit en
    Septembre 2013
    Messages
    1 369
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Septembre 2013
    Messages : 1 369
    Points : 2 156
    Points
    2 156
    Par défaut
    Bonjour,

    =SOMME(Feuil1:Feuil4!B1)/SOMMEPROD(NB.SI(INDIRECT(nf&"!B1");"<>0"))

    Jacques Boisgontier
    Fichiers attachés Fichiers attachés

  15. #15
    Membre du Club
    Profil pro
    Inscrit en
    Février 2008
    Messages
    57
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 57
    Points : 56
    Points
    56
    Par défaut
    merci a tous...

    enguengue, oui j'avais bien mis le code dans un module standard (avec mes autres macros d'ailleurs..) et elle fonctionne bien quand il n'y a qu'une feuille.

    jacques, merci, tes formules m'intéressaient, mais si je suis obligé de faire une macro pour lister les feuilles, autant que je fasse le tout avec la macro, domage ce ne sera que sur commande et non pas automatique.

    en tout cas merci a tous pour vos recherches.

  16. #16
    Membre chevronné
    Homme Profil pro
    Inscrit en
    Septembre 2013
    Messages
    1 369
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Septembre 2013
    Messages : 1 369
    Points : 2 156
    Points
    2 156
    Par défaut
    Bonjour,

    La liste des noms de feuilles s'obtient sans macro

    Cf PJ

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    =MOYENNE(SI(N(INDIRECT("'"&nf&"'!B1"))>0;N(INDIRECT("'"&nf&"'!B1"))))
    Noms de champ
    nf =DECALER(Recap!$F$3;;;NB.SI(Recap!$F$3:$F$20;"><"&""))
    NomsFeuilles =STXT(LIRE.CLASSEUR(1);TROUVE("]";LIRE.CLASSEUR(1))+1;99)&INDIRECT("iv65000")

    ou sans les noms de feuilles dans le tableur

    =MOYENNE(SI(N(INDIRECT("'"&NomsFeuilles&"'!B1"))>0;N(INDIRECT("'"&NomsFeuilles&"'!B1"))))


    Jacques Boisgontier
    Fichiers attachés Fichiers attachés

  17. #17
    Membre du Club
    Profil pro
    Inscrit en
    Février 2008
    Messages
    57
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 57
    Points : 56
    Points
    56
    Par défaut
    merci, mais a trop vouloir en faire, on s'écarte du sujet...
    je cherche une formule pour connaitre le nombre de cellules vides sur toutes mes feuilles en B8 et I8
    pour les moyennes et les noms de feuilles, je les traite déja ailleurs.

Discussions similaires

  1. [XL-2007] Compter le nombre d'occurences sur plusieurs feuilles
    Par grping dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 05/10/2009, 18h18
  2. Valider une plage de cellules sur plusieurs feuilles via une listbox
    Par lio59 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 16/08/2009, 13h52
  3. [XL-2007] Recopier les données d'une cellule sur plusieurs feuilles
    Par anubis62 dans le forum Excel
    Réponses: 1
    Dernier message: 25/06/2009, 08h41
  4. Calcul sur des cellules sur plusieurs feuilles
    Par vlksoft dans le forum Excel
    Réponses: 2
    Dernier message: 12/03/2009, 08h08
  5. Vérouillage cellule sur plusieurs feuille
    Par bkdarkness dans le forum Excel
    Réponses: 1
    Dernier message: 22/06/2007, 13h03

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