Recherche de formules sous Excel 2007

JVYG Messages postés 3 Date d'inscription   Statut Membre Dernière intervention   -  
eriiic Messages postés 24603 Date d'inscription   Statut Contributeur Dernière intervention   -
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.
A voir également:

4 réponses

via55 Messages postés 14512 Date d'inscription   Statut Membre Dernière intervention   2 746
 
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
JVYG Messages postés 3 Date d'inscription   Statut Membre Dernière intervention  
 
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
via55 Messages postés 14512 Date d'inscription   Statut Membre Dernière intervention   2 746
 
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
JVYG Messages postés 3 Date d'inscription   Statut Membre Dernière intervention  
 
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
via55 Messages postés 14512 Date d'inscription   Statut Membre Dernière intervention   2 746
 
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
Raymond PENTIER Messages postés 58990 Date d'inscription   Statut Contributeur Dernière intervention   17 355
 
Bonjour.

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

Cordialement.
0
eriiic Messages postés 24603 Date d'inscription   Statut Contributeur Dernière intervention   7 276
 
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