Afficher l'entete de colonne en fonction de la valeur MAX Le sujet est résolu

Y compris Power BI, Power Query et toute autre question en lien avec Excel
J
John89
Jeune membre
Jeune membre
Messages : 18
Inscrit le : 1 septembre 2017
Version d'Excel : 2010

Message par John89 » 24 septembre 2017, 17:42

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,
:D :D
exemple_excel_pratique.xlsx
(12.57 Kio) Téléchargé 25 fois
Avatar du membre
curulis57
Passionné d'Excel
Passionné d'Excel
Messages : 3'747
Appréciations reçues : 226
Inscrit le : 4 janvier 2016
Version d'Excel : 2016 FR / 2019 FR

Message par curulis57 » 24 septembre 2017, 18:08

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+
J
John89
Jeune membre
Jeune membre
Messages : 18
Inscrit le : 1 septembre 2017
Version d'Excel : 2010

Message par John89 » 24 septembre 2017, 18:21

Salut Curulis,

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

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
Avatar du membre
mbbp
Passionné d'Excel
Passionné d'Excel
Messages : 6'300
Appréciations reçues : 228
Inscrit le : 29 mars 2014
Version d'Excel : 2007 FR

Message par mbbp » 24 septembre 2017, 19:47

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-têtes de colonnes.png
En-têtes de colonnes.png (47.04 Kio) Vu 426 fois
Avatar du membre
curulis57
Passionné d'Excel
Passionné d'Excel
Messages : 3'747
Appréciations reçues : 226
Inscrit le : 4 janvier 2016
Version d'Excel : 2016 FR / 2019 FR

Message par curulis57 » 24 septembre 2017, 19:50

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
:D
A+
ZaraAndJohn.xlsm
(20.55 Kio) Téléchargé 21 fois
J
John89
Jeune membre
Jeune membre
Messages : 18
Inscrit le : 1 septembre 2017
Version d'Excel : 2010

Message par John89 » 24 septembre 2017, 20:47

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 :D :D
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. :D

John89
Avatar du membre
curulis57
Passionné d'Excel
Passionné d'Excel
Messages : 3'747
Appréciations reçues : 226
Inscrit le : 4 janvier 2016
Version d'Excel : 2016 FR / 2019 FR

Message par curulis57 » 25 septembre 2017, 11:53

Bonjour John, mbbp,
Bonjour le forum,

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

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!
:D
A+
ZaraAndJohn.xlsm
(30.65 Kio) Téléchargé 30 fois
J
John89
Jeune membre
Jeune membre
Messages : 18
Inscrit le : 1 septembre 2017
Version d'Excel : 2010

Message par John89 » 26 septembre 2017, 15:32

Bonjour curulis57,

Super travail, merci. Les deux versions marchent parfaitement. :D

Bonne journée,
John89
Répondre Sujet précédentSujet suivant
  • Sujets similaires
    Réponses
    Vues
    Dernier message