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

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

Répondre au sujet
jmfmarques 7668 Messages postés samedi 5 novembre 2005Date d'inscription 22 août 2014 Dernière intervention - 19 juil. 2007 à 21:27
+3
Utile
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 ?
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de jmfmarques
jmfmarques 7668 Messages postés samedi 5 novembre 2005Date d'inscription 22 août 2014 Dernière intervention - 19 juil. 2007 à 21:32
+3
Utile
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)
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de jmfmarques
jrivet 7401 Messages postés mercredi 23 avril 2003Date d'inscription 6 avril 2012 Dernière intervention - 20 juil. 2007 à 08:04
0
Utile
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
Molenn 797 Messages postés mardi 7 juin 2005Date d'inscription 23 février 2011 Dernière intervention - 20 juil. 2007 à 09:51
0
Utile
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
cs_Fraggy 95 Messages postés lundi 9 juin 2003Date d'inscription 2 juin 2010 Dernière intervention - 20 juil. 2007 à 18:26
0
Utile
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

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.