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 ligne tableau


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Octobre 2008
    Messages
    203
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 203
    Par défaut compter ligne tableau
    Bonjour , imaginer un tableau de 1 colonne qui commence à L5C3 et qui finit à L10C3. Dans chaque cellule du tableau il y a des nombres ( ou autre peu importe ) .
    Je veux écrire une fonction qui me renvoie le numéro de la dernière ligne du tableau , donc dans notre cas c'est la longueur du tableau ( ici 5 ) + le nombre de la 1ère ligne ( 5 ) , ce qui nous fait 10 .

    L'algorithme est le suivant : si la cellule n'est pas vide on ajoute 1 , sinon on renvoie 5. En apparence très simple je m'acharne à le programmer sans succès :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Function ligne() As Integer
    Function ligne() As Integer
    Dim num As Integer, i As Integer, plage As Range
    Set plage = Range(Cells(5, 3), Cells(15, 3))
    num = 0
        For i = 1 To 30 ' nombre supérieur à 10 peu importe lequel
            Do While (Not IsEmpty(plage.Cells(i, 1).Value))
                num = num + 1
            Loop
        Next i
        ligne = num + 5
    End Function
    End Function
    Et cette fonction ne marche pas , excel me renvoie une erreur de type valeur .

    Quelqu'un a t'il une idée pour programmer cette petite fonction ?

    merci

  2. #2
    Expert confirmé
    Avatar de Qwazerty
    Homme Profil pro
    La très haute tension :D
    Inscrit en
    Avril 2002
    Messages
    4 128
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France

    Informations professionnelles :
    Activité : La très haute tension :D
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2002
    Messages : 4 128
    Par défaut
    Salut
    Inutile de reinventer la roue
    Utilise les formules existantent, dans ton cas
    a++
    qwaz

    MagicQwaz := Harry Potter la baguette en moins
    Le monde dans lequel on vit
    Ma page perso DVP
    Dernier et Seul Tutoriel : VBA & Internet Explorer
    Dernière contribution : Lien Tableau Structuré et UserForm
    L'utilisation de l’éditeur de message

  3. #3
    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
    Je cru comprendre que tu voulais une fonction pour obtenir le numéro de la dernière ligne de ton tableau

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Function sc1(arg As Range)
    sc1 = arg.Cells(arg.Count).Row
    End Function
    arg représente ton tableau

  4. #4
    Expert confirmé
    Avatar de Qwazerty
    Homme Profil pro
    La très haute tension :D
    Inscrit en
    Avril 2002
    Messages
    4 128
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France

    Informations professionnelles :
    Activité : La très haute tension :D
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2002
    Messages : 4 128
    Par défaut
    Re
    Oupss désolé j'avais mal lu ce que tu souhaité faire, il n'en reste pas moins que ceci est réalisable par formule, je vais etre a la bourre mais je regardes ca se soir, si personne ne répond avant bien sur.
    Function utiles
    Decaler()
    Nb.si()

    Ps: pourtant la boucle dans ton code il m'a semblé que ... je regarde plus tard
    a++
    qwaz

    MagicQwaz := Harry Potter la baguette en moins
    Le monde dans lequel on vit
    Ma page perso DVP
    Dernier et Seul Tutoriel : VBA & Internet Explorer
    Dernière contribution : Lien Tableau Structuré et UserForm
    L'utilisation de l’éditeur de message

  5. #5
    Membre confirmé
    Inscrit en
    Octobre 2008
    Messages
    203
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 203
    Par défaut
    Salut pierre , juste une question : j'aimerais tester ta fonction dans une cellule excel en tapant =sc1(...)

    Mais la plage entre parenthèse je la note comment ?

    pierre ta réponse ne convient pas car ça suppose qu'on connait à l'avance le nombre de lignes du tableau or ce n'est pas le cas dans mon exercice

    Je vais préciser ma question car je l'avais mal lu . Dans une feuille excel on a un tableau de 1 colonne et d'un certain nombre de ligne . Ce tableau se trouve n'importe ou sur la feuille excel ça n'a pas d'importance .
    La question est : écrire une fonction qui renvoie le numéro de la dernière ligne significative ( cellule contenant une valeur ) de la feuille de calcul active .

  6. #6
    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
    pour utiliser la fonction sc1 dans une feuille de calculs :

    dans une cellule quelconque tu tape =sc1(
    tu sélectionnes ensuite avec la souris une plage de cellules
    puis tu valides par enter

    tu obtiens le numéro de la dernière ligne et ce sans connaitre la longeur du tableau à l'avance.

    Pour le reste de ta question, plus tard

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

Discussions similaires

  1. Surbrillance ligne tableau
    Par claralavraie dans le forum Balisage (X)HTML et validation W3C
    Réponses: 8
    Dernier message: 19/05/2006, 17h13
  2. [VBA-E] Supression ligne tableau croisé dynamique
    Par julien5 dans le forum Macros et VBA Excel
    Réponses: 9
    Dernier message: 19/05/2006, 15h13
  3. [Vb] Nombre de lignes tableau Excel
    Par Little-Freud dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 20/04/2006, 14h53
  4. Faire apparaitre/disparaitre lignes tableau -Comment Faire ?
    Par mathieu7497 dans le forum Général Conception Web
    Réponses: 9
    Dernier message: 31/03/2006, 23h39
  5. [Tableaux] débutant : supprimer ligne tableau
    Par samplaid dans le forum Langage
    Réponses: 2
    Dernier message: 27/03/2006, 10h39

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