Compter des cellules

David--21

XLDnaute Nouveau
Bonjoir à tous,

je cherche une solution pour compter le nombre de cellules non vide et ne contenant pas de formule dans une plage.
par exemple :
A1 : 10
A2 : 14
A3 :
A4 :=somme(A1:A3)
A5 : je veux obtenir 2 sur la plage A1:A4

Avez-vous une petite idée?
 

Moa

XLDnaute Occasionnel
Re : Compter des cellules

Salut Sam, Dave !

Une petite macro, en passant :

Option Explicit
Sub CompterVal()
Dim Compteur As Integer
Dim Cell As Range
Compteur = 4
For Each Cell In Range("A1:D1")
If Cell = "" Or Cell.HasFormula Then Compteur = Compteur - 1
Range("F1") = Compteur
Next Cell
End Sub


Bonne nuit et bon dimanche à vous deux.

@ +++

ChrisOne
 

Gorfael

XLDnaute Barbatruc
Re : Compter des cellules

Salut à tous

Code:
Sub CompterVal()
Dim Compteur As Integer
Dim Cell As Range

Compteur = 0
For Each Cell In Range("A1:D1")
If not(Cell = "" Or Cell.HasFormula) Then Compteur = Compteur + 1
Range("F1") = Compteur
Next Cell
End Sub
Non j'ai pas copié sur Moa, c'est qu'une menteuserie :D

A+
 

JeanMarie

XLDnaute Barbatruc
Re : Compter des cellules

Bonjour Tout le monde

André, pas besoin de passer par SOMMEPROD, NB.SI(A1:A4;"<>") fonctionne très bien.

Ma solution, tout comme la tienne, ne résout pas le problème de David. Les formules de base d'Excel ne peuvent résoudre ce cas. La seule façon viable est de passer par le VBA, mais pour le fun, en utilisant la fonction LIRE.CELLULE des anciennes macros commande, il est possible de résoudre ce problème.

Voir le fichier joint, pour accéder à la formule nommée, il faut cliquer sur le menu Insertion/Nom/Définir...

NOTA : LIRE.CELLULE ne peut être utilisée directement dans une cellule, je n'ai pas encore trouvé le moyen de passer une plage de cellule à cette fonction... Il est donc obligatoire de passer par une ligne supplémentaire pour calculer le total.

@+Jean-Marie
 

Pièces jointes

  • IsFormule.xls
    10.5 KB · Affichages: 63

Discussions similaires

Statistiques des forums

Discussions
312 452
Messages
2 088 540
Membres
103 879
dernier inscrit
JJB2