Tableau VBA : Connaître valeur max

Bonjour à tous,

J'ai réalisé ce matin un code qui enregistre une série de nom dans un tableau créé dans VBA puis, va chercher ces noms dans une base de données et enregistre le numéro situé 1 colonnes après.

Pour être un peu plus claire :

J'ai, imaginons, cette liste dans ma 1ère BDD :

Fleur

Patate

Curry

Puis, dans une seconde base de données :

Fleur : 40

Eau : 60

Patate : 70

Post-it : 90

Curry : 80

Sous VBA, j'ai créé un tableau à deux dimensions qui récupère les éléments de la 1ère BDD et va chercher les numéros associés.

Donc sous VBA j'ai :

Dim tabfourniture(2,1) as String

Et je me retrouve bien avec mon tableau "virtuel" suivant

Tabfourniture (0,0) = fleur

Tabfourniture (1,0)=Patate

Tabfourniture(2,0)=Curry

Tabfourniture(0,1)=40

Tabfourniture(1,1)=70

Tabfourniture(2,1)=80

Jusqu'ici, tout va bien.

Maintenant, j'aimerais que excel m'inscrive dans une cellule la valeur maximale de la deuxième colonne de mon tableau et ça, je ne sais pas comment faire.

En gros je voudrais un truc comme ceci :

A1 = Curry

B1 = 80

A2 = Patate

B2 = 70

A3 = Fleur

B3 = 40

J'espère être assez claire... Merci d'avance pour votre aide !

Bonne journée !

Bonjour,

Si le résultat souhaité est d'avoir les données dans l'ordre décroissant du nombre associé:

 Quick Tabfourniture, LBound(Tabfourniture), UBound(Tabfourniture), 1, False
 Range("E1").Resize(UBound(Tabfourniture, 1) + 1, UBound(Tabfourniture, 2) + 1) = Tabfourniture

et la sub de tri:

Sub Quick(a(), gauc, droi, col, ordre) ' Quick sort
'http://boisgontierjacques.free.fr/pages_site/tableaux.htm
  ref = a((gauc + droi) \ 2, col)
  g = gauc: d = droi
  Do
    If ordre Then
      Do While a(g, col) < ref: g = g + 1: Loop
      Do While ref < a(d, col): d = d - 1: Loop
    Else
      Do While a(g, col) > ref: g = g + 1: Loop
      Do While ref > a(d, col): d = d - 1: Loop
    End If
    If g <= d Then
      For i = LBound(a, 2) To UBound(a, 2)
        temp = a(g, i): a(g, i) = a(d, i): a(d, i) = temp
      Next i
      g = g + 1: d = d - 1
    End If
  Loop While g <= d
  If g < droi Then Call Quick(a, g, droi, col, ordre)
  If gauc < d Then Call Quick(a, gauc, d, col, ordre)
End Sub

A+

Top c'est parfait ! J'ai plus qu'à l'adapter pour un tableau à 3 dimensions !

Merci beaucoup !

à 3 dimensions ? ou à 3 colonnes ? (deux dimensions)

3 colonnes, au temps pour moi

Je n'ai rien eu à changer en fait, tout était ok !

Merci encore pour ton aide, il va bien me servir ce bout de code

A+ !

Rechercher des sujets similaires à "tableau vba connaitre valeur max"