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 :

MIN et MAX et VBA ou macro


Sujet :

Macros et VBA Excel

  1. #1
    Membre averti
    Inscrit en
    Janvier 2007
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 11
    Par défaut MIN et MAX et VBA ou macro
    Bonjour,
    Je débute en BVA et macro Excel...
    J'ai un fichier .txt que j'importe via une macro dans un classeur excel.
    Pour l'instant tout est bon.
    Mon tableau importé ressemble à celui-ci
    10 78 47
    10 78 47
    10 76 47
    10 78 48
    10 78 49
    10 78 49
    10 75 49
    11 78 48
    11 78 51
    11 78 48
    11 75 49
    11 78 49
    11 78 50
    11 74 50
    J'aimerai avoir (afficher) les MIN et MAX des deux dernières colonnes, en sachant qu'elles font partie d'un groupe, qui est le chiffre de la première colonne.
    Si quelqu'un a une idée ou une piste...
    Merci d'avance

  2. #2
    Expert confirmé
    Avatar de Didier Gonard
    Homme Profil pro
    Formateur Office et développeur VBA en freelance
    Inscrit en
    Février 2008
    Messages
    2 805
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Formateur Office et développeur VBA en freelance

    Informations forums :
    Inscription : Février 2008
    Messages : 2 805
    Par défaut
    Bonjour,

    voir du côté des méthodes WorksheetFunction. Max et . Min ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    ?WorksheetFunction.Max(range("A1:A20"))
    cordialement,

    Didier

  3. #3
    Membre averti
    Inscrit en
    Janvier 2007
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 11
    Par défaut
    Bonjour Ormonth et merci de ta réponse,
    J'avais bien pensé aux fonctions Max et Min, mon problème se trouve sur l'automatisation du processus.
    ex: donner le mini de la dernière colonne pour toute les lignes qui on pour première colonne le chiffre 10 ainsi de suite...
    Merci

  4. #4
    Expert confirmé
    Avatar de Didier Gonard
    Homme Profil pro
    Formateur Office et développeur VBA en freelance
    Inscrit en
    Février 2008
    Messages
    2 805
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Formateur Office et développeur VBA en freelance

    Informations forums :
    Inscription : Février 2008
    Messages : 2 805
    Par défaut
    .
    ....d'où l'intérêt d"expliciter sa question dès le départ

    .

  5. #5
    Membre averti
    Inscrit en
    Janvier 2007
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 11
    Par défaut
    Citation Envoyé par Ormonth Voir le message
    .
    ....d'où l'intérêt d"expliciter sa question dès le départ

    .
    Tu as raison... mais cela ne me fait pas avancer pour autant

  6. #6
    Expert confirmé
    Homme Profil pro
    Inscrit en
    Août 2010
    Messages
    3 453
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 3 453
    Par défaut
    Bonjour,

    Est-ce ceci que tu veux ? Adapte le chemin du fichier texte et teste dans un classeur vierge. Reviens si ça ne convient pas :
    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
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
     
    Sub MaxiMini()
     
        Dim Dico As Object
        Dim Cle As Variant
        Dim TblRecup()
        Dim TblMaxMin()
        Dim TblSplit
        Dim I As Integer
        Dim J As Integer
     
        'adapter le chemin et nom du fichier texte
        Open "Mon Fichier Texte.txt" For Input As #1
     
        Do While Not EOF(1)
     
            I = I + 1
            ReDim Preserve TblRecup(1 To I)
     
            'récupère la ligne entière dans le tableau
            Line Input #1, TblRecup(I)
     
        Loop
     
        Close #1
     
        'utilise un dictonnaire pour avoir la des valeurs uniques
        'de la 1 ère colonne
        Set Dico = CreateObject("Scripting.Dictionary")
     
        For I = 1 To UBound(TblRecup)
     
            'splite la ligne
            TblSplit = Split(TblRecup(I), " ")
     
            'si la valeur de la 1 ère colonne n'existe pas
            'l'inscrit dans le dico et récupère les valeurs
            'à comparer dans les 4 autres "cellules" du tableau
            If Dico.exists(TblSplit(0)) = False Then
     
                Dico.Add TblSplit(0), TblSplit(0)
                J = J + 1
                ReDim Preserve TblMaxMin(1 To 5, 1 To J)
                TblMaxMin(1, J) = TblSplit(0)
                TblMaxMin(2, J) = TblSplit(1)
                TblMaxMin(3, J) = TblSplit(1)
                TblMaxMin(4, J) = TblSplit(2)
                TblMaxMin(5, J) = TblSplit(2)
     
            Else
     
                'comme la valeur de la 1 ère colonne existe
                'effectue une comparaison pour récupérer les
                'valeurs mini et maxi de chaque colonne
                If TblSplit(1) > TblMaxMin(2, J) Then
                    TblMaxMin(2, J) = TblSplit(1)
                End If
     
                If TblSplit(1) <= TblMaxMin(3, J) Then
                    TblMaxMin(3, J) = TblSplit(1)
                End If
     
                If TblSplit(2) > TblMaxMin(4, J) Then
                    TblMaxMin(4, J) = TblSplit(2)
                End If
     
                If TblSplit(2) <= TblMaxMin(5, J) Then
                    TblMaxMin(5, J) = TblSplit(2)
                End If
     
     
            End If
     
        Next I
     
        'récup des résultats dans la feuille active
        'à partir de A1
        [A1] = "Col 1"
        [B1] = "Max Col 2"
        [C1] = "Min Col 2"
        [D1] = "Max Col 3"
        [E1] = "Min Col 3"
     
        For I = 1 To UBound(TblMaxMin, 2)
     
            Range("A" & I + 1) = TblMaxMin(1, I)
            Range("B" & I + 1) = TblMaxMin(2, I)
            Range("C" & I + 1) = TblMaxMin(3, I)
            Range("D" & I + 1) = TblMaxMin(4, I)
            Range("E" & I + 1) = TblMaxMin(5, I)
     
        Next I
     
    End Sub
    Hervé.

  7. #7
    Membre averti
    Inscrit en
    Janvier 2007
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 11
    Par défaut
    Bonjour Theze,
    Merci beaucoup de ton aide c'est tout à fait ce que je cherchais.
    Cdlt

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

Discussions similaires

  1. [AC-2007] VBA trouver des valeurs comprises entre valeurs min et max
    Par botaenviro dans le forum IHM
    Réponses: 2
    Dernier message: 14/11/2013, 04h47
  2. [VBA] Excel + macro + aléatoire
    Par spopo dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 02/01/2006, 15h42
  3. min et max
    Par sorinexp dans le forum Access
    Réponses: 6
    Dernier message: 28/11/2005, 19h37
  4. [VBA-E] macro conversion excel vers csv
    Par baboune dans le forum Macros et VBA Excel
    Réponses: 9
    Dernier message: 15/07/2004, 09h23
  5. [VBA-E] Macro ouverture fichier déja ouvert
    Par bhaal76 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 18/12/2002, 14h30

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