Calculer le nombre de cellules non vides

kioups

XLDnaute Occasionnel
sur une sélection de cellules en ne tenant pas compte de certaines cellules...

Bonjour à tous !

Tout est dans le titre mais je ne sais pas si c'est clair.

Je veux utiliser une formule XL ou une formule personnalisée pour calculer un certain nombre de cellules.

Concrètement, parce que c'est pas si simple que ça

J'ai sur une ligne 150 cellules (de O6 à FH6).

Si O6 et P6 sont remplis, la valeur est 1.
Je ne tiens pas compte de la cellule Q6.
Même chose avec R6 et S6.
Je ne tiens pas compte de la cellule T6.
Du coup, un simple NBVAL ne m'arrange pas.

A noter que les cellules Q6, T6... prennent parfois des valeurs en fonction des deux cellules précédentes et d'autres cellules de la même ligne (D6,E6 et G6, G6 étant la cellule où je veux mettre ma formule...).

En espérant avoir été clair !

Je m'attelle tout de suite à attacher un petit exemple !

Merci d'avance !

Kioups
 

Tibo

XLDnaute Barbatruc
Re : Calculer le nombre de cellules non vides

Bonjour,

Peux-tu donner davantage d'explication pour savoir comment on obtient 3 dans ton exemple ?

Le cas échéant, joindre un fichier avec plusieurs exemples et à chaque fois une petite explication.

Tu évoques dans le nom de ton fichier la fonction modulo. Ca peut être une bonne piste, mais il faut nous en dire un peu plus.

A te (re)lire avec les explications.

@+
 

kioups

XLDnaute Occasionnel
Re : Calculer le nombre de cellules non vides

Bonjour Tibo et merci !

J'ai mis modulo parce que je me dis effectivement que ça peut m'aider.

Pour tout dire, j'ai quelque chose qui fonctionne sous la forme d'une fonction personnalisée, mais les données sont mal actualisées en cas de modification du fichier. Je me dis qu'avec une fonction classique, ça pourrait être mieux.

Mes 150 cellules sont groupées par 3. Dans chaque groupe, je ne tiens pas compte de la troisième cellule.
La cellule de la colonne G doit donc compter le nombre de couples des deux premières cellules de chaque triplet qui sont non vides.

En fait, les deux premières cellules sont des pronostics de scores (de foot, genre 2-1, 1-1) et la troisième est le nombre de points obtenu (en fonction du score, mais ça, ça roule).
Dans ma colonne G, je veux calculer le nombre de joueurs. "Théoriquement", la première ET la deuxième cellule de chaque triplet est nécessairement non vide, mais bon...

Voici quelques exemples supplémentaires.
 

Pièces jointes

  • Nbrecellulesmodulo.xls
    28 KB · Affichages: 170
  • Nbrecellulesmodulo.xls
    28 KB · Affichages: 172
  • Nbrecellulesmodulo.xls
    28 KB · Affichages: 177

Tibo

XLDnaute Barbatruc
Re : Calculer le nombre de cellules non vides

re,

Un essai avec cette formule en G6 :

Code:
=SOMMEPROD((ESTNUM(O6:Z6)*(MOD(COLONNE(O6:Z6);3)<>2)))/2

plage de cellules à adapter

à recopier vers le bas

@+
 

kioups

XLDnaute Occasionnel
Re : Calculer le nombre de cellules non vides

Ca fonctionne très bien dans mon exemple, mais pas dans mon fichier à cause d'une référence circulaire.

Les cellules Q6, T6 etc. tiennent en effet compte de la cellule G6.

Du coup, j'ai la valeur 0 et pas celle attendue...
 

Tibo

XLDnaute Barbatruc
Re : Calculer le nombre de cellules non vides

re,

Une autre solution, mais très laborieuse :

Code:
=(ESTNUM(O6)*ESTNUM(P6))+(ESTNUM(R6)*ESTNUM(S6))+
(ESTNUM(U6)*ESTNUM(V6))+(ESTNUM(X6)*ESTNUM(Y6))

à compléter jusqu'à la dernière colonne.

On risque d'être limité par la longueur maxi d'une formule.

@+
 

kioups

XLDnaute Occasionnel
Re : Calculer le nombre de cellules non vides

Resalut Tibo !

Je n'avais pas vu ta deuxième solution, mais le problème est résolu.

En fait, dans ma colonne I, j'utilisais une fonction personnalisée qui entraînait la référence circulaire.

Justement, j'aimerai modifier cette fonction en la remplaçant par une fonction "classique".

Son but est de calculer le nombre de victoires à domicile pronostiqué, c'est à dire :
toujours dans mes cellules de O6 à FH6, je souhaite calculer le nombre de couples (O6;P6) (R6,S6) etc. tel que O6>P6.

Je pense qu'avec des ET et des SOMMEPROD, ça peut le faire, non ?

Merci encore !
 

kioups

XLDnaute Occasionnel
Re : Calculer le nombre de cellules non vides

Arf, ça fonctionne à peu près sur mon classeur test (des petites modifs à effectuer), mais beaucoup moins sur mon vrai classeur.

Toujours une histoire de référence circulaire. Ah, j'ai une idée pour la supprimer !

Je modifie ça et je te redis ce que ça donne !
 

kioups

XLDnaute Occasionnel
Re : Calculer le nombre de cellules non vides

Ah non, fausse joie, pas moyen de la supprimer...

Peut-être pourrais-je arriver à quelque chose en regroupant les cellules modulo 0 sous un nom, modulo 1 sous un autre ? Encore faut-il pouvoir regrouper des cellules non adjacentes...

Sinon, j'appliquais cette méthode-là pour calculer le nombre de victoires à domicile pronostiqué :

Code:
Public Function Nb1(Li As Range)
Dim i As Integer, R As Integer
    Application.Volatile (False)
    Nb1 = 0
    R = Li.Row
    If Cells(R, 7) = "" Then
    Nb1 = ""
    Else
    For i = 1 To 50
        If Cells(R, 15 + 3 * (i - 1)).Value > Cells(R, 16 + 3 * (i - 1)).Value Then
            Nb1 = Nb1 + 1
        End If
    Next i
    Nb1 = Nb1 / Cells(R, 7)
    End If

End Function
 

Tibo

XLDnaute Barbatruc
Re : Calculer le nombre de cellules non vides

re,

Question macro, je ne vais pas pouvoir t'aider.

Peux-tu nous rejoindre un fichier plus proche du vrai avec les formules que je t'ai proposé et dans lequel tu nous indiquerais où ça ne fonctionne pas comme tu le souhaites (et en nous indiquant alors le résultat souhaité).

@+
 

kioups

XLDnaute Occasionnel
Re : Calculer le nombre de cellules non vides

Je ne comprends pas, je suis en train d'essayer de modifier mon classeur test et quand je reviens, les calculs sont effectués, a priori correctement...

Je vais essayer de régler le problème tout seul.

Merci beaucoup pour ton aide, je ne connais vraiment pas bien les sommeprod !

A+

Kioups
 

Discussions similaires

Statistiques des forums

Discussions
312 166
Messages
2 085 889
Membres
103 019
dernier inscrit
Eliot_1