Améliorer macro compte ligne vide

Bonjour ,

je souhaiterai améliorer deux points de ma macro qui compte les lignes vide :

1- Nbr = Application.WorksheetFunction.CountBlank(Sheets("Feuil1").Range("F2:F1479")) dans cette partie du code remplacer F1479 par dernier ligne parce que a chaque fois que je rajoute des lignes je suis obligé de modifier .

2- dans le msgbox afficher le nombre de ligne vide par mois critère mois se trouve dans la colonne A

12testv1.xlsm (45.29 Ko)

Merci d'avance pour votre aide si précieuse

Hello,

Tu veux absolument dans msgbox ou un tableau recap dans une feuille excel ne te derange pas ?

R@g

Bonjour

Pour connaitre le total de vos lignes, vous pouvez tester ce code

Sub NBRcellsop()
Dim Nbr As Long

With Sheets("Feuil1")
    Nbr = .Range("A" & .Rows.Count).End(xlUp).Row
    MsgBox "la colonne prin contient " & Nbr & " lignes."
End With
End Sub

Cordialement

Edit : Je viens de voir le mot PRIN dans l'instruction MSGBOX, d'où ma question --> c'est le nombre de ligne en colonne A que vous voulez ou la colonne B ?

Hello,

Tu veux absolument dans msgbox ou un tableau recap dans une feuille excel ne te derange pas ?

R@g

tableau recap dans une feuille très bonne idée

Bonjour

Pour connaitre le total de vos lignes, vous pouvez tester ce code

Sub NBRcellsop()
Dim Nbr As Long

With Sheets("Feuil1")
    Nbr = .Range("A" & .Rows.Count).End(xlUp).Row
    MsgBox "la colonne prin contient " & Nbr & " lignes."
End With
End Sub

Cordialement

Edit : Je viens de voir le mot PRIN dans l'instruction MSGBOX, d'où ma question --> c'est le nombre de ligne en colonne A que vous voulez ou la colonne B ?

bonjour

merci beaucoup pour votre réactivité le comptage est sur la colonne F

Hello,

Voila ce que je peux en dire.

R@g

20testv1.xlsm (55.11 Ko)

J'ai consideré que la colonne "HONO" était la G, si c'est la D remplace "G" par "D" en haut du code.

R@g

merci beaucoup pour votre réactivité le comptage est sur la colonne F

Ok mais sur base de votre code, ce sont les lignes vides que vous voulez savoir. Le code revu :

Sub NBRcellsop()

Dim Nbr As Integer
Dim dlg As Long

With Sheets("Feuil1")
    dlg = .Range("A" & .Rows.Count).End(xlUp).Row
    Nbr = Application.WorksheetFunction.CountBlank(.Range("F2:F" & dlg))
    MsgBox "la colonne prin contient " & Nbr & " lignes vides."
End With
End Sub

Voyez ce que vous proposes Rag02700, mais je pense qu'avec une formule vous pourriez obtenir le même résultat

Cordialement

Edit : par formule dans le fichier de Rag02700, en faisant ceci :
- dans le menu excel --> allez dans formule --> gestionnaire de noms
- cliquez sur Nouveau et créez le nom PLMois
- Dans "fait référence à" --> Mettez cette formule --> =DECALER(Feuil1!$A$2;;;NBVAL(Feuil1!$A:$A)-1)
- Dans N3, mettez cette formule --> =NB.SI.ENS(PLMois;$M3;DECALER(PLMois;;5;);"")
-
Tirez ensuite la formule vers le bas jusque N14

Vous avez ainsi deux propositions

Cordialement

Hello,

Voila ce que je peux en dire.

R@g

Merci beaucoup magnifique

mais je pense que le nombre afficher après le calcul est faut j'ai vérifier quelque le mois affiche est faux

exemple Octobre = 29 op , et 24 pour hono ais dans la récap il affiche juillet

juil.-4229juil.-4224

Edit Dan : fichier supprimé dans la citation

merci beaucoup pour votre réactivité le comptage est sur la colonne F

Ok mais sur base de votre code, ce sont les lignes vides que vous voulez savoir. Le code revu :

Sub NBRcellsop()

Dim Nbr As Integer
Dim dlg As Long

With Sheets("Feuil1")
    dlg = .Range("A" & .Rows.Count).End(xlUp).Row
    Nbr = Application.WorksheetFunction.CountBlank(.Range("F2:F" & dlg))
    MsgBox "la colonne prin contient " & Nbr & " lignes vides."
End With
End Sub

Voyez ce que vous proposes Rag02700, mais je pense qu'avec une formule vous pourriez obtenir le même résultat

Cordialement

Edit : par formule dans le fichier de Rag02700, en faisant ceci :
- dans le menu excel --> allez dans formule --> gestionnaire de noms
- cliquez sur Nouveau et créez le nom PLMois
- Dans "fait référence à" --> Mettez cette formule --> =DECALER(Feuil1!$A$2;;;NBVAL(Feuil1!$A:$A)-1)
- Dans N3, mettez cette formule --> =NB.SI.ENS(PLMois;$M3;DECALER(PLMois;;5;);"")
-
Tirez ensuite la formule vers le bas jusque N14

Vous avez ainsi deux propositions

Cordialement

parfait

Merci beaucoup je viens de tester

Ok.

Lors de vos réponses, pourriez vous éviter de reposter les fichiers qui vous sont joints aux réponses. C'est inutile d'alourdir le forum inutilement et cela n'aide pas à la lecture.

Merci de votre compréhension et participation

Si vous pouvez reprendre votre post --> https://forum.excel-pratique.com/excel/ameliorer-macro-compte-ligne-vide-151185#p933186 et supprimer le fichier ce serait parfait.

Cordialement

Hello,

mais je pense que le nombre afficher après le calcul est faut j'ai vérifier quelque le mois affiche est faux

exemple Octobre = 29 op , et 24 pour hono ais dans la récap il affiche juillet

juil.-42 29 juil.-42 24

Je ne sais pas comment tu te debrouilles pour avoir ces resultats mais en tout cas voila le resultat :

OPHONO
Moisnb videMoisnb vide
janv.-200janv.-200
févr.-2069févr.-2069
mars-2041mars-2041
avr.-2019avr.-2019
mai-2063mai-2061
juin-2075juin-2074
juil.-2073juil.-2071
août-2072août-2069
sept.-20102sept.-20101
oct.-2029oct.-2024
nov.-200nov.-202

Bonjour ,

Pourtant j'exécute la macro directement et il m'affiche le mois comme dans l'example.mais si je fait format /date , l'affichage dévient normal

Bonjour,

Merci pour votre aide

et comment faire pour compter les lignes non vide

et comment faire pour compter les lignes non vide

Vous modifiez la formule en N3 comme ceci --> =NB.SI.ENS(PLmois;$M3;DECALER(PLmois;;5;);"<>""")

Cordialement

Bonjour ,

je viens de la tester elle me ramené que les lignes vide , moi je veux compter les lignes différent de zéro

Bonjour toutes et tous

@Abdernimo

sans aucune certitude à tester ci-joint, voir les fils de Dan, Rag etc.

' par Oyobrans sur ce forum
' https://forum.excel-pratique.com/excel/compter-les-ligne-differentes-de-zero-en-vba-78877

Public Sub comptage()
    Dim compteur, derligne As Integer
    Dim cellule As Range
    derligne = Worksheets("Feuil1").Range("A" & Rows.Count).End(xlUp).Row
    For Each cellule In Worksheets("Feuil1").Range("F2:F" & derligne)
        If cellule <> 0 Then
            compteur = compteur + 1
        End If
    Next
MsgBox "la colonne prin contient " & compteur & " chiffre(s) zéro(s)."
  '  MsgBox compteur
End Sub

EDIT: voir la formule de Dan merci à lui

crdlt,

André

je viens de la tester elle me ramené que les lignes vide , moi je veux compter les lignes différent de zéro

J'ai répondu à votre demande --> et comment faire pour compter les lignes non vide (https://forum.excel-pratique.com/s/goto/933272)

Pour les lignes différentes de 0 je vous donné la formule dans un post précédent. Exemple pour janvier, toutes les lignes sont remplies. Donc la formule vous donne 0 et février vous donne 69.

Bonjour , @+ Dan
J'ai tester la formule elle m'affiche zéro malgré qu'il y a des nombre différent zéro
Merci beaucoup

J'ai tester la formule elle m'affiche zéro malgré qu'il y a des nombre différent zéro

Dans votre fichier --> Pour quel mois ?

Rechercher des sujets similaires à "ameliorer macro compte ligne vide"