Traitement de données VBA / Maximum

Bonjour à tous,

Je travaille sur un fichier qui comporte trois colonnes, colonne A "Nom", colonne B "quantité" et colonne C "prix".

J'aimerais pouvoir via une macro récupérer le nom en ligne A pour lequel le produit quantité * prix est le maximum et le stocker dans une variable pour ensuite remplir une base de données dans un autre fichier Excel.

Je joins ci-dessous un fichier exemple des données à traiter

5book1.xlsm (9.28 Ko)

Auriez-vous une solution pour m'aider ?

Merci beaucoup,

Hector

Bonjour et bienvenue,

Une proposition à étudier pour peu que la version d'Office 365 permet l'utilisation de Power Query (Récupérer et transformer).

Travailles tu sous Mac ?

Cdlt.

2book1.xlsm (23.19 Ko)

Bonjour,

solution par vba,

à tester,

Sub test()
Dim list(), i As Long, x As Long
lastRow = Cells(Rows.Count, 1).End(xlUp).Row
For i = 2 To lastRow
 x = x + 1
 ReDim Preserve list(x)
 list(x) = Range("B" & i) * Range("C" & i)
Next
t = Application.Max(list)
Debug.Print Application.Index(Range("A:A"), Application.Match(t, list, 0))
End Sub

re...

une autre possibilité avec une formule matriciel

à valider avec ctrl+maj+enter

=INDEX(A2:A21;EQUIV(MAX((B2:B21)*(C2:C21));((B2:B21)*(C2:C21));0))

Hello,

Merci pour vos réponses je vais essayer d'appliquer vos solutions.

Hector

Rechercher des sujets similaires à "traitement donnees vba maximum"