[Excel] Compter le nombre de lignes [Résolu]

Messages postés
95
Date d'inscription
lundi 9 juin 2003
Statut
Membre
Dernière intervention
2 juin 2010
- - Dernière réponse : cs_Fraggy
Messages postés
95
Date d'inscription
lundi 9 juin 2003
Statut
Membre
Dernière intervention
2 juin 2010
- 20 juil. 2007 à 18:26
Bonjour à tous,

Je ne suis pas sur de poster dans la bonne rubrique, donc si jamais c'est pas le cas, je suis désolé.

Tout est dans le titre. Je cherche tout simplement à pouvoir compter le nombre de ligne occupée dans un fichier excel. (En testant par exemple que la ligne A1, A2, A3 etc ... ne soit pas vide)

Je sais déjà comment ouvrir mon fichier, et tout ca, mais je ne trouve pas de méthode pour compter le nombre de ligne. Oui vous l'aurez deviné, je ne suis pas un champion avec Excel :-)

D'avance merci pour vos réponses.

    'Mettre ici une fonction qui va compter le nombre de ligne déjà présente
    'dans le fichier et stocker l'info dans la var$ "i", avant d'écrire dans le fichier.

    With oXls.Worksheets(sSheets)
                .Cells(i, 7).Value = txtPrinterInfos(0).Text    'Printer name
                .Cells(i, 2).Value = txtPrinterInfos(1).Text    'Type
                .Cells(i, 5).Value = txtPrinterInfos(2).Text    'Location
                .Cells(i, 1).Value = txtPrinterInfos(3).Text    'CINumber
                .Cells(i, 3).Value = txtPrinterInfos(4).Text    'Serial
                .Cells(i, 4).Value = txtPrinterInfos(5).Text    'IP
                iNbItems = iNbItems + 1
    End With
Afficher la suite 

5 réponses

Meilleure réponse
Messages postés
7668
Date d'inscription
samedi 5 novembre 2005
Statut
Membre
Dernière intervention
22 août 2014
18
3
Merci
Bonsoir,

Pour ce qui est de ta question, ça devrait ressembler à :

ActiveSheet.UsedRange.Rows.Count

Ou presque.

Pour ce qui est de la section adéquate, ça devrait ressembler à :
Langages dérivés / VBA
Tu ne crois pas ?

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 206 internautes nous ont dit merci ce mois-ci

Commenter la réponse de jmfmarques
Messages postés
7668
Date d'inscription
samedi 5 novembre 2005
Statut
Membre
Dernière intervention
22 août 2014
18
3
Merci
Je me dis après réflexion que tu cherches peut-être autre chose que la dernière ligne d'un "range".

S'il s'agit de la recherche de la dernière ligne d'une feuille, essaye alors :

Cells.SpecialCells(xlCellTypeLastCell).Row

Peut-être ...(je n'ai pas VBA)

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 206 internautes nous ont dit merci ce mois-ci

Commenter la réponse de jmfmarques
Messages postés
7401
Date d'inscription
mercredi 23 avril 2003
Statut
Membre
Dernière intervention
6 avril 2012
45
0
Merci
Salut,

Je rejoints [auteurdetail.aspx?ID= 615490 jmfmarques], pour ce que tu essaies de faire [auteurdetail.aspx?ID=117725 Fraggy] .
Même si celle de [auteurdetail.aspx?ID =615490 jmfmarques], fonctionne très bien voici une autre manière.

Range("A1").End(xlDown).Row

@+: Ju£i?n
Pensez: Réponse acceptée
Commenter la réponse de jrivet
Messages postés
797
Date d'inscription
mardi 7 juin 2005
Statut
Membre
Dernière intervention
23 février 2011
4
0
Merci
Toute petite remarque, ce que dit jrivet est vrai à condition qu'aucunes cellules ne soit vides dans tes les lignes.
S'il y a possibilité qu'une cellule soit vide à l'intérieur de ton tableau, faut faire dans l'autre sens. Partir de la dernière cellule et remonter :

Range("A65536").End(xlUp).Row

Molenn
Commenter la réponse de Molenn
Messages postés
95
Date d'inscription
lundi 9 juin 2003
Statut
Membre
Dernière intervention
2 juin 2010
0
Merci
Bonjour,

Merci pour vos réponses.

J'ai accepté 2 réponses car :
iNbItems = ActiveSheet.UsedRange.Rows.Count -> Fonctionne

iNbItems = Cells.SpecialCells(xlCellTypeLastCell).Row -> Fonctionne aussi

iNbItems = Range("A1").End(xlDown).Row Et
iNbItems = Range("A65536").End(xlUp).Row

me donne tout deux, une erreur "1004"

Pour ce qui est de la section, je ne suis pas plus avancé car je dévellope sous Visual Basic 6. De toute manière un admin, peut aisément déplacer ce sujet si il juge que je ne suis pas dans la bonne section.

Encore un grand merci à tous pour vos réponses.
Commenter la réponse de cs_Fraggy