J'ai une feuille de calcul Excel avec plusieurs colonnes de différentes longueurs, chacune remplie de nombres non sortingés. Chaque colonne comporte un en-tête.
Existe-t-il un moyen de déterminer quelle (s) colonne (s) contiennent ce nombre?
Par exemple, j'aimerais pouvoir faire = WHICHCOLS (123, A, Z) et Excel m'a dit que les colonnes [B, C et K] contiennent des cellules d'une valeur de 123. Bien que, idéalement, je suis après une list séparée par des virgules des en-têtes.
Tout aussi adéquat serait de find toutes les cellules, dans une gamme (ou des gammes), qui ont cette valeur; par exemple [B19, C32 et K908].
J'ai l'printing d'avoir une fonction embeddede évidente.
Il pourrait y avoir une façon embeddede de faire cela, mais vous pouvez également écrire votre propre fonction.
Mettez ce code dans un Module
VBA:
Public Function WHICHCOLS(searchValue As Double, srcRange As Range) As Ssortingng Dim rangeColumn As Range Dim columnCell As Range Dim headerRow As Long headerRow = 1 ' HeaderInformation is in RowNr 1 ' WHICHCOLS = vbNullSsortingng For Each rangeColumn In srcRange.Columns For Each columnCell In rangeColumn.Cells If columnCell = searchValue Then If WHICHCOLS <> vbNullSsortingng Then WHICHCOLS = WHICHCOLS & ", " WHICHCOLS = WHICHCOLS & srcRange.Parent.Cells(headerRow, columnCell.Column) Exit For End If Next columnCell Next rangeColumn End Function
Un exemple d'appel dans Excel serait:
=WHICHCOLS(7,A2:F3)