Compter cellules pleines

Résolu
heyitsjusttiffany Messages postés 93 Statut Membre -  
gbinforme Messages postés 14930 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour !

Je recherche une macro me permettant de compter les cellules pleines sur une seule colonne ; mais je n'en trouve pas sur internet. En fait, pour détailler un peu, j'ai une liste en colonne A (avec un en-tête), et je voudrais compter le nombre de cellules pleines en excluant l'en-tête. Je ne pense pas que ce soit très compliqué, mais en étant débutante, je n'ai aucune idée de comment faire...

Ou bien y a-t-il une fonction Excel qui permet de faire ça ?

Merci d'avance pour vos réponses !

2 réponses

  1. gbinforme Messages postés 14930 Date d'inscription   Statut Contributeur Dernière intervention   4 744
     
    Bonjour,

    En formule
    =NBVAL(A:A)-1

    ou en macro
    résultat = Application.WorksheetFunction.CountA(Range("A:A")) - 1
    0
    1. heyitsjusttiffany Messages postés 93 Statut Membre 23
       
      Avec la macro, un message d'erreur apparaît en séléctionnant "A:A".

      Erreur de compilation:
      Instruction incorrecte à l'extérieur d'une procédure.

      En revanche, la formule marche bien ;) !

      Entre temps, j'ai continué de cherché en attendant une réponse et j'ai miraculeusement trouvé une formule (comme quoi quand on cherche sans espérer trouver, c'est bien à ce moment qu'on trouve la solution) :

      Sub CountNonBlanks()
      'Updateby20140310
      Dim rng As Range
      Dim WorkRng As Range
      Dim total As Long
      On Error Resume Next
      xTitleId = "KutoolsforExcel"
      Set WorkRng = Application.Selection
      Set WorkRng = Application.InputBox("Range", xTitleId, WorkRng.Address, Type:=8)
      For Each rng In WorkRng
          If Not IsEmpty(rng.Value) Then
              total = total + 1
          End If
      Next
      MsgBox "There are " & total & " not blank cells in this range."
      End Sub
      https://www.extendoffice.com/documents/excel/1559-excel-count-empty-or-nonblank-cells.html

      Mais la formule est bien plus simple à retenir pour réutiliser à l'avenir, merci beaucoup !
      0
    2. gbinforme Messages postés 14930 Date d'inscription   Statut Contributeur Dernière intervention   4 744
       
      Bonjour,

      Erreur de compilation:
      Instruction incorrecte à l'extérieur d'une procédure.

      Comme une formule est associée à une cellule, une instruction VBA doit être intégrée à une procédure, tu ne peux pas exécuter une ligne toute seule !
      0
  2. Arkana0 Messages postés 1980 Date d'inscription   Statut Modérateur Dernière intervention   183
     
    Bonjour, il y a la fonction NBVAL() qui fait ça.
    Equivalent en VBA : WorksheetFunction.CountA()
    0