Recherche de formules sous Excel 2007

Bonjour,

j'ai besoin de comprendre comment on peut (et si cela est possible) sélectionner et faire apparaitre à l'écran uniquement des colonnes ayant la même entête ?
Partant du principe que le tableau me sert pour analyser des marchés, que j'ai environ 700 clients et pour chaque client on retrouve 1500 lignes et 6 colonnes différentes dont : date de marché, prix proposé, quantités, A/R, prix concurrent, nom concurrent.

Je voudrais par exemple uniquement sélectionner voir les 700 colonnes de "prix concurrent".
Comment faire ?

merci pour votre aide.

4 réponses

  1. Contributeur
    Bonjour,

    Autre proposition.
    Sélectionner les titres de colonne. Ca peut être une sélection multiple, cellules séparées.
    Clic-droit sur la sélection filtre les colonnes.
    Un autre clic droit n'importe où les ré-affiche.
    La ligne de titre peut-être n'importe où.
    Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)
        Static masqueOn As Boolean
        Dim titre As String
        Dim c As Range, col As Long, dercol As Long
        If masqueOn Then
            Columns.Hidden = False
            masqueOn = False
        Else
            titre = ";"
            dercol = Cells(Target.Row, Columns.Count).End(xlToLeft).Column
            For Each c In Selection
                titre = titre & c.Value & ";"
            Next c
            For col = 1 To dercol
                Columns(col).Hidden = InStr(titre, Cells(Target.Row, col)) = 0
            Next col
            masqueOn = True
        End If
        Cancel = True
    End Sub

    https://www.cjoint.com/?DHBtKtb6sXc

    eric
    0
    1. Contributeur
      Bonjour.

      Sans macro, on peut faire un tri personnalisé, option "de la gauche vers la droite".

      Cordialement.
      0
      1. Merci beaucoup pour cette aide rapide, mais cela ne marche pas.

        j'ai pour résultat après avoir suivi les conseils de voir disparaitre mes colonnes A, B et C, et les 6 items par client s'affichent sur la même ligne ....

        De plus, comment faire pour revenir en arrière quand on a exécuté la macro ?

        merci d'avance,

        JVYG
        0
        1. Re,
          la macro marche bien (j'ai essayé) à condition que les entêtes soient bien en ligne 1 sinon il faut changer le n° de ligne dans la macro comme je l'avais indiqué dans la macro

          Normalement en appliquant une deuxième fois la macro toutes les colonnes masquées devraient se démasquer

          Sinon pour le faire manuellement sélectionner la première colonne visible en débordant un peu à gauche puis clic droit et Afficher

          Si tu peux poster un exemple de ton fichier allégé (quelques colonnes et quelques lignes suffiront) et anonymé sur cjoint.com et indiquer ici le lien fourni ce sera plus évident pour y adapter la macro

          Cdlmnt
          0
        2. re, via55

          A priori, tu es largement plus au point que moi (et de loin). Au risque de passer pour un abruti, comment puis-je te faire passer une partie de mon tableau ?

          Cdt
          0
        3. Tu vas sur le site de cjoint :
          https://www.cjoint.com/
          Tu télécharges ton fichier tu valides les options privé 21 jour et tu vas en bas de page Créer le lien; une fois le lien crée tu copie ce lien (en bleu) et tu viens le copier dans ton prochain message
          0
      2. Bonjour

        Possible avec une macro de faire masquer toutes les colonnes n'ayant pas prix concurrent sur la 1ere ligne

        Sub masquedemasque()
        Dim DernCol As Integer
        DernCol = Cells(1, Cells.Columns.Count).End(xlToLeft).Column
        For n = 1 To DernCol
        If Cells(1, n).Value <> "prix concurrent" Then ' 1 pour 1ere ligne, si les titres sont sur une autre ligne changer le 1 par le bon n° de ligne
        Columns(n).Select
        If Selection.EntireColumn.Hidden = True Then Selection.EntireColumn.Hidden = False Else Selection.EntireColumn.Hidden = True
        End If
        Next
        End Sub

        Marco à mettre dans le worksheet de la feuille concernée en procédant ainsi :
        ALT F11 pour ouvrir l'éditeur VBA
        Selectionner par double-clic la feuille concernée dans l'arborescence
        Copier la macro et la coller dans la page blanche
        Fermer l'éditeur
        La macro est accessible depuis la page voulue à partir de l'onglet Developpeur Macros

        L'appel à la macro masque les colonnes si elles sont visibles ou les démasque si elles ont cachées

        Cdlmnt
        0