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

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

Votre réponse

5 réponses

Meilleure réponse
Messages postés
7668
Date d'inscription
samedi 5 novembre 2005
Dernière intervention
22 août 2014
- 19 juil. 2007 à 21:27
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 ?

Merci jmfmarques 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 88 internautes ce mois-ci

Commenter la réponse de jmfmarques
Meilleure réponse
Messages postés
7668
Date d'inscription
samedi 5 novembre 2005
Dernière intervention
22 août 2014
- 19 juil. 2007 à 21:32
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)

Merci jmfmarques 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 88 internautes ce mois-ci

Commenter la réponse de jmfmarques
Messages postés
7401
Date d'inscription
mercredi 23 avril 2003
Dernière intervention
6 avril 2012
- 20 juil. 2007 à 08:04
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
Dernière intervention
23 février 2011
- 20 juil. 2007 à 09:51
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
Dernière intervention
2 juin 2010
- 20 juil. 2007 à 18:26
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

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.