[Excel] Compter le nombre de lignes

Résolu
cs_Fraggy Messages postés 95 Date d'inscription lundi 9 juin 2003 Statut Membre Dernière intervention 2 juin 2010 - 19 juil. 2007 à 21:13
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
A voir également:

5 réponses

jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 27
19 juil. 2007 à 21:27
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 ?
3
jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 27
19 juil. 2007 à 21:32
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)
3
jrivet Messages postés 7392 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
20 juil. 2007 à 08:04
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
0
Molenn Messages postés 797 Date d'inscription mardi 7 juin 2005 Statut Membre Dernière intervention 23 février 2011 7
20 juil. 2007 à 09:51
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
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
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,

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.
0
Rejoignez-nous