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 :

VBA Par comparaison (Trouver le + haut et le plus petit)


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Futur Membre du Club
    Femme Profil pro
    Ressources humaines
    Inscrit en
    Février 2015
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 37
    Localisation : Canada

    Informations professionnelles :
    Activité : Ressources humaines

    Informations forums :
    Inscription : Février 2015
    Messages : 4
    Par défaut VBA Par comparaison (Trouver le + haut et le plus petit)
    Bonjour!
    J'essaie de trouver un code puisque je dois trouver le montant le plus haut et le montant le plus petit d'une liste de montant dans une colonne excel.
    Le montant plus grand et le montant plus petit doit s'écrire dans une autre feuille excel!
    Je suis débutante dans le domaine alors j'ai besoin d'aide svp!
    Merci beaucoup de votre aide!

  2. #2
    Membre chevronné
    Homme Profil pro
    retraité enseignement
    Inscrit en
    Mars 2013
    Messages
    213
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Saône (Franche Comté)

    Informations professionnelles :
    Activité : retraité enseignement
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2013
    Messages : 213
    Par défaut
    bonsoir,

    il existe des fonctions dans excel qui répondent sans le VBA :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    =GRANDE.VALEUR(C2:C21;1)
    =PETITE.VALEUR(C2:C21;1)
    voir ce code :grand.xlsx

    A vous

    geogeo70

  3. #3
    Futur Membre du Club
    Femme Profil pro
    Ressources humaines
    Inscrit en
    Février 2015
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 37
    Localisation : Canada

    Informations professionnelles :
    Activité : Ressources humaines

    Informations forums :
    Inscription : Février 2015
    Messages : 4
    Par défaut
    Bonjour!
    Merci pour votre réponse! Mais pour mon travail je dois vraiment inscrire les code VBA et non excel!
    Pouvez vous m'aider!?
    Merci

  4. #4
    Expert éminent
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Par défaut



    Bonjour, bonjour !

    Affecter alors la formule proposée dans la propriété FormulaLocal d'une cellule (voir l'exemple dans l'aide) …

    __________________________________________________________________________________________________

    Merci de cliquer sur pour chaque message ayant aidé puis sur pour clore cette discussion …

    __________________________________________________________________________________________________
    Tous unis, tous Charlie

  5. #5
    Expert confirmé Avatar de casefayere
    Homme Profil pro
    RETRAITE
    Inscrit en
    Décembre 2006
    Messages
    5 138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : RETRAITE
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 138
    Par défaut
    Bonsoir,
    Il faut s'aider de l'enregistreur de macro, si, je reprends l'exemple de geogeo70, t'aurai donné, entre autres, pour la grande valeur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ActiveCell.FormulaR1C1 = "=LARGE(R[-8]C[-1]:R[11]C[-1],1)"
    que je traduis, à adapter
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Dim toto As Long
    toto = WorksheetFunction.Large(Range("C2:C21"), 1)'c'est ça qu'il faut voir "WorksheetFunction.Large"
        MsgBox toto
    End Sub
    edit : sans avoir vu ta réponse, Marc, que je salue
    Cordialement,
    Dom
    _____________________________________________
    Vous êtes nouveau ? pour baliser votre code, cliquer sur cet exemple : Anomaly
    pensez à cliquer sur :resolu: si votre problème l'est
    Par contre, il est désagréable de voir une discussion résolue sans message final du demandeur (satisfaction, désarroi, remerciement, conclusion...)

  6. #6
    Futur Membre du Club
    Femme Profil pro
    Ressources humaines
    Inscrit en
    Février 2015
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 37
    Localisation : Canada

    Informations professionnelles :
    Activité : Ressources humaines

    Informations forums :
    Inscription : Février 2015
    Messages : 4
    Par défaut
    Travail VBA Point3..xlsm

    C'est à partir de Sub Large que ça ne fonctionne 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
    Sub moyenne()
     
    'Déclaration des variables'
     
    Dim somme, compteur, moyenne As Double
     
    'Initialisation des variable'
     
    somme = 0
     
    compteur = 2
     
    'Boucle qui additionne les données'
     
    For compteur = 2 To 61
     
        somme = somme + Sheets("Travail VBA").Cells(compteur, 2).Value
     
    Next
     
    'Division par nombre de données'
     
    moyenne = somme / 60
     
    'Inscrire ma réponse sur la feuille Stats
     
    Cells(1, 2).Value = moyenne
     
    Cells(1, 2).Style = "currency"
     
     
    End Sub
     
    Sub somme()
     
     
    'Déclaration des variables'
     
    Dim somme, compteur As Double
     
    'Initialisation des variable'
     
    somme = 0
     
    compteur = 2
     
    'Boucle qui additionne les données'
     
    For compteur = 2 To 61
     
        somme = somme + Sheets("Travail VBA").Cells(compteur, 2).Value
     
     
    Next
     
    'Inscrire ma réponse sur la feuille Stats
     
    Cells(2, 2).Value = somme
     
    Cells(2, 2).Style = "currency"
     
     
    End Sub
     
    Sub large()
     
    Dim toto As Long
    toto = WorksheetFunction.large(Range("B2:B61"), 1)
        MsgBox toto
     
    'Inscrire ma réponse sur la feuille stats'
     
     
    Cells(3, 2).Value = plusgrand
    Cells(3, 2).Style = "currency"
     
     
    End Sub

  7. #7
    Membre chevronné
    Homme Profil pro
    retraité enseignement
    Inscrit en
    Mars 2013
    Messages
    213
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Saône (Franche Comté)

    Informations professionnelles :
    Activité : retraité enseignement
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2013
    Messages : 213
    Par défaut

    C'est à partir de Sub Large que ça ne fonctionne pas...
    bonsoir,

    Avant de faire du travail en VBA, il vaut mieux bien maîtriser les fonctions d'excel. Mais si c'est pour s'exercer sur la programmation, les exemples proposés me semblent pas les plus intéressants. Je vous ai corrigé la "procédure" :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    Sub large()
     
     
    With Worksheets("stat")
        .Cells(4, 2) = WorksheetFunction.Small(Range("Travail VBA!B2:B61", 1))
        .Cells(3, 2) = WorksheetFunction.large(Range("Travail VBA!B2:B61", 1))
    End With
    End Sub
    Mais ça n'a pas d'intéret puisque c'est écrire la fonction dans la cellule de calcul. Si vous voulez faire vraiment la recherche en vba, il faudrait faire comme vous avez fait pour la somme mais au lieu de somme=somme + "valeur courante" faire un test du genre :
    if "valeur courante">somme then somme="valeur courante"

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    Sub large()
    Dim i As Integer
    Dim somme As Double
     
    With Worksheets("Travail VBA")
        somme = 0
        For i = 2 To 62
            If .Cells(i, 2) > somme Then somme = .Cells(i, 2)
        Next i
        Worksheets("stat").Cells(3, 2) = somme
    End With
    End Sub
    Je vous joins un fichier en utilisant seulement les fonctions d'excel et en faisant un graphique des stats (droite de régression) : Travail VBA proposition.xlsm

  8. #8
    Futur Membre du Club
    Femme Profil pro
    Ressources humaines
    Inscrit en
    Février 2015
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 37
    Localisation : Canada

    Informations professionnelles :
    Activité : Ressources humaines

    Informations forums :
    Inscription : Février 2015
    Messages : 4
    Par défaut
    WOW !!!!
    Merci énormément geogeo70!
    C'est exactement ce qu'il me fallait !

Discussions similaires

  1. [XL-2003] Calcul par comparaison en VBA
    Par didou038 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 12/06/2011, 12h11
  2. [VBA]excel comparaison de chaine de caractere
    Par ogenki dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 30/01/2006, 15h32
  3. Réponses: 5
    Dernier message: 06/01/2006, 18h13
  4. Ouverture d'un fichier Excel en VBA par Access
    Par illight dans le forum Access
    Réponses: 2
    Dernier message: 02/11/2005, 11h14
  5. Réponses: 4
    Dernier message: 13/10/2005, 14h44

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