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 :

Tableau: trouver la colonne qui a le plus de valeur [XL-2003]


Sujet :

Macros et VBA Excel

  1. #1
    Membre du Club
    Inscrit en
    Mars 2010
    Messages
    71
    Détails du profil
    Informations forums :
    Inscription : Mars 2010
    Messages : 71
    Points : 41
    Points
    41
    Par défaut Tableau: trouver la colonne qui a le plus de valeur
    Bonjour à tous les developpez,

    J'ai un tableau à 4 colonnes et j'aimerais compter le nombre de lignes de chacune des colonne afin de retenir le nombre uniquement de la plus grande colonne.

    Mon problème est que je n'arrive pas à compter les lignes d'une collone.

    j'utilise la propriété ".count"

    d'avance merci

  2. #2
    Membre du Club
    Inscrit en
    Mars 2010
    Messages
    71
    Détails du profil
    Informations forums :
    Inscription : Mars 2010
    Messages : 71
    Points : 41
    Points
    41
    Par défaut
    J'ai trouvé une solution,

    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
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    Dim a As Range
    Dim b As String, c As String, d As String
    Dim r As Long, q As Long, result0 As Long, resulti As Long, resultretenu As Long
     
        If Ttb_ChoixFil = "" Then
            MsgBox "Veuillir saisir une filière de traitement à ajouter à la base de données!"
        Else
            With Sheets("listes")
                Set a = .Range("choixmode").Find(Ltb_ModeTraitement.Value, LookIn:=xlValues, lookat:=xlWhole)
                If Not a Is Nothing Then
                    b = a.End(xlToLeft).Address
                    q = a.Row
                    r = a.End(xlDown).Row
                    result0 = r - q
                    'Boucle pour vérifier le nombre de ligne par colonne afin d'insérer une ligne que lorsque que cela est nécessaire
                    For i = 1 To 3
                        q = .Range(b).Offset(0, i).Row
                        r = .Range(b).Offset(0, i).End(xlDown).Row
                        resulti = r - q
                        If resulti < result0 Then
                            resultretenu = result0
                        Else
                            resultretenu = resulti
                        End If
                    Next i
                    'Permet d'insérer la nouvelle filière
                    If result0 < resultretenu Then
                        c = .Range(a.End(xlDown).Address).Offset(1, 0).Address
                        .Range(c).Value = Ttb_ChoixFil.Value
                        MsgBox "If1"
                    'Permet d'insérer la nouvelle filière dans une nouvelle ligne
                    Else
                        c = .Range(a.End(xlDown).Address).Offset(1, 0).Address
                        d = .Range(c).Row
                        .Rows(d).Insert
                        .Range(c).Value = Ttb_ChoixFil.Value
                    End If
                End If
                Set a = Nothing
            End With
        End If
    End Sub
    Il y avait surement plus, simple en déclarant un tableau mais je na sais pas faire...

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

Discussions similaires

  1. [XL-2013] Une macro pour cacher une colonne qui ne fonctionne plus
    Par DavidCsame dans le forum Macros et VBA Excel
    Réponses: 15
    Dernier message: 02/03/2015, 14h17
  2. [XL-2007] Trouver la colonne dans laquelle se trouve une valeur donnée
    Par Accessifiante dans le forum Excel
    Réponses: 7
    Dernier message: 04/10/2014, 08h45
  3. Réponses: 2
    Dernier message: 22/07/2012, 11h44
  4. Réponses: 13
    Dernier message: 02/11/2011, 08h47
  5. Réponses: 4
    Dernier message: 30/12/2007, 14h35

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