XL 2010 CountA par ligne d'une plage

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

cathodique

XLDnaute Barbatruc
Bonjour,

En suivant une discussion, j'ai voulu compter le nombre de cellule avec CountA pour chaque ligne d'une plage.
je suis un peu perdu. Je ne trouve pas les bonnes syntaxes car les résultats retournés sont faux.
VB:
Sub NbCelNonVidePlage()
Dim plg As Range, dl As Long, NbCel As Long, i As Long
With ActiveSheet
Set plg = .Range("E3:T" & .UsedRange.SpecialCells(xlCellTypeLastCell).Row)
End With
Debug.Print plg.Rows.Count, plg.Columns.Count
NbCel = Application.WorksheetFunction.CountA(plg)
'Debug.Print NbCel

For i = 3 To plg.Rows.Count
Debug.Print "Ligne" & i, Application.CountA(plg(i))
Debug.Print "Ligne" & i, Application.CountA(plg.Range(Cells(i, 1), Cells(i, plg.Columns.Count + 4)))
Next i
End Sub
Merci par avance.
 

Pièces jointes

Bonjour cathodique,

Dans la boucle :
VB:
Debug.Print "Ligne" & i, Application.CountA(plg.Rows(i))
A+
Merci beaucoup Jean-Marie, mais le résultat est d'après moi erroné.
1676108307599.png

Sinon, il y a quelque chose qui m'échappe.
Bon week-end
 
Bonjour le fil, @cathodique

@cathodique
Si j'ai bien compris
VB:
Sub test_110223()
Dim PLG_Non_Vides As Range
Set PLG_Non_Vides = Range("A3").SpecialCells(xlCellTypeConstants, 3)
MsgBox PLG_Non_Vides.Address
MsgBox PLG_Non_Vides.Count & " cellules non vides dans la plage: " & [A3].CurrentRegion.Address(0, 0)
End Sub
Merci beaucoup. Mais ce n'est pas exactement ce que je recherche.
Le but est de prendre une partie des données d'une feuille dans une plage.
Ensuite, déterminer le nombre de cellules non vides pour chaque ligne de cette plage.

Bon week-end.
 
C'est moi qui permet d'avoir ce résultat et il est correct.
Pourrais-tu stp étayer ta réponse car là, je suis vraiment perdu.
CountA(vba) est bien NbVal(excel)?
En utilisant nbval sur la feuille, le résultat est correct. Par exemple pour la 1ere ligne de la plage( Ligne3)= 16 .
Or, avec vba ça me retour Ligne3=2 résultat incorrect.

Merci.

Edit: Ok, je viens de trouver mon erreur. elle est dans le for i=3
 
Dernière édition:
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
12
Affichages
989
Retour