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 :

Range("A1") CurrentRegion.Rows Count


Sujet :

Macros et VBA Excel

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    156
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : Tunisie

    Informations forums :
    Inscription : Septembre 2007
    Messages : 156
    Par défaut Range("A1") CurrentRegion.Rows Count
    bonjour
    je débute sur les macros d'excel et le VBA..
    je vous demande une question à propos de la fonction :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    m=Range("A1").CurrentRegion.Rows.Count
    sachant que A1 est la première cellule de mon tableau, je veux que m me rend le nombre de lignes de ce tableau.
    le problème c'est que j'ai essayé avec un tableau de 5000 lignes mais ça ne me renvoie que 2000 lignes.
    Merci d'avance.

  2. #2
    Membre Expert
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Avril 2008
    Messages
    875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2008
    Messages : 875
    Par défaut
    le décompte s'arrête à la première ligne complètement vide

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    156
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : Tunisie

    Informations forums :
    Inscription : Septembre 2007
    Messages : 156
    Par défaut
    merci c'est clair, sauf que pour éliminer ces ligne vide, je dois parcourir le tableau de bas en haut, pour ce là j'ai besoin de savoir le nombre de ligne total.
    avez vous une idée svp
    Merci

  4. #4
    Membre Expert
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Avril 2008
    Messages
    875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2008
    Messages : 875
    Par défaut
    est ce que ceci vire les lignes vides?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    with Activesheet.UsedRange
         .Sort key:=.Range("A1"), header:=xlGuess
    end with
    à adapter bien sûr si on ne travaille pas sur la feuille active
    mais attention ça va trier toutes le données de la feuille. Used range est la zone de la feuille utilisée

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    156
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : Tunisie

    Informations forums :
    Inscription : Septembre 2007
    Messages : 156
    Par défaut
    Non pas encore;
    j'ai l'erreur d'exécution 1004
    :s

  6. #6
    Membre Expert
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Avril 2008
    Messages
    875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2008
    Messages : 875
    Par défaut
    pardon c'était ça


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    with Activesheet.UsedRange
         .Sort key1:=.Range("A1"), header:=xlGuess
    end with

  7. #7
    Expert éminent Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Cells(Rows.Count, 1).End(xlUp).Row
    dernière cellule remplie de la colonne 1
    sinon pour suprimer les lignes correspondant aux cellules vides de la colonne A
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Dim LastLig As Long
     
    Application.ScreenUpdating = False
    With Sheets("Feuil1")
        .AutoFilterMode = False
        LastLig = .Cells(Rows.Count, 1).End(xlUp).Row + 1
        .Range("A1:A" & LastLig).AutoFilter field:=1, Criteria1:="="
        .Range("A2:A" & LastLig).SpecialCells(xlCellTypeVisible).EntireRow.Delete
        .AutoFilterMode = False
    End With

  8. #8
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    156
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : Tunisie

    Informations forums :
    Inscription : Septembre 2007
    Messages : 156
    Par défaut
    Citation Envoyé par Benjîle Voir le message
    pardon c'était ça


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    with Activesheet.UsedRange
         .Sort key1:=.Range("A1"), header:=xlGuess
    end with
    ça ne supprime que la première ligne vide rncontrée du tableau.
    des lignes qui viennent après ne sont pas supprimées

  9. #9
    Membre Expert
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Avril 2008
    Messages
    875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2008
    Messages : 875
    Par défaut
    pourrais tu nous déposer une capture d'écran, s'il te plaît?
    c la technique que j'utilise pour virer les lignes vides

  10. #10
    Membre chevronné
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    389
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 389
    Par défaut
    Bonsoir,

    Il me semble que la question initiale était de connaitre le nombre de lignes du tableau

    sachant que A1 est la première cellule de mon tableau, je veux que m me rend le nombre de lignes de ce tableau
    Il faut faire la différence entre CurrentRegion et UsedrRange

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Sub SC1()
    MsgBox Range("A1").CurrentRegion.Rows.cout
    End Sub
     
    Sub sc2()
    MsgBox ActiveSheet.UsedRange.Rows.Count
    End Sub
    Si des lignes vides existent dans le tableau on n'aura pas le même résultat.

    Ce serait bien que Sanach précise son souhait

  11. #11
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    156
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : Tunisie

    Informations forums :
    Inscription : Septembre 2007
    Messages : 156
    Par défaut
    oui effectivement, je veux avoir le nombre de ligne d'un tableau, pour pouvoir le parcourir et en extraire des données, le problème c'est que mon tableau n'est pas bien mis en forme, on rencontre parfois des lignes vides, de telle sorte que le parcours s'arrête à la rencontre de la première ligne vide, parce que le nombre de ligne renvoyé au début et que j'utilise comme paramètre de fin de compteur lors du parcours n'est pas le nombre total, c'est le nombre jusqu'à la première ligne vide qu'il rencontre.
    donc comme solution, je dois avant toute opération, virer les lignes vides de mon tableau.
    j'espère que c'est mieux expliqué maintenant.
    Merci pour vos messages

  12. #12
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    156
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : Tunisie

    Informations forums :
    Inscription : Septembre 2007
    Messages : 156
    Par défaut
    Merci c'est bon avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ActiveSheet.UsedRange.Rows.Count
    Merci beaucoup

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

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