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 :

calcul nombre de cellules pleines


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 2
    Par défaut calcul nombre de cellules pleines
    bonjour a tous,
    je souhaite calculer le nombre de cases remplies situées à droite d'une cellule définie. Voila le travail effectué:

    Code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Function compte_col(i As Integer, j As Integer, a As Worksheets) As Integer
    compte_col = 0
    Do While a.Cells(i, j) <> ""
    j= j + 1
    compte_col = compte_col + 1
    End Function
    C'est pourtant une fonction simple mais quand je l'utilise comme cela par exemple:

    Code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    MsgBox compte_col(2, 1, Worksheets("tache" ))

    j'ai une message d'erreur "incompatibilité de type"

    Voila si vous pouvez m'aider je vous en remercie!

  2. #2
    pgz
    pgz est déconnecté
    Expert confirmé Avatar de pgz
    Homme Profil pro
    Développeur Office VBA
    Inscrit en
    Août 2005
    Messages
    3 692
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 72
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Office VBA
    Secteur : Conseil

    Informations forums :
    Inscription : Août 2005
    Messages : 3 692
    Par défaut
    Bonsoir.

    Dans la fonction sans "s". L'objet pas la collection.

    Bon courage,

    PGZ

  3. #3
    Membre chevronné

    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    453
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 453
    Par défaut
    Quelque chose dans le genre :

    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
     
    Function CellulesRempliesADroite(ByRef Plage As Range) As Integer
        Dim rng As Range
        Dim rngUnion As Range
     
        On Error Resume Next
        Set rng = Plage.SpecialCells(xlCellTypeConstants)
        If Not Err.Number = 0 Then
            Err.Clear
        End If
        Set rngUnion = rng
        Set rng = Plage.SpecialCells(xlCellTypeFormulas)
        If Not Err.Number = 0 Then
            Err.Clear
        End If
        Set rngUnion = Union(rngUnion, rng)
        If Not rngUnion Is Nothing Then
            CellulesRempliesADroite = rngUnion.Cells.Count
        End If
        On Error GoTo 0
    End Function

  4. #4
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Par défaut
    Pour la dernière cellule renseignée à droite d'une cellule pleine, tu as pour toutes les versions
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
        DerniereColonne = Cells(NoLigne, Rows(NoLigne).Cells.Count).End(xlToLeft).Column
    Pour Version < 2007
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
        DerniereColonne = Range("IV1").End(xlToLeft).Column
    Il te reste une soustraction à faire...
    NoLigne doit être renseignée (!)
    Si c'est là ta question
    Bonne journée

  5. #5
    Membre chevronné

    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    453
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 453
    Par défaut
    Mais que se passe-t-il s'il y a des 'blancs' entre la dernière cellule renseignée et la cellule référence? Ils seront inclus dans le calcul, non?

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    40
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Gard (Languedoc Roussillon)

    Informations forums :
    Inscription : Novembre 2007
    Messages : 40
    Par défaut
    ouaip il cherche à obtenir le nb de cellules pleines
    En utilisant le code de ouskel'n'or j'ai pas trop compris (c'est Range("IV1") qui me bloque ) mais pour le principe :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Function compte_col(i As Integer, j As Integer, a As Excel.Worksheet) As Integer
     
    Dim z%
    compte_col = 0
     
    For z = j to DerniereColonne 
    'Je ne sais pas si DerniereColonne retourne le nombre entier de la Colonne,
    'Mais le principe est bon non ?
         If a.Cells(i, z) <> "" then compte_col = compte_col + 1
    Next z
     
    'Peut etre mettre un compte_col = compte_col - 1 car a.Cells(i, j) a été compté là je sais pas si tu veux l'inclure ou non
    End Function

Discussions similaires

  1. Calcul nombre cellules vides entre deux valeurs
    Par sigor16 dans le forum Macros et VBA Excel
    Réponses: 10
    Dernier message: 26/04/2013, 18h16
  2. [XL-2003] Calculer le nombre de cellules de couleur
    Par paquitta dans le forum Excel
    Réponses: 4
    Dernier message: 20/03/2012, 09h25
  3. [XL-2000] inserer un Nb de ligne en fonction d'un nombre de cellules pleines
    Par yoyo3d dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 06/05/2010, 15h18
  4. Calcul nombre de cellules coloriées
    Par acaly dans le forum Excel
    Réponses: 1
    Dernier message: 16/07/2008, 20h45
  5. Connaitre le nombre de cellules pleines
    Par arno21600 dans le forum IHM
    Réponses: 1
    Dernier message: 11/07/2008, 14h11

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