Récupérer la plus grande valeur VBA

trustpol Messages postés 36 Statut Membre -  
 Utilisateur anonyme -
Bonjour à tous,

Je suis entrain de réaliser une base de données et dans la colonne A j'ai des animaux et en B leur poids
j'effectue des relevés toutes les semaines

et je voudrais créer dans une autre feuille une synthese en mettant le nom de l'animal et son poids le plus grand qui l'est eu et cela par une macro bien evidememt.

Le problème est que je n'arive pas a récupérer la valeur maximal de l'animal qui peu etre en plein milieu du tableau.

Pouvez vous m'aider?

Cordialement
Configuration: Windows 2003
Internet Explorer 7.0

3 réponses

  1. trustpol Messages postés 36 Statut Membre
     
    Personne n'a d'idée????

    car j'ai réelement besoin de cette macro...
    0
  2. blux Messages postés 2046 Date d'inscription   Statut Modérateur Dernière intervention   3 455
     
    Salut,

    pas besoin de macro, une simple formule suffit :

    =MAX(feuille1!B:B)

    en supposant que ta colonne B ne contiennet que des poids et pas d'autres données, sinon, il faut limiter avec B1:Bxx.
    0
    1. trustpol Messages postés 36 Statut Membre
       
      bonjour

      je croit que j'ai du mal expliqué mon besoin.

      en fait dans ma première feuille j'effectue les relevés tous les mois mais pour une vingtaine d'animaux
      ils sont sous cette forme

      animal I date I poids

      et donc je voudrai dans une deuxième feuiile faire les bilans de poids maxi de chaque animal

      donc ta formule ne correspond pas du tout

      Merci de ton aide

      Cordialement
      0
      1. blux Messages postés 2046 Date d'inscription   Statut Modérateur Dernière intervention   3 455 > trustpol Messages postés 36 Statut Membre
         
        Donc tous les animaux sont mélangés dans la même colonne ?

        Une macro ne suffira pas, il faudra passer par du VBA, à moins de réorganiser les données pour pouvoir utiliser la fonction DMAX...
        0
      2. trustpol Messages postés 36 Statut Membre > blux Messages postés 2046 Date d'inscription   Statut Modérateur Dernière intervention  
         
        oui tous les animaux sont mélangés.

        et les macros c'est du vba...

        tout mon logiciel est en vba dc aucun souci mais sa ne me donnne pas la solution...

        merci de ton aide
        0
      3. blux Messages postés 2046 Date d'inscription   Statut Modérateur Dernière intervention   3 455 > trustpol Messages postés 36 Statut Membre
         
        et les macros c'est du vba...
        Pas toujours...

        mais sa ne me donnne pas la solution...
        Ben voui, mais comme c'est le bordel, ça va pas être facile :

        - créer un tableau en VBA dans lequel on stockera une ligne par animal
        - parcourir la colonne A pour remplir ce tableau et en même temps, si l'animal existe déjà, mettre à jour le cas échéant son poids
        - ensuite appeler cette fonction pour chaque animal et extraire son poids pour le mettre à jour...
        0
  3. Utilisateur anonyme
     
    Bonjour,

    La structure que je t'ai proposé est fonctionnel pour ce genre de traitement,
    suffit de modifier les noms d'objets.

    Option Explicit
    '
    
    Type typVehicule
            Nom As String
            LaDate As Date
            Kilom As Double
    End Type
    '
    
    Dim LesVH() As typVehicule
    '
    
    Sub RechercheMaximum()
    
        Dim Boucle As Long, Limite As Long
        Dim Compteur As Long, UneDate As Date
        Dim Vehicule As String, Kilom As Long
        
        Limite = Range("A65536").End(xlUp).Row
        
        
        For Boucle = 1 To Limite
            ReDim Preserve LesVH(Boucle)
            Vehicule = Cells(Boucle, 1).Value
            UneDate = Cells(Boucle, 2).Value
            Kilom = Cells(Boucle, 3).Value
            For Compteur = 0 To (UBound(LesVH) - 1)
                If (Vehicule = LesVH(Compteur).Nom) Then
                    If (LesVH(Compteur).Kilom < Kilom) Then
                        LesVH(Compteur).Kilom = Kilom
                        LesVH(Compteur).LaDate = UneDate
                    End If
                Else
                    LesVH(Compteur).Nom = Vehicule
                    LesVH(Compteur).LaDate = UneDate
                    LesVH(Compteur).Kilom = Kilom
                End If
            Next Compteur
        Next Boucle
        
        Worksheets.Add
        ActiveSheet.Name = "Cumulatif"
        For Boucle = 1 To UBound(LesVH)
            Cells(Boucle, 1).Value = LesVH(Boucle - 1).Nom
            Cells(Boucle, 2).Value = LesVH(Boucle - 1).LaDate
            Cells(Boucle, 3).Value = LesVH(Boucle - 1).Kilom
        Next bouble
    
    End Sub
    '
    

    Lupin
    0