IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

[EXCEL 97]Comptage de lignes


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Inactif  
    Profil pro
    Inscrit en
    Février 2003
    Messages
    4 341
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2003
    Messages : 4 341
    Par défaut [EXCEL 97]Comptage de lignes
    Bonjour,

    y a t-il un moyen de connaitre le nombre de lignes "réelles" d'une plage (cette
    plage contenant du texte, ou n'importe quoi ) ?

    PS : Autre que de compter à la main, bien sûr

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour Kwasin,

    Je n'ai plus Office 97 depuis pas mal de temps donc je n'ai plus en mémoire la commande Excel 97 pour Vba qui permet de trouver la dernière ligne.

    Mais de toutes façons je n'utilise pratiquement jamais ce type de macro.
    Je préfère le système classique de programmation qui fonctionne aussi bien et aussi vite.

    Donc essayer si Access 97 accepte ce code (Outils puis Macro puis Visual Basic Editor puis Insérer puis Module. Ensuite vous cliquez sur Module1 et dans la fenêtre de droite vous collez ce code) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    Sub Compt_lignes()
    Dim mf1 As Object
    Dim pl, dl As Long
    Dim col As Byte
    Dim cont As Variant
     
     
    Set mf1 = Sheets("Feuil1")
    'variable contenant le N° de 1ère ligne à prendre en compte (modifiable) 
    pl = 1
    'variable qui contiendra le N° de dernière ligne à prendre en compte 
    '(ne pas modifier)
    dl = 0
    'variable contenant le N° de colonne  à prendre en compte (modifiable)
    col = 1
     
    Compteur:
    cont = mf1.Cells(pl, col)
    If IsEmpty(cont) Then
    dl = pl - 1
    MsgBox "Votre feuille contient " & dl & " lignes" & Chr(10) & Chr(13) _
                   & "Cliquez sur OK pour fermer l'application.", _
                vbOKOnly + vbInformation + vbApplicationModal, "Information"
    Exit Sub
    Else
    pl = pl + 1
    GoTo Compteur
    End If
     
    End Sub

  3. #3
    Inactif  
    Profil pro
    Inscrit en
    Février 2003
    Messages
    4 341
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2003
    Messages : 4 341
    Par défaut
    Merci pour ta réponse,
    mais j'aurais préféré ne pas passé par le VBA. Plutot par une formule dans une cellule (comme SOMME( ), par exemple..) Ca n'existe pas en Excel ?

  4. #4
    Invité
    Invité(e)
    Par défaut
    Re Kwasin,

    Si bien sûr c'est faisable avec une fonction Excel (cette formule dans la cellule qui vous convient et vous indiquez votre plage) :

    =LIGNES(A1:A16)

    Amicalement.

  5. #5
    Inactif  
    Profil pro
    Inscrit en
    Février 2003
    Messages
    4 341
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2003
    Messages : 4 341
    Par défaut
    Re-merci Jacques_Jean

    Hélas cette fonction ne compte que les lignes ayant des nombres !

    et en plus ne tient pas compte des fusions !

  6. #6
    Invité
    Invité(e)
    Par défaut
    Re Kwasin,

    Pour la 1ère affirmation, j'avoue que je ne comprends pas très bien. Dans mon exemple de plage, celle-ci était une plage vide, et le résultat donnait bien le nombre de lignes. Je peux y mettre des nombres, du texte et laisser des cellules vides, j'obtiens toujours le bon résultat.

    Par contre, en ce qui concerne les cellules fusionnées vous avez raison. Deux cellules sur deux lignes différentes et qui sont fusionnées ne changent rien aux nombre de lignes pour Excel.

    Mais si j'ai raison sur la 1ère partie (et pour Excel 2000 je suis sûr d'avoir raison) votre solution est ici que le contenu soit du texte ou des nombres mais à condition que vous n'ayez pas de cellules fusionnées vides :

    =LIGNES(A1:A16)-NB.VIDE(A1:A16)

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [VBA]comptage de lignes en fonction du contenu des cellules
    Par calimero91 dans le forum Macros et VBA Excel
    Réponses: 10
    Dernier message: 22/12/2005, 11h38
  2. [vbexcel]Comptage de ligne
    Par Mugette dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 05/12/2005, 17h22
  3. [VBA Excel] Ajouter, supprimer une ligne ou collone range
    Par loacast dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 22/11/2005, 15h53
  4. VBA EXCEL - Sélection d'une ligne suivant saisie
    Par brethomeau dans le forum Macros et VBA Excel
    Réponses: 48
    Dernier message: 15/11/2005, 17h41
  5. Export vers Excel et saut de ligne dans cellule
    Par sbeu dans le forum API, COM et SDKs
    Réponses: 4
    Dernier message: 16/08/2004, 15h53

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo