Compter nb ligne vide

Bonjour

je chercher a trouve un moyen de compter le nb de ligne vide sur une feuille

et inversement le nombre de ligne non vide sur une autre

NbLignes = Application.CountA(Sheets("Feuil1").Range("A:A"))

J'ai essayé ceci mais sa fonctionne pas

Quelqu'un aurait-il une idée?

Merci

Bonjour,

nombre de cellule vide d'une plage :

=NB.VIDE(plage)

Nombre de cellules non-vides d'une plage :

=NBVAL(plage)

Cordialement,

Edit : je suis bien entendu parti du principe (vu ton essai de formule et l'absence de fichier), que si une cellule de la ligne était vide (la cellule de la colonne "A" en l'occurrence), tout le reste de la ligne était vide et inversement pour les pleines.

Si sur chaque ligne, il faut vérifier les cellules de toutes les colonnes, les deux formules fournies ne suffiront pas en l'état.

Merci

c'est exactement sa qu'il me faut mais je n'arrive pas a le retranscrire en VBA

Sa serai pour l'intégrer à une macro que je suis en train de faire et j'aurai besoin savoir le nombre de ligne vide

Cordialement

Alors pour les lignes vides, en VBA, c'est CountBlanK :

NbLignes = Application.WorksheetFunction.CountBlank(Worksheets("Feuil1").Range("A:A"))

Cordialement.

A parfait c'est le blank qui me manquait

merci

De rien.

Par contre :

Merci !

Tu as l'air caller je bloc la

aa = Application.WorksheetFunction.CountBlank(Sheets("feuil1").Range("A2:A65536"))

bb = Application.WorksheetFunction.CountA(Sheets("feuil3").Range("A2:A65536"))

If aa > bb Then

Sheets(3).Range("A1:A65000").Copy Sheets("Feuil1").Range("A2")

Application.DisplayAlerts = False

Sheets(3).Delete

En gros j'ai sur ma feuille 1 des un certain nombre de ligne vide

sur ma feuille 3 j'ai une certain nombre de ligne plein

si aa> bb je veux copier les ligne pleine de la feuille 3 pour les copier a la suite dans la feuille 1 puis supprimer la feuille 3

je pense qu'il dois y avoir des xl up ou end quelque part mais je seche la

tu aurai une idée

NICOPOF a écrit :

Tu as l'air caller je bloc la

aa = Application.WorksheetFunction.CountBlank(Sheets("feuil1").Range("A2:A65536"))

bb = Application.WorksheetFunction.CountA(Sheets("feuil3").Range("A2:A65536"))

If aa > bb Then

Sheets(3).Range("A1:A65000").Copy Sheets("Feuil1").Range("A2")

Application.DisplayAlerts = False

Sheets(3).Delete

En gros j'ai sur ma feuille 1 des un certain nombre de ligne vide

sur ma feuille 3 j'ai une certain nombre de ligne plein

si aa> bb je veux copier les ligne pleine de la feuille 3 pour les copier a la suite dans la feuille 1 puis supprimer la feuille 3

je pense qu'il dois y avoir des xl up ou end quelque part mais je seche la

tu aurai une idée

Bonjour,

alors :

Sheets(3).Range("A1:A65000").Copy Sheets("Feuil1").Range("A2")

Alors ce n'est pas comme une copie en DOS, il faut faire la copie, sélectionner la plage de destination puis "coller" ce que l'on a copié (tu trouveras ton bonheur avec l'enregistreur de macro).

Ensuite oui, il y a une histoire de end(xlup), car la en gros, tu colles ta feuille 3 entière sur ta feuille 1 (du coup tu supprimes ce qui était déjà présent sur ta feuille 1).

Il faut aller repérer la dernier ligne pleine de ta feuille 1, et venir faire ton collage en dessous.

Idem pour ce que tu copies, il faut que tu ne sélectionnes que la plage contenant des informations dans ta feuille 3.

Pour trouver la dernière ligne non-vide d'une plage :

Worksheets("Feuil3").Cells(Rows.Count, 1).End(xlUp).Row

rows.count est mieux que de dire "65536" car suivant la version d'Excel, le nombre de ligne d'un onglet change (65536 c'était jusqu'à la version 2007).

Le "1" correspond à la colonne a tester (en gros celle ayant le plus de chance de toujours avoir un renseignement à l'intérieur).

Cordialement,

Rechercher des sujets similaires à "compter ligne vide"