Afficher l'entete de colonne en fonction de la valeur MAX

Bonjour à tous,

Je souhaite vous soumettre une nouvelle demande sur ce super forum. Je souhaiterais récupérer l’entête d'une colonne en fonction d'une valeur max d'une ligne, puis la copier dans un autre onglet.

Jusqu'à présent j'ai vu des questions similaires sur le forum. Cependant, la mienne diffère un peu.

En effet, j'aimerais que cette analyse puisse ce faire sur mon tableau même lorsque j'ajoute de nouvelles lignes. J'aimerais donc que la formule s'adapte automatiquement au nombre de lignes du tableau.

Merci par avance de votre aide,

Salut John,

petites questions :

  • quand tu parles de lignes supplémentaires, cela concerne-t-il des articles différents ou divers articles peuvent-ils se retrouver dans plusieurs lignes?
  • le résultat doit-il être calculé automatiquement pour chaque marque à chaque ajout ou cela est-il fait à la demande par l'opérateur?
  • ta feuille 'Données' peut-elle être triée elle-même ou est-elle intouchable?

A+

Salut Curulis,

Merci d'avoir pris le temps de lire mon post.

Pour répondre à ta première question:

-Les lignes supplémentaires concernent systématiquement des articles différents.

La seconde question:

-L'idéal serait de faire une solution automatique. Mais si cela n'est pas possible, je suis preneur d'une exécution par l’opérateur en fonction du besoin.

La troisième question:

La feuille "données" ne peux être triée.

Merci encore de ton aide,

John89

Bonjour le forum,

John89 a écrit :

Les lignes supplémentaires concernent systématiquement des articles différents.

B2 :

=INDEX(données!$C$1:$F$1;EQUIV(MAX(SI(données!$B$2:$B$100=A2;données!$C2:$F2));données!$C2:$F2;0))

Remarque : A2 : =données!B2

en tetes de colonnes

Bonsoir John,

voici déjà une solution à la demande de l'opérateur : il suffit de cliquer sur n'importe quelle cellule représentant la marque à scanner.

Je vais travailler maintenant à une version permettant les deux modes opératoires.

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
'
Dim tData, tExtract()
'
If Target.Count > 1 Then Exit Sub
Application.ScreenUpdating = False
'
iRow = Range("A" & Rows.Count).End(xlUp).Row
If Not Intersect(Target, Range("A2:A" & iRow)) Is Nothing Then
    sData = Target
    tData = Range("A1:F" & iRow).Value
    For x = 2 To UBound(tData)
        If tData(x, 1) = sData Then
            iFlag = 0
            iIdx = iIdx + 1
            ReDim Preserve tExtract(3, iIdx)
            If iIdx = 1 Then tExtract(0, iIdx - 1) = sData
            tExtract(1, iIdx - 1) = tData(x, 2)
            For y = 3 To 6
                If tData(x, y) > iFlag Then
                    iFlag = tData(x, y)
                    iCol = y
                End If
            Next
            tExtract(2, iIdx - 1) = tData(1, iCol)
        End If
    Next
    With Worksheets("Synthèse")
        iRow = .Range("B" & Rows.Count).End(xlUp).Row
        .Range("A2:C" & iRow).ClearContents
        .Range("A2").Resize(iIdx, 3) = WorksheetFunction.Transpose(tExtract)
        .Activate
    End With
End If
Application.ScreenUpdating = True
'
End Sub

A+

38zaraandjohn.xlsm (20.55 Ko)
curulis57 a écrit :

Bonsoir John,

voici déjà une solution à la demande de l'opérateur : il suffit de cliquer sur n'importe quelle cellule représentant la marque à scanner.

Curulis,

Cette solution est parfaite. M.E.R.C.I

Je te remercie également pour ta réactivité!


Bonsoir mbbp,

=INDEX(données!$C$1:$F$1;EQUIV(MAX(SI(données!$B$2:$B$100=A2;données!$C2:$F2));données!$C2:$F2;0))

Je te remercie également pour cette solution.

John89

Bonjour John, mbbp,

Bonjour le forum,

@mbbp : pas sûr que je sois jamais capable de tricoter des formules pareilles!

Nouvelle version qui combine plusieurs possibilités... à tester, bien sur!

Dans 'DONNEES'

  • tu peux créer une nouvelle marque soit en tapant info par info soit en collant directement une (ou plusieurs) ligne(s) complète(s) ;
  • un changement ne sera enregistré que si la ligne d'infos est complète ;
  • la sélection d'une marque pour consultation se fait par un clic sur l'intitulé de cette marque en colonne [A].

Dans 'SYNTHESE'

Trois types de tableaux :

  • à gauche, le tableau de consultation ;
  • en [E], la liste triée des différentes marques répertoriées (je n'ai pas prévu qu'elles puissent être éliminées!) ;
En cliquant en [E], tu consultes à la volée.

- à partir de [G], les synthèses triées de chaque marque, endroit d'enregistrement de tout changement.

Bon travail!

A+

49zaraandjohn.xlsm (30.65 Ko)

Bonjour curulis57,

Super travail, merci. Les deux versions marchent parfaitement.

Bonne journée,

John89

Rechercher des sujets similaires à "afficher entete colonne fonction valeur max"