Calcul nombre cellules non vides

awax

XLDnaute Nouveau
Bonjour,

Là je bloque et ai besoin d'aide.
Admettons en colonne A des cellules vides et non vides, je cherche une formule en colonne B me permettant de compter le nombre de cellules non vides en colonne A.

Par exemple si A1 est non vide et la prochaine cellule non vide est A5, je veux en B1 une formule me donnant le nombre de cellules vides jusqu'à A5, soit 3 (A2, A3 et A4), et ainsi de suite... Est-ce possible ??

J'ai Joint un fichier exemple

Merci beaucoup de vos aides !!
 

Pièces jointes

  • Classeur.xlsx
    9.8 KB · Affichages: 82
  • Classeur.xlsx
    9.8 KB · Affichages: 74
  • Classeur.xlsx
    9.8 KB · Affichages: 87

R@chid

XLDnaute Barbatruc
Re : Calcul nombre cellules non vides

Bonsoir awax et Bienvenu sur XLD,
Salut jbp388,
essayer en B1 avec,
Code:
=SIERREUR(NB.VIDE(DECALER(A1;;;MIN(SI(A2:A$500<>"";LIGNE(INDIRECT("1:"&LIGNES(A2:A$500)))))))-(A1="");0)
@ valider par Ctrl+Maj+Entree
@ tirer vers le bas
@ micalement
 

R@chid

XLDnaute Barbatruc
Re : Calcul nombre cellules non vides

Bonsoir,
avec la fonction INDIRECT() c'est un peu plus courte,
Code:
=SIERREUR(NB.VIDE(INDIRECT("A"&LIGNE()&":A"&MIN(SI(A2:A$500<>"";LIGNE(A2:A$500)))))-(A1="");0)
Toujours matricielle
@ valider par Ctrl+Maj+Entree
@ tirer vers le bas
@ +
 

mapomme

XLDnaute Barbatruc
Supporter XLD
Re : Calcul nombre cellules non vides

Bonjour awax, jpb388, R@chid, le forum,

Avec la fonction Frequence et toujours en matricielle:

La formule matricielle en B1 à copier vers le bas:
Code:
=FREQUENCE(SI(A2:$A$500="";LIGNE(A2:$A$500));SI(A2:$A$500<>"";LIGNE(A2:$A$500)))
Formule matricielle: Elle doit être validée par la combinaison des touches Ctrl+Maj+Entrée au lieu de la seule touche Entrée comme une formule classique.
Si la validation matricielle est correcte, alors Excel entoure la formule d'accolades {=.......}.
Chaque fois que cette formule sera modifiée, la validation devra se faire par Ctrl+Maj+Entrée. Les accolades apparaissent à la validation et ne doivent pas être saisies au clavier.
 

Pièces jointes

  • Calcul nombre cellules non vides v1.xls
    27.5 KB · Affichages: 75
Dernière édition:

R@chid

XLDnaute Barbatruc
Re : Calcul nombre cellules non vides

Bonsoir @ tous,
Salut mapomme, ok pourquoi pas :),
Une autre non matricielle (non gourmande :eek:), en B1,
Code:
=SIERREUR(NB.VIDE(DECALER(A1;;;EQUIV(MIN(A2:A$500);A2:A$500;0)))-(A1="");0)
@ valider par Simple Entree
@ tirer vers le bas
@ +
 

job75

XLDnaute Barbatruc
Re : Calcul nombre cellules non vides

Bonjour à tous,

Une formule matricielle mais simple en B1 :

Code:
=NB.VIDE(DECALER(A2;;;EQUIV("?*";""&A2:A$500;0)))
A valider par Ctrl+Maj+Entrée.

Noter cependant que la formule renvoie #N/A sur la dernière ligne occupée en colonne A.

Pour l'éviter il faut compliquer un petit peu :

Code:
=SI(NBVAL(A2:A$500);NB.VIDE(DECALER(A2;;;EQUIV("?*";""&A2:A$500;0)));0)
Edit : bien sûr avec SIERREUR sur Excel 2007/2010, toujours en matriciel :

Code:
=SIERREUR(NB.VIDE(DECALER(A2;;;EQUIV("?*";""&A2:A$500;0)));0)
Bonne journée et A+
 
Dernière édition:

job75

XLDnaute Barbatruc
Re : Calcul nombre cellules non vides

Re,

Pour finir, chacune de ces 3 formules (matricielles) prend 3 octets de moins que les précédentes :

Code:
=NB.VIDE(DECALER(A2;;;EQUIV(VRAI;A2:A$500<>"";0)))
Code:
=SI(NBVAL(A2:A$500);NB.VIDE(DECALER(A2;;;EQUIV(VRAI;A2:A$500<>"";0)));0)
Code:
=SIERREUR(NB.VIDE(DECALER(A2;;;EQUIV(VRAI;A2:A$500<>"";0)));0)
J'en profite pour signaler que toutes fonctionnent aussi bien avec des textes qu'avec des nombres.

A+
 

job75

XLDnaute Barbatruc
Re : Calcul nombre cellules non vides

Re,

Ben non ce n'est pas fini, je me suis laissé influencer par NB.VIDE qui est en fait inutile.

Voyez donc le fichier joint.

1) Solution par formule (matricielle) en B2 :

Code:
=SI(NBVAL(A3:A$501);EQUIV(VRAI;A3:A$501<>"";0)-1;0)
ou sur Excel 2007/2010 :

Code:
=SIERREUR(EQUIV(VRAI;A3:A$501<>"";0)-1;0)
2) Solution par fonction VBA en C2 :

Code:
=NVIDE(A2)
Avec dans Module1 (Alt+F11) :

Code:
Function NVIDE(c As Range) As Long
Dim c1 As Range
Application.Volatile
Set c1 = c.EntireColumn.Find("*", c, xlValues)
If c1 Is Nothing Then Exit Function
If c1.Row <= c.Row Then Exit Function
NVIDE = c1.Row - c.Row - 1
End Function
A+
 

Pièces jointes

  • Classeur(1).xls
    48.5 KB · Affichages: 74
  • Classeur(1).xls
    48.5 KB · Affichages: 89
  • Classeur(1).xls
    48.5 KB · Affichages: 82

awax

XLDnaute Nouveau
Re : Calcul nombre cellules non vides

Bonjour et joyeux noël à tous !
Je n'avais pas pu venir voir les réponses avant mais j'ai bien fait de venir aujourd'hui, c'est un beau cadeau !
Merci beaucoup à tous pour ces nombreuses solutions qui me vont toutes !!
 

Discussions similaires

Réponses
8
Affichages
317

Membres actuellement en ligne

Statistiques des forums

Discussions
312 084
Messages
2 085 192
Membres
102 809
dernier inscrit
Sandrine83