Recherche de formules sous Excel 2007

Fermé
JVYG
Messages postés
3
Date d'inscription
mercredi 27 août 2014
Statut
Membre
Dernière intervention
27 août 2014
- 27 août 2014 à 16:01
eriiic
Messages postés
24446
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
17 septembre 2022
- 27 août 2014 à 19:37
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

via55
Messages postés
13878
Date d'inscription
mercredi 16 janvier 2013
Statut
Membre
Dernière intervention
18 septembre 2022
2 490
27 août 2014 à 16:18
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
mercredi 27 août 2014
Statut
Membre
Dernière intervention
27 août 2014

27 août 2014 à 18:36
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
13878
Date d'inscription
mercredi 16 janvier 2013
Statut
Membre
Dernière intervention
18 septembre 2022
2 490
Modifié par via55 le 27/08/2014 à 18:50
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
mercredi 27 août 2014
Statut
Membre
Dernière intervention
27 août 2014

27 août 2014 à 19:20
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
13878
Date d'inscription
mercredi 16 janvier 2013
Statut
Membre
Dernière intervention
18 septembre 2022
2 490
27 août 2014 à 19:33
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
56660
Date d'inscription
lundi 13 août 2007
Statut
Contributeur
Dernière intervention
21 septembre 2022
17 188
27 août 2014 à 18:45
Bonjour.

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

Cordialement.
0
eriiic
Messages postés
24446
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
17 septembre 2022
7 124
27 août 2014 à 19:37
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