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 :

compter nombre de lignes non vide [XL-2010]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2012
    Messages
    361
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2012
    Messages : 361
    Par défaut compter nombre de lignes non vide
    Bonjour,

    j'essaie de compter les lignes non vides dans la colonne A sachant qu'il y a parfois des cellules vides intercalées entre les cellules de données

    voici le code sur lequel je me suis basé mais le problème est que dès qu'il rencontre une cellule vide il arrête de compter.

    moi je voudrais qu'il me scanne toute la colonne A pour ensuite me définir le nombre exacte de cellule rempli de données.

    Merci beaucoup
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
          i = 0
     
          tot_noper = 0
     
          If Cells(i + 6, 2) <> "" Then
                Do While (Cells(i + 6, 2) <> "")
                  tot_noper = tot_noper + 1
                  i = i + 1
                Loop
          End If
     
          Cells(16, 4) = tot_noper
    j'ai donc essayé d'adapter avec le code suivant mais y'a un probleme
    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
    Sub calculnbcellule()
     
    Dim oper As Single
    Dim Plage As Range
    Dim a As Range
    Dim cel As Range
     
     
     
     
     Set Plage = .Range(.Cells(1, 1), .Cells(.Rows.Count, 1).End(xlUp))
     
     Set cel = Plage.Value
     
    I = 1
     
          oper = 0
     
          If Not cel(I, 1) Is Nothing Then
                  oper = oper + 1
                  I = I + 1
     
          End If
     
          Cells(11, 5) = oper
     
     
    End Sub
    merci beaucoup!
    Fichiers attachés Fichiers attachés

  2. #2
    Invité
    Invité(e)
    Par défaut Bonjour, regarde ça
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Sub test()
      Dim MyRange As Range
      Set MyRange = ActiveSheet.UsedRange
      Debug.Print LigneVide(MyRange.Columns(1))
      End Sub
     
     Function LigneVide(Plage As Range) As Long
     Dim L As Long
     For L = 1 To Plage.Rows.Count
        If Trim("" & Plage.Cells(L, 1)) = "" Then LigneVide = LigneVide + 1
     Next
     End Function

  3. #3
    Membre éclairé
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2012
    Messages
    361
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2012
    Messages : 361
    Par défaut
    Merci rdurupt,

    mais il y a un problème dans ce code car il ne considère pas toutes les cellules non vide dans la colonne A

    en voici la preuve : voir mon fichier joins svp

    merci !
    Fichiers attachés Fichiers attachés

  4. #4
    Invité
    Invité(e)
    Par défaut
    J'ai fat le contraire j'a compté le cellules vide
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Sub test()
      Dim MyRange As Range
      Set MyRange = ActiveSheet.UsedRange
      Debug.Print LigneVide(MyRange.Columns(1))
      End Sub
     Function LigneVide(Plage As Range) As Long
     Dim L As Long
     For L = 1 To Plage.Rows.Count
        If Trim("" & Plage.Cells(L, 1)) <> "" Then LigneVide = LigneVide + 1
     Next
     End Function
    Dernière modification par AlainTech ; 19/12/2013 à 22h29. Motif: Suppression de la citation inutile

  5. #5
    Membre éclairé
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2012
    Messages
    361
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2012
    Messages : 361
    Par défaut
    super merci !

    est il juste possible d'expliquer en francais ces ligne de code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Set MyRange = ActiveSheet.UsedRange
      Debug.Print LigneVide(MyRange.Columns(1))
    que signifie ici le usedrange et debug.print??

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If Trim("" & Plage.Cells(L, 1)) <> "" Then LigneVide = LigneVide + 1
    Trim signifie enlever les cellule vides ici? pouvez tranduire en francais cette ligne

    Thanks

  6. #6
    Invité
    Invité(e)
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    'affecter a Myrange la référence des cellules utilisées dans la feuille active.
    Set MyRange = ActiveSheet.UsedRange
    'écrire dans la fenêtre d’exécution le résultat de la fonction.
      Debug.Print LigneVide(MyRange.Columns(1))
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    'supprime les espaces et converti les cellule null a vide [""]
    If Trim("" & Plage.Cells(L, 1)) <> "" Then LigneVide = LigneVide + 1

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

Discussions similaires

  1. Compter pour chaque ligne le nombre de colonne non vide
    Par historic777 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 30/03/2013, 11h53
  2. [XL-2003] Compter le nombre de sous-lignes non vides entre deux colonnes
    Par Augustine1 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 27/07/2012, 14h40
  3. [XL-2003] Calculer le nombre de lignes non vide d'une colonne
    Par zangaloni dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 13/07/2011, 15h30
  4. [XL-2003] calcule le nombre de ligne non vide dans une colonne donnée
    Par aefmaaradji dans le forum Excel
    Réponses: 2
    Dernier message: 27/07/2010, 15h08
  5. Réponses: 2
    Dernier message: 15/11/2009, 16h03

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