Voir le flux RSS

Pierre Fauconnier

Excel, VBA: Compter les lignes entièrement remplies d'un tableau structuré

Noter ce billet
par , 18/04/2020 à 18h15 (494 Affichages)
Salut.

Dans un précédent billet, je vous montrais comment compter les lignes d'un tableau structuré, en évitant le piège du tableau vide. J'évoquais la possibilité de devoir compter les lignes entièrement remplies du tableau structuré ou de la table de données. Ce besoin pourrait d'ailleurs survenir en Excel.

Pour résoudre ce cas, je ne vois pas d'autre solution que d'itérer sur les lignes de la table de données, et de comparer le nombre de cellules remplies par rapport au nombre de colonnes du tableau. A nouveau, passer par le ListObject va permettre de s'en tirer en trois lignes de code, ligne de déclaration exclue.

Code vba : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
Function Table_CountOfFullRows(TableName As String) As Long
  Dim lr As ListRow
 
  For Each lr In Range(TableName).ListObject.ListRows
    Table_CountOfFullRows = Table_CountOfFullRows - (Application.CountA(lr.Range) = lr.Range.Columns.Count)
  Next
End Function

Ok. Et en Excel? Eh bien, en Excel, je n'ai pas de solution en une seule formule. Si solution il y avait, elle passerait obligatoirement par une matricielle, sorte de formule qui boucle sur les lignes d'un tableau structuré, mais les fonctions d'Excel permettant de dénombrer ne permettent pas de solution formulée. Il faudra passer par l'utilisation de la fonction VBA.

Nom : 2020-04-18_181033.png
Affichages : 115
Taille : 43,4 Ko



En Excel, il y a bien une solution consistant en l'ajout d'une colonne à droite pour compter les valeurs remplies sur la ligne (or la colonne de comptage), mais cette formule pose problème en cas d'ajout ou de permutation de colonnes...

Nom : 2020-04-19_081834.png
Affichages : 95
Taille : 8,9 Ko

Nom : 2020-04-19_081947.png
Affichages : 96
Taille : 11,6 Ko



C'est là qu'on remarque certaines (petites) lacunes au niveau des tableaux structurés d'Excel. Cela dit, depuis que je les utilise, et ça commence à faire un paquet d'années, je n'ai jamais été bloqué par ces faiblesses...

Bon travail avec Excel

Envoyer le billet « Excel, VBA: Compter les lignes entièrement remplies d'un tableau structuré » dans le blog Viadeo Envoyer le billet « Excel, VBA: Compter les lignes entièrement remplies d'un tableau structuré » dans le blog Twitter Envoyer le billet « Excel, VBA: Compter les lignes entièrement remplies d'un tableau structuré » dans le blog Google Envoyer le billet « Excel, VBA: Compter les lignes entièrement remplies d'un tableau structuré » dans le blog Facebook Envoyer le billet « Excel, VBA: Compter les lignes entièrement remplies d'un tableau structuré » dans le blog Digg Envoyer le billet « Excel, VBA: Compter les lignes entièrement remplies d'un tableau structuré » dans le blog Delicious Envoyer le billet « Excel, VBA: Compter les lignes entièrement remplies d'un tableau structuré » dans le blog MySpace Envoyer le billet « Excel, VBA: Compter les lignes entièrement remplies d'un tableau structuré » dans le blog Yahoo

Mis à jour 22/04/2020 à 10h02 par Pierre Fauconnier

Catégories
VBA , Excel , MS Office , Trucs & Astuces , Snippet

Commentaires

  1. Avatar de User
    • |
    • permalink
    Sympa ce billet !

    Je ne connaissais pas la formule.

    Merci Pierre